[ROM][SNAPSHOT][7.1.2] AOSP Nougat for Xperia SP

Search This thread


Sep 21, 2015
sir, i would to downgrade from aosp p to nougat, should i do a clean flash? i want to keep my data if it possible.
i've installed oreo before and upgraded to pie, but i feel oreo more smooth and responsive, and now i want to try nougat.
has anyone tried which is best performance between these?
  • Like
Reactions: rbertoche

Top Liked Posts

  • There are no posts matching your filters.
  • 110

    #include <std_disclaimer.h>
     * Your warranty is now void.
     * I am not responsible for bricked devices, dead SD cards,
     * thermonuclear war, or you getting fired because the alarm app failed. Please
     * do some research if you have any concerns about features included in this ROM
     * before flashing it! YOU are choosing to make these modifications, and if
     * you point the finger at me for messing up your device, I will laugh at you.

    Downloads Links
    AOSP 7.x Nougat (Unlocked Bootloader) :
    Xperia SP (Huashan) - 7.1.2 : https://mega.nz/#F!LtNjDKBQ!YdZPyZghv07Tp2J8EgxcfQ

    Google Applications (optional) :
    OpenGapps : http://opengapps.org/ (Use packages for ARM, Android 7.x, Micro or Pico)
    Information : Flash the GApps before the first boot. If not, a clean flash is recommended.

    Recommended Recovery (optional) :
    TWRP 3.0 : http://forum.xda-developers.com/xpe...t/recovery-twrp-3-0-0-touch-recovery-t3309938

    Informations and references :
    Kernel CVEs : Security patches status https://cve.lineageos.org/android_kernel_sony_msm8960t
    About AOSP : Repositories available on https://android.googlesource.com/

    Flashing and updating
    AOSP clean install :
    - (Optional) Flash the boot.img kernel from the ROM zip with Fastboot or Flashtool
    - (Optional) Wipe the data & cache (Backup to make sure not to lose data)
    - Flash the AOSP ROM zip from the Recovery
    - (Optional) Flash the GApps to have the Google Applications
    - (Optional) Every additional zip you want to flash
    - Reboot

    AOSP update / upgrade :
    - (Information) Don't wipe anything unless you want to
    - Flash the latest AOSP ROM zip from the Recovery
    - (Optional) Flash the GApps if you want to, otherwise preserved.
    - (Optional) Every additional zip you want to flash
    - Reboot

    About the builds

    Issues and reports
    - Report issues only if you use the ROM kernel
    - If an additional mod is installed, make sure it's unrelated, and mention it
    - Make sure the issue wasn't discussed earlier in the threads
    - Share a log of the error with CatLog for example

    Q&A - FAQ
    Q : Is root access included into AOSP ?
    A : No but you can now root with my Boot Bridge and a superuser tool.

    Q : Is the ROM suited for daily usage ?
    A : Yes completely. OpenGApps recommended.

    Q : I see errors during the installation, is it normal ?
    A : If it is E:unknown command [log] , ignore it for now

    Q : Where can I change the Quick Tiles and Status Bar ?
    A : Long press the Settings icon in the notifications drawer.
    > You will have access to the SystemUI Tuner from Marshmallow.

    Q : The AOSP Keyboard does not support swipe gestures ?
    A : Unfortunately the sources for swipe gestures are not available
    and Google still requires their prebuilt library to be there for AOSP Keyboard.
    Download the following libjni_latinimegoogle.so API 23 from OpenGApps
    and push it to /system/lib/libjni_latinimegoogle.so using root access,
    or use my one-time install zips : https://mega.nz/#F!ThEAkCRa!byhSwuoTbf6lnC1JxgKrig.​

    AOSP available for Huashan also thanks to :
    - Google AOSP
    - The LineageOS Team
    - CodeAurora Forums
    - The CyanogenMod Team​

    XDA:DevDB Information
    AOSP Nougat 7.1.2, ROM for the Sony Xperia SP

    Adrian DC
    Source Code: https://android.googlesource.com/

    ROM OS Version: 7.x Nougat
    ROM Kernel: Linux 3.4.x
    Based On: AOSP

    Version Information
    Status: Snapshot

    Created 2016-08-27
    Last Updated 2020-08-15

    - Boot : Ok
    - GApps : OpenGApps Micro Ok
    - Partitions (Data, Cache) : Ext4 supported
    - Dual Recovery : Ok (see below)
    - WiFi : Ok (real SONY MAC address)
    - Bluetooth : Ok (real SONY MAC address)
    - WiFi Hotspot : Ok (2.4GHz and 5GHz)
    - RIL - Phone - Data : Ok
    - GPS : Ok
    - Camera : Ok
    - Camcorder : Ok
    - Lights : Ok, regular AOSP lights support
    - MicroSD : Ok, only Ext4 support missing from AOSP
    - Accelerometer : Ok
    - Compass : Ok
    - Gyroscope : Ok
    - AOSP sensors : Ok
    - FM Radio : Ok
    - Vibrator : Ok
    - Microphone : Ok
    - Audio & external audio : Ok
    - Bluetooth audio : Ok
    - NFC : Ok
    - Kernel : Ok
    - Graphics : Ok
    - 3D Rendering : Ok
    - Clock : Ok (RTC real hardware clock, in TWRP recovery too)
    - Powered-off alarm : Ok
    - Offline Charging : Ok
    - Encryption : Status unknown
    - SEPolicies : Fully enforced

    • Boot sequence : Once the LEDs light up :
      - Press Volume - to open CyanogenRecovery,
      - Press Volume + to open the FOTA recovery (TWRP usually) if available
    • Powered-off alarm : When you have set an alarm
      - If you power down the device, it will wake automatically 5 minutes before
      - If you let the device charge offline, it will automatically reboot 5 minutes before
    • Gestures : Events like hand-wave and pocket removal can be enabled in the Settings
    • Force reboot : You can reset the device by holding Power and Volume+ 5 seconds
    As quite a few already know since months by looking at my public projects on GitHub,
    I have been working on the yet-to-be named and -to-be-redesigned AOSP Master since March / April.

    Unlike what users expect, the Master development branch of Android AOSP is related to hardware and sources cleanups, while the features and UI changes are kept internal by Google until the official release we just had.

    Working since all these weeks on Master (and O Preview 1/2/3/4) was meant to prepare the field for almost everything Huashan 8960t would potentially need.

    For instance, O requires multiple changes to the kernel for what is called hwbinder and vndbinder support, used by the userspace for the hardware services and all Android O hidl changes (Google these if you are interested, some of the notions are accessible to even non-developer readers). All these changes either match our code or needed backporting to 3.4(.113) 8960 kernels. I kept all these public and they are now on Gerrit (Sony 8960t).

    Basically, between April and July, my AOSP Master was fully working on the Xperia SP and the Xperia T, with tests on the Xperia TX and V too.

    One of the biggest time waste of this project was a very strong visual glitch of the display composition, which ended up coming from the libhwui changes involving graphics EGL capabilities. This will affect probably most devices of this generations, most likely using Flo Adreno binaries from M.
    I invite interested devs to read my details in my EGL property commit in Huashan sources.

    To finish on Master, Bluetooth stopped working properly despite my initial temporary workaround to increase timeouts (the new AOSP Bluetooth HAL is massively different) and WiFi broke last month too, and I haven't taken / did not have time to fix it yet. Everything else was fine and used as daily.

    Another major and personal motivation was to start the sepolicies fully clean. Detached from QCOM ones this time, I've progressively rebuilt the sepolicy rules as strictly as possible, with specific labelling and in order to match common policies as much as possible, in order to be close to Google Marlin device sepolicies standards. The device was running enforced over the last month and only minor changes to the commits will maybe be done now.

    Now... You skipped the first part and came here.
    As others noticed by spying on my GitHub again, we started unifying our personal works on AOSP last week to prepare the next iteration of LineageOS. This helped us working very quickly on our basis upon release of O.
    Obviously nothing or barely nothing feature related is done yet, hardware support is the priority. Please do not request ETAs or features randomly on the forum or else, further information will be shared when there is actually information to be shared.

    Finally the last part you'll skip to because of the pictures.... I've been rebasing my AOSP Master changes to the Oreo release 8.0.0 (r3 for Pixel), and progressively fixed new code / hardware support changes done by the release.
    This night (4am...) was spent attempting to complete the boot on Huashan.
    Along an issue of 1 change I did for master sepolicies that broke the initialization (anticipation back-fired), the multiple new hardware HALs needed to be properly selected and compiled to match the requirements and complete the boot without display EGL crashes or audio failures.

    The Oreo UI therefore fully booted. More work will be needed to bring back all features inline with my Master builds and to fix remaining things to do.
    Please do not request for ETAs there too. It will be done once possible on evenings.


    PS: As I have been asked a few times, I confirm my Music Lights Effects with the Xperia SP's lights bar
    (presented in https://forum.xda-developers.com/showpost.php?p=73049970&postcount=399)
    will be working on 8.0.0 too, as it already was working on Master.

    Huashan remains undefeated and a challenging good no-so-old device.

    Recent branches commits

    Changes log
    • 31/12 : New release on Android 7.1.2_r36 sources (October CVE patches)
    • 02/08 : Updated device sources, Lights Effects minor fix
    • 14/07 : New release on Android 7.1.2_r24 sources (July CVE patches) & Initial Music Lights Effects release (About)
    • 01/07 : Updated kernel vulnerabilities patches, fixes and external storage for Camera2
    • 18/06 : New release on Android 7.1.2_r17 sources (June CVE patches / Pixel) & Jelly Browser updates
    • 12/05 : Updated kernel vulnerabilities patches, improved Jelly Browser app
    • 02/05 : New release on Android 7.1.2_r8 sources (May patches / Pixel) & Camera2 fixes
    • 26/04 : New release with updated and unified AOSP 7.1.2 / LineageOS device sources
    • 13/03 : New release on Android 7.1.1_r25 sources (March CVE patches / Pixel)
    • 07/02 : New release on Android 7.1.1_r20 sources (February CVE patches / Pixel)
    • 29/01 : Updated device sources, fixed AOSP Recovery build
    • 07/01 : New release on Android 7.1.1_r9 sources (January CVE patches)
    • 30/12 : Updated device sources, restored Double power to Camera option
    • 13/12 : New release on Android 7.1.1_r6 sources
    • 09/12 : Updated device sources, tethering kernel support added for AOSP 7.1.1
    • 07/12 : New release on Android 7.1.1_r4 sources (About)
    • 25/11 : Some Pixel colours and round icons, Downloads play/pause, minor fixes (About)
    • 16/11 : Google SetupWizard fixes, minor improvements, dexopt disabled (About)
    • 12/11 : Original RIL, USSD fixed, cleanups, Android 7.1.0_r7 (About)
    • 29/10 : Sources improvements and working camcorder (About)
    • 24/10 : Updated release for Huashan, Android 7.1.0_r4 (About)
    • 17/10 : Updated release for Huashan, Android 7.0.0_r14 (About)
    • 28/08 : Initial release for Huashan, Android 7.0.0_r1

    Original AOSP 7.1 sources with following relevant additions
    • Huashan device tree, kernel and vendor
    • Bionic: Support for SHIMs (Camera)
    • Build: Backup tool full support (GApps)
    • NFC: Proper support & removed log spam
    • Toybox: Support for init_sony boot selection
    • AV: Camera support for Nougat
    • AV: Initial camcorder partial support
    • Camera2: Fixes for wrongly rotated photos and improvements
    • Screenshots: Fix MTP list updates
    • Settings: Remove Google system updates
    • UI: Add reboot option to power menu
    • UI: Various efficiency improvements and fixes
    • UI: Some Pixel designs like NavBar and colours
    • Downloads: Add the ability to Play/Pause
    • Telephony: Support for older RIL layers
    • Telephony: Provide default networks APNs from CM
    • Audio: 8960 adapted HAL and FM support
    • FM: Fully implemented with AOSP FM Radio
    • Music: Minor fix to permissions
    • Settings: Minor visual rendering improvements
    • Healthd: Support for Huashan offline charger
    • Core: Disabled flash_recovery service from AOSP
    • Sepolicies: Minimal changes and fully enforced ROM

    Current local manifest
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- https://android.googlesource.com/platform/manifest -->
      <!-- See https://github.com/AdrianDC/aosp_development_sony8960 -->

    Quite an important announcement today.

    Two years after my initial implementations of the Xperia SP (Huashan) LEDs hardware controllers
    (AS3665 and AS3677, unique to this device because of the LEDs bar), I present to you the project I have been wishing to complete since then.

    My open-source LibLights for Huashan's LEDs handles all normal lights (notifications and display backlight),
    and flashing lights (blink) with the advanced sequencer program from the AS3665.
    Unlike most devices, this sequencer is a programmable input for calculations,
    registers comparisons and outputs to each LED for current / brightness renderings.

    The final step that never worked up until now, knowing I had that sequencer written and detailed since 2 years,
    was the music lights effects done on the LEDs bar as Sony once did on Stock 4.3.
    As music lights effects are done through hardware and not software, meaning the audio directly controls
    the LED controller through a specific wire input, the music effects do not add performance lags or permanent update events.

    The missing part were the audio routes : connecting the real audio output to the AS3665 input.
    Two weeks ago I went back to Stock 4.3 and progressively got into it through newly built kernel, repacked original Stock image without signature,
    and step by step went into the audio routes to identify the required audio mixer configurations needed for my changes to work.

    Implemented for AOSP-based and LineageOS-based ROMs, my Music Lights Effects for Huashan are not bound to any ROM changes.
    That's the biggest point I worked on here when the technical side was ready, as I did not wish to add specific code to the framework related to only one device,
    and hence make it also fully compatible with my Android AOSP releases without porting our Lights improvements from LineageOS.

    Lights Effects are implemented in what we call DeviceSettings, just like done since more than a year for Ambient Display specific gestures.
    I provide an option to enable / disable the effects, a choice on the audio gain to adapt the AS3665 input to your wishes,
    an optional dependency on the device being awake (to allow the music effects even locked) and a final one to always use effects while awake.


    Preview and presentation video :

    There are four layers to my implementation :

    • LightsEffectsService (in DeviceSettings) listens media player events and triggers lights_effects through the "sys.lights_effects_value" property
    • init rules trigger lights_effects events on property "sys.lights_effects_gain" or sys.lights_effects_value" changes
    • Binary lights_effects is the new executable extension of my liblights and handles the audio configuration, audio routes and kernel music mode.
    • Kernel lights_effects is a new driver input that controls the AS3665, configures the music mode and properly blocks normal actions // keep them updated.

    All related sources changes are available under this topic : https://review.lineageos.org/#/q/topic:huashan_lights_effects

    Initial public release on AOSP July Release (including the new CVEs and updates) :