FORUMS
Remove All Ads from XDA

[EXPERIMENTAL][AOSP][NRD90U] Unofficial Android 7.0 Nougat build

464 posts
Thanks Meter: 1,068
 
By updateing, Senior Member on 27th August 2016, 06:06 PM
Post Reply Email Thread
Code:
#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.
*/
Hello guys, this is an unofficial build of AOSP Nougat (with tag android-7.0.0_r6). Kernel is based on CM13's, with some recent commits in kernel/common in AOSP. Sources and patches are available at the end of the post.

Note: this ROM is just for having the first taste of Nougat, and thus missing a lot of key features. I may not be able to update it regularly.

Basic hardware functionality:
Almost everything works, except video hardware encoding, which causes camcorder to fail. HW decoding works though.
Everything should be working since 20160903.
I didn't find more hardware failures, but there can be more.
And remember, the proprietary firmwares and blobs are still in the age of Marshmallow, and a system won't be complete without corresponding firmwares and blobs.

Known bugs:
1. HW disk encryption is likely broken. I reverted some commits to make cryptfs_hw build, but I'm not sure if that works. Do not try it.
2. SELinux is permissive, and init allows service without a SELinux domain to start.
3. GPS may take longer to obtain a position fix. (yes it's working... sorry for the misunderstanding)
4. Only Launcher2 is included. You may install a new one as you like.
5. No LiveDisplay and gestures except DT2W (DT2W can not be turned off via Settings app for now) Color calibration is possible, see FAQ below.
6. Default input method could be broken. Be ready to "pm install your_ime.apk" in adb shell. Fixed in 20160828
7. com.qti.dpmserviceapp may produce continous FC. You can disable it via adb shell ("su -c pm disable com.qti.dpmserviceapp"). Removed in 20160828
8. Rotating screen while playing video can cause the display to "split" Fixed in 20160903
9. Camera service and media codecs all run in the same process, eliminating one of the security enhancements of Android N. May not be fixed until new HAL and blobs are available.

So the security improvements in Nougat are not making much difference in this only-a-taste ROM. If you rely on this, it would be better to wait for official releases.

FAQs:

Quote:

1. Root / Gapps?

I'm using SuperSU 2.76 stable and OpenGapps 7.0 pico. They work without any issue.
If your contacts / calendars is not syncing, try the following steps:
1. Goto Settings > Apps, tap "Show system" in menu
2. Find "Google Contacts Sync", tap on it, tap "Permissions", turn on everything
3. Go back to Detail screen, clear its data
4. Go back to app list, clear "Contacts Storage"' data
5. Do the same for calendars (2-4)
6. Reboot

Quote:

2. F2FS?

I did not test this myself... But kernel has support already (of cource, it's from CM) so you may have a try. Remember to backup!
EDIT: Some users reported that F2FS partitions are corrupted. If you are using F2FS, maybe you should wait.

Quote:

3. Menu key / App switcher?

Menu key now acts as recents, since I don't think the former is as useful as the latter. And there is no more lag while tapping home button since we don't check for double tap anymore.

Quote:

4. TWRP shows error?

If that's two lines of "log", you can safely ignore it.
If there is something else, please stop and post it here.

If you are using MultiROM, you may modify update-script. Read the first ~8 pages and you will find it.

Reference: I'm using official TWRP 3.0.2 w/o MultiROM This recovery didn't get replaced by stock one...

Quote:

5. File manager (to install APKs)?

http://forum.xda-developers.com/show...3&postcount=73

Quote:

6. Disable HW keys, enable soft keys, screen color calibration?

Disable HW keys: echo 0 > /proc/touchpanel/keypad_enable (needs repeat on reboot)
Enable soft keys: echo "qemu.hw.mainkeys=0 >> /system/build.prop (once)
Screen color calibration: echo "32768 31784 27852" > /sys/class/graphics/fb0/rgb (needs repeat on reboot, change the values as you need. This example is 100% R, 97% G, 85% B)
Optionally you can enable color enhancing: echo 1 > /sys/class/graphics/fb0/color_enhance

Screenshot spoiler








Flashing Guide by @The Dork Knight Rises
In the 3rd post. Direct link: http://forum.xda-developers.com/show...04&postcount=3

Video hands-on by @savadam
https://www.youtube.com/watch?v=r54vWk-Azh8

Thanks for all your support!

Download:
20160919: Mirror 1: https://drive.google.com/open?id=0Bw...WRKd1owSUNudEU Mirror 2: https://mega.nz/#!fEk1CTyJ!F8rdnqT_o...6LRaD2t81N2WIA
You can still use HALs from 20160906 if you want.
(And if you are posting this somewhere else, please include the HALs in your post)

Older versions:

20160918: Mirror 1: https://drive.google.com/open?id=0Bw...WZ4OEx6Unp5bU0 Mirror 2: https://mega.nz/#!rdlkgboI!LQuFDtcpp...uxjAlrhg9Z0tuQ

20160910: Mirror 1: https://drive.google.com/open?id=0Bw...GVTV3V0ekZaWHM Mirror 2: https://mega.nz/#!XEsTESpR!QDa7he2jd...KV0IdtyuB0R-yc

20160906: Mirror 1: https://drive.google.com/open?id=0Bw...HNFb0xyYlBZM3c Mirror 2: https://mega.nz/#!zBVX1DTZ!S-LnpIEgJ...p93XbP-Ug__XBk
CAF and original AOSP HALs: https://drive.google.com/open?id=0Bw...GdCQmxDUWgxQlU
Note on the HALs:
AOSP HALs (msm8996 display + msm8974 media) can not record screen, but they "seem" to make the system smoother. (msm8974 display HAL cannot be used because it corrupts the display when rotating screen with video playing)
CAF HALs (both based on vanilla CAF LA.BF.1.1.3_rb1.13) can record screen but "seem" not to be so efficient as AOSP ones.
The HAL included in the ROM are the AOSP variant.

20160903: Mirror 1: https://drive.google.com/open?id=0Bw...lN5T29WTS01Qkk Mirror 2: https://mega.nz/#!OcFlTDDK!EYiNpfE-9...bMkXOTdhP1HDZc
20160831: Mirror 1: https://drive.google.com/open?id=0Bw...E1WR2xYd180MzA Mirror 2: https://mega.nz/#!jE92iSAD!pl0NMU6PP...6fNTaUUMI0xdzg
20160828: Mirror 1: https://mega.nz/#!XdlXFDBQ!p7E0N64IE...00O0dRwJlEnvcw Mirror 2: https://drive.google.com/open?id=0Bw...zA2T2g0RUZRS3c
20160827: https://drive.google.com/open?id=0Bw...VdWUHNlc0lHZWs

Note: please read "known bugs" section before flashing! Also you can read the guide below.
When updating the ROM, just dirty-flash new build and Gapps (if you use them).
In order to prevent your recovery from being replaced by the stock one, flash SuperSU along with the ROM.

Sources:
Kernel: https://github.com/updateing/android...74/tree/nougat
Device: https://github.com/updateing/android...on/tree/nougat
Build system: https://github.com/updateing/platfor.../custom-kernel
And there are a lot more repos I didn't fork. The changes there as well as local_manifest are here:
20160918+ Check GitHub
20160910 https://drive.google.com/open?id=0Bw...mo1RjhPd0N1c3c
20160906 No new patches except the HALs. For AOSP HALs, check previous patch archive and Sony's guide. For CAF HALs, just cherry-pick "Fix clang build" from CM.
20160903 https://drive.google.com/open?id=0Bw...XFqZEJCT21UNDA
20160831 https://drive.google.com/open?id=0Bw...W54QnR4eGFlR1E
20160828 https://drive.google.com/open?id=0Bw...Ex2OWNYcE1xU2s
20160827 https://drive.google.com/open?id=0Bw...XdkNkptRnBLMkU

Changelog:
Quote:

20160919
Fixed Fackbook crash by avoiding preloading libboringssl-compat.so (CM camera HAL is the only camera HAL that does not require this)
Updated BT configuration (please test if it has any side effect. Sometimes you need to search twice to find your Bluetooth gadgets.)
Tried to fix network location (added Google's network location provider)

20160918
Reverted to previous "stub" power HAL. May fix lagging and unusual power consumption noticed by some users.
Tried to fix NFC FW download mechanism. May fix non-working NFC for some users.

20160910
Updated to NRD90U (android-7.0.0_r6)
Switched to CM/QCOM power HAL. The original power HAL is more like a placeholder.
Now on Tap can be launched by long-pressing home button
Switchable WebView implementation, thanks to @fards here
Note:
1. If you are experiencing display issues (such as screen flicker with FLV SW decoding), try switching on "Disable HW Overlay" in Development Settings.
2. If you need multi-user feature, remove /system/priv-app/com.qualcomm.location. Otherwise the system will crash. It was accidentally added in this build.

20160906
Switched back to AOSP HALs to increase performance, but screen recording is broken again. You can choose CAF HALs listed above to fix that. Camcorder and HW encoding work with both variants, no need to worry.
Updated media profiles. Front camera knows that it is not capable of 1080p recording.

20160903
Fixed HW encoder and camcorder (they are different issues, though related) (and switched to CM13 media HAL)
Fixed display corruption while rotating screen with video playing (by switching to CM13 display HAL, don't know which lines of code fixed that)
DT2W can be turned off via Settings
Added Reboot option in power menu

20160831
Fixed crash in World Clock page when selecting countries/regions
Fixed hang in Developer Settings when the ROM is installed as secondary
Fixed crash when taking photos with HDR on
Added support for kexec
Added Stk

20160828
Fixed default input method FC
Remove com.qti.dpmservices to prevent FC
Dev: updated build system to finally automate everything

20160827
Initial build

Notes on the sources:
1. Build system produces correct boot.img in $OUT, but the boot image in OTA zip still has no DT included. Fixed in 20160828
2. Some fixes are really "dirty" (as I'm not able to find a proper way)...
3. Some JNIs fail to build (lots of C++ symbols no found). You may try linking C++ libs dynamically (c++_static -> c++_shared) to avoid this. See 20160828 patches, packages/inputmethods/LatinIME for example.
4. Some apps require android-8 ndk, but the earliest version in the tree is android-9. A symlink will do (or you can change the Android.mk in app) but I'm not really sure this will not introduce any bug.
5. Android N split mediaserver into multiple processes to improve security, such as cameraserver, mediacodec, etc. But camera blobs and old HALs were not designed like this. They assume they run in the same process, thus a buffer created by blobs are being used everywhere, which will cause illegal memory access under Android N. I reverted lots of patches about this, forcing camera and codec services to run in the mediaserver process as before - security compromised with functionality, again.

Hope you enjoy this.
The Following 281 Users Say Thank You to updateing For This Useful Post: [ View ] Gift updateing Ad-Free
 
 
27th August 2016, 06:09 PM |#2  
wulsic's Avatar
Recognized Contributor
Flag Nijmegen
Thanks Meter: 2,281
 
More
I am going to try this out, thanks @updateing for your work
If I could find fixes then I would send an pull request.
The Following 10 Users Say Thank You to wulsic For This Useful Post: [ View ] Gift wulsic Ad-Free
27th August 2016, 06:17 PM |#3  
The Dork Knight Rises's Avatar
Senior Member
Flag Mumbai
Thanks Meter: 868
 
Donate to Me
More
Info 2 The All-In-One Post
Oh look at the time...it's flashy time already? XD

Screenshots:


Click image for larger version

Name:	Screenshot_20160828-193145.png
Views:	11206
Size:	94.6 KB
ID:	3857546
(Layers themes work. Use Substratum app)
Click image for larger version

Name:	AboutPhone.png
Views:	13642
Size:	128.1 KB
ID:	3856677
Click image for larger version

Name:	N.png
Views:	13288
Size:	209.0 KB
ID:	3856678
Click image for larger version

Name:	Notifs.png
Views:	12790
Size:	190.8 KB
ID:	3856679
Click image for larger version

Name:	QReply.png
Views:	12530
Size:	82.0 KB
ID:	3856680
Click image for larger version

Name:	NotifPriority.png
Views:	12304
Size:	118.5 KB
ID:	3856681
Click image for larger version

Name:	QS.png
Views:	12132
Size:	114.4 KB
ID:	3856682
Click image for larger version

Name:	QSEdit.png
Views:	11838
Size:	67.8 KB
ID:	3856683
Click image for larger version

Name:	Battery.png
Views:	11342
Size:	106.3 KB
ID:	3856689
Click image for larger version

Name:	MultiW.png
Views:	11636
Size:	184.7 KB
ID:	3856684
Click image for larger version

Name:	Tuner.png
Views:	11340
Size:	76.2 KB
ID:	3856686
Click image for larger version

Name:	NavTuner.png
Views:	10960
Size:	79.6 KB
ID:	3856690
Click image for larger version

Name:	NightMode.png
Views:	10638
Size:	87.5 KB
ID:	3856688
Click image for larger version

Name:	RGB.png
Views:	10630
Size:	64.3 KB
ID:	3856687
Click image for larger version

Name:	Screenshot_20160828-055347.png
Views:	10440
Size:	214.8 KB
ID:	3856734

Guide to flashing this properly (TWRP v3.0.2-0):
(THIS GUIDE IS MAINLY FOR THE FIRST BUILD 20160827. AS I AM RUNNING IT SMOOTHLY, I DO NOT PLAN TO UPDATE TO 20160828, AS IT HAS SOME MINOR FIXES, ALREADY COVERED IN MY GUIDE.
IF HOWEVER, YOU'RE FLASHING 20160828 OR LATER BUILD, HERE'S WHAT YOU SHOULD DO DIFFERENTLY:
-Flashing Google keyboard is not mandatory, as default input mode has been fixed
-adb steps do not need to be performed as the com.qti.dpmserviceapp has been removed
-You probably shouldn't flash the SystemUI Tuner mod zip, as the SystemUI APK from previous build may not be compatible with new build. If you flash it on 28 build and have SystemUI FCs or missing SystemUI, just reflash ROM, and don't flash the mod.
REST OF THE GUIDE REMAINS THE SAME
)
(This guide is for flashing as primary ROM without MultiROM. MultiROM guide by @7u5h4r: http://forum.xda-developers.com/show...&postcount=242)

TL;DR version (that means short version)
http://forum.xda-developers.com/show...postcount=1172
  1. Download ROM zip from OP and Google Keyboard flashable zip, as well as any of the zips I linked below.
  2. Wipe your device (data, cache, dalvik/ART cache; preferably even system, just to be as "clean" as possible)
    (NOTE ABOUT DIRTY FLASHING:
    -If you dirty flash this ROM (eg. flashing newer build), you will need to flash GApps again along with the ROM zip as GApps are not preserved
    -This ROM actually booted for me even on a dirty flash from an MM custom ROM, and as a result I didn't face a lot of the problems you'd face on clean flash (GApps crashes, continuous qti app FCs, etc)
    But a lot of my apps were crashing until I reinstalled them, and in any case, it is not advised to dirty flash when coming from MM)
  3. Flash ROM zip and keyboard zip, optionally any of the following addons (DO NOT FLASH GAPPS YET):
    -SuperSU (v2.68+) for root
    -Any of the mods I linked below
    -Any other mods like Viper4Android etc (AT YOUR OWN RISK)
  4. Boot into the ROM. you'll probably see a lot of crashes, ignore them, and just find a PC for the next step
    (Optionally, you could try to enable Developer Options by tapping past the FC dialogs, once you have DevOps enabled, you'll see an option to mute FC notifications till next boot)
  5. Using ADB on your PC, disable the com.qti.dpmserviceapp package by running following commands:
    Code:
    adb devices
    You should see a device in the list of devices connected
    Code:
    adb shell
    pm disable com.qti.dpmserviceapp
    If you get error with permissions, you may need root. If your device is rooted:
    Code:
    su
    pm disable com.qti.dpmserviceapp
    (SKIP 6, 7 & 8 if you do not need Google services)
  6. Now reboot into recovery and flash a compatible GApps package (USE 7.0 GAPPS ONLY)
    Boot into ROM
  7. Go to Settings>Apps
    Find Google Play Services, and go to its Permissions. Enable essential permissions. Now Play Services won't keep crashing on you. Also find Google Contact Sync and give it permission to access Contacts.
  8. Go to Settings>Accounts and add your Google account
  9. Profit
  10. Praise DuARTe
  11. Hit Thanks if this helped

Here's some helpful zips for you guys!
The Following 103 Users Say Thank You to The Dork Knight Rises For This Useful Post: [ View ] Gift The Dork Knight Rises Ad-Free
27th August 2016, 06:22 PM |#4  
Senior Member
Flag Rome
Thanks Meter: 352
 
More
Wow! Great work

Subscribed!
27th August 2016, 06:23 PM |#5  
mandar1997's Avatar
Senior Member
Flag Mumbai
Thanks Meter: 50
 
More
thanks for your work dude
The Following User Says Thank You to mandar1997 For This Useful Post: [ View ] Gift mandar1997 Ad-Free
27th August 2016, 06:29 PM |#6  
Member
Thanks Meter: 20
 
More
Cool, thanks, gonna try asap

Enviado desde mi A0001 mediante Tapatalk
The Following User Says Thank You to Hugomm For This Useful Post: [ View ] Gift Hugomm Ad-Free
27th August 2016, 06:33 PM |#7  
Senior Member
Thanks Meter: 89
 
More
Great! Thank u dev!
27th August 2016, 06:38 PM |#8  
Senior Member
Flag Telford
Thanks Meter: 243
 
Donate to Me
More
Quote:
Originally Posted by updateing

2. SELinux is permissive, and init allows service without a SELinux domain to start.

Which sepolicy did you use? I am porting to a different device and Im currently trying to fix neverallows which is painful but I think I merged a commit to qcom/sepolicy which allows domain to start (im not very good in sepolicy). Its based off Cyanogenmod qcom/sepolicy repo. If you want to take a look its here android_device_qcom_sepolicy-1 and I had to add one thing to platform_system_sepolicy. I hope we'll be able to fix sepolicy soon.
27th August 2016, 06:40 PM |#9  
Member
Flag Mumbai
Thanks Meter: 10
 
More
Awesome.... Downloading already.
27th August 2016, 06:43 PM |#10  
Senior Member
Thanks Meter: 18
 
More
Awesome! Has anyone tried If gapps work?
The Following User Says Thank You to Urool For This Useful Post: [ View ] Gift Urool Ad-Free
27th August 2016, 06:43 PM |#11  
Senior Member
Thanks Meter: 38
 
More
Flashed it. But i get a FC all the time

com.qti.dpmserviceapp has stopped.

I cant do anything..?
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread