[Nexus 7 Android Development] daniel_hk:
Although I'd already uploaded the source to github, I was asked a few times to release the kernel of my OmniROM6 build. Frankly, I only contributed a small part of it. Most of the codes are here and there from other devices and/or developers. I just modified a few and patched a few.

This week, I was packaging a kernel for my other devices. Thanks to the AIK (Android image Kitchen) by [MENTION=4544860]osm0sis[/MENTION], it make my life much easier. I think spending a few more minutes for my Nexus 7 is not a bad idea. I don't know if it would work for your existing ROM. I only have three success reports. Fail and success reports, suggestions and comments are welcome. :)

This might just another one time deal as my TWRP. I'll make this thread simple. Anyway, it's done. ;)

Release Notes:

2016/9/15: Finally a long holiday come. It's about time we migrated to Nougat. Most of the custom ROMs are busy for their first release. In the meantime, I may consolidate the kernel and device trees. After struggling for a few hours, I finally stop the sepolicy from denials for the first time.... The test AOSP-N builds are unloading now. See post#184 for details. ;)

History

2016/8/9: PerformanceControl is update to Drawer view UI now. Enable native D2TW interface for other ROMs (** How to enable it is in the Theory section **)

View attachment 3837552

2016/6/7: Android N preview2 zip version was uploaded to experimental pool. ;)

2016/6/5: Android N preview2 testing boot and system image in experimental pool. Read post #135 for detail.

2016/3/30: Add the power HAL with frequency adjustments and set feature support.

2016/3/18: Upload a test kernel to experimental pool.

2016/3/14: Bug fix in PerformanceControl.apk and the final code for kexec patch.

2016/3/13: Add the experimental pool for the testing builds.

2016/2/29: Seems it is not a one time thing now so I added the Change log section. The initial commit of Tegra3 Support is added to the PerformanceControl apk. In addition, I also include the Nexus 7 support in the Tools page. Wiping caches and flashing images are working for Nexus 7 now. A bug in Set on Boot is also fixed.

2016/2/16: Seems most of the fellow ROM builders had included the rotation patch in their kernel. I have no problem spending another few more minutes for the user oriented request. I prepared another zip. The only difference between 0214 and 0216 zip is 0216 included the rotation patch. If anyone have problem with rotation stopped after long deep sleep, you may try the 0216 version. ;)

2016/2/14: This is not an update. There are requests for LP and KK ROMs. I added the fstab for those earlier versions. The script was modified. It will check the /system/build.prop for Android version and copy the corresponding fstab to the ramdisk. cheers!

Theory: :confused:

The source is from the stock AOSP kernel (3.1.10) for grouper. The kernel binary is more or less the same for most of the ROMs posted. The major difference would be the ramdisk. With this in mind, I just replace the kernel binary and keep the existing ramdisk. The existing kernel might not have F2FS support so I replace the File System Table (fstab.grouper) too.

Even though this is from my OmniROM6 (MM) ROM, it might also work for LP or earlier. There are two default fstab (MM and LP) inside. For those who want to use their own, you may replace the file /data/AIK-mobile/XX/fstab.grouper inside the zip. Where XX=MM for ROMs from 6.0.0, XX=LP for ROMs before 6.0.0 (LP and KK, JB not tested)

To ROM builders:

Reported ROMs:

Reported Working :victory:

MM: Android 6 AOSP on Grouper, CyanogenMod 13 , Pure Nexus, AICP, VRToxin, OctOs

LP: CARBON-LP, Dirty Unicorns 5.1.1, ResurrectionRemix LP

KK: SlimKat 9.1

Reported not Working :(

MM: Android MarshMallow Pure AOSP

Change log: ;)

[COLOR="Blue"]2016/8/9[/COLOR]
- kernel: adjustments voltage tables
- PerformanceControl: version 2.1.6, Drawer view UI
- PerformanceControl: Support CM-13.0's native root access
[COLOR="Blue"]2016/3/30[/COLOR]
- kernel: DT2W fix the power when resume
- kernel: DT2W adjustment
- PerformanceControl: Fix a potential crash at first launch
- PerformanceControl: Enable the CPU Governor settings if supported
- Power HAL: adjust to the O/C frequencies
- Power HAL: Add set feature support for AOSP native DT2W settings (planning)
[COLOR="Blue"]2016/3/14[/COLOR]
- kernel: Add zRAM support
- kernel: Add kexec-patch for MultiROM
- PerformanceControl: Fix the crash in Advance > Highend graphics
[COLOR="Blue"]2016/2/29[/COLOR]
- kernel: Add custom panel backlight control
- PerformanceControl: (v2.1.5) Add Tegra3 support, GPU, voltage and backlight settings.
- PerformanceControl: Add Nexus 7 Tools. (wipe caches, flash kernel/recovery, etc.)
[COLOR="Blue"]2016/2/16[/COLOR]
- kernel: Include the Rotation fix
[COLOR="Blue"]2016/2/14[/COLOR]
- Add detection of Android version to script
- Include the fstab for LP and earlier
[COLOR="Blue"]2016/2/8[/COLOR]
- kernel:initial release
- PerformanceControl: (v2.1.4) from Exynos4
- PerformanceControl: DT2W, CPU settings

Features: :cowboy:

Kernel

1. Build with gcc 4.9

2. F2FS support

3. OC for CPU, LP

4. OC for GPU

5. Voltage Control (for CPU, GPU etc.)

6. DT2W support with bound and duration sysfs fine tune (disabled by default)

7. Retrying for i2c processes.

8. UID_CPUTIME support with power table from Tegra spec.

9. Add wakelock timeout for a few drivers (xmm_power, etc.)

10. Add journal_async_commit flag to ext4 /cache and /data

11. Included rotation patch (from 20160216)

12. Panel min. and max. backlight control

13. zRAM support

14. kexec patch for MultiROM (from 20160314)

PerformanceControl Apk

1. CPU: freq. and voltage settings

2. Tegra3 settings: GPU freq., various voltages, backlight, etc.

3. Memory: KSM, OOM and VM (zRAM testing) settings

4. Advanced: Ahead buffer, I/O schedulers, DT2W settings, etc. (when available)

5. Tools: Wiping, flashing images, optimizations, shell commands at start, etc.

6. Informations: Battery, Memory, System, storage, etc.

7. Draw view UI

8. Compatible with CM-13.0 (Slim6 etc.) native root access.

Download: :highfive:

Host: Android File Host　mirror: 百度网盘

Experimental

Note: I only tested it in TWRP.

Some features required ROOT access.

Extra settings can be found in the Included PerformanceControl

Root would be preserved for systemless SuperSU from [MENTION=631273]Chainfire[/MENTION].

Know issues: :(

1. D2TW sometimes not started at the first suspend after reboot.

2. May be more....

Sources: :cool:

Sources of the kernel and the PerformanceControl apk included is in my github

Credits: :good:

** The Android Image kitchen by [MENTION=4544860]osm0sis[/MENTION]

** M-kernel by [MENTION=2687601]Metallice[/MENTION]

** All those who donate and/or help the developers. Giving us the resources and reason to carry on.

Donations: :angel: