Introducing the AWEstruck kernel. I've taken the stock kernel source from and compiled it with Linaro 4.9.3, with cortex-a15 optimization. The result from benching seems to be better I/O and memory performance. My goal is to continue adding updates and customizations, this is just a start. As such, I'm taking feature requests.
Features:
Linaro O3 compilation
CPU overclocking up to 2 GHz (Try clocks 1 step at a time or you may break your phone)
CPU voltage controls
Extra CPU governors
Extra GPU governor
Built-in thermal control
Built-in mpdecision
Dynamic readahead
Common code base for JellyBean and KitKat
Beta Features:
UHID
Kernel 3.4.107
exFAT/SDXC
Prevent entropy depletion
To tweak the kernel (such as governors, schedulers, mpdecision) the use of 3C Toolbox is highly recommended. Trickster Mod is a simpler option but is prone to busybox issues. These are the only two verified to have full support. I'm in the process of validating Kernel Adiutor, looks promising.
**Disclaimer** I take no responsibility for a broken phone. Make sure you have backups.
Your WiFi MAC will change on first boot of this kernel! JellyBean versions will say JB in the file name, KitKat will say KK.
AWEStruck_JB_v1.04.zip - 9.34 MB
Feel a little more daring? Try a beta!
http://www.mediafire.com/download/d7qs9j7ui9u6v8i/AWEStruck_JB_v1.05_beta6.zip
MD5: 9A1D422F9388F8478AF58DF9B319E61D
http://www.mediafire.com/download/5h9jr69vuy3k75d/AWEstruck_KK_v1.05_beta6.zip
MD5: 6FC16EC3ADE220589EB12CBA62106E16
Recommended CPU settings are 162MHz - 1.35GHz, defaults are 162MHz - 1.18GHz (manufacturer low was 384MHz). 162MHz will squeeze a little more battery life out of the phone on low loads, and 1.35GHz has the same voltage as 1.18GHz so more bang for your power. For great I/O, use the SIO scheduler with a cache size of 2048 or the FIOPS scheduler with a cache size of 3072.
*** Overclocking is luck of the draw, not all processors can overclock and some can overclock better than others. DO NOT set an overclock on boot until you have stability tested that clock, otherwise you will end up in a boot loop ***
If you encounter a stability issue please collect a logcat and a dmesg/last_kmsg for me so I can investigate. I stability test on my phone and generally don't have issues when I release. [HOW TO] - [Post Kernel last_kmsg] - [make Nova Launcher fully expand(desktop mode)] - xda-developers for more detail on last_kmsg
Switch back to stock: http://androidforums.com/awe-all-things-root/848066-dev-kernel-linaro-awestruck.html#post6572619 - Thanks brittnearl!
Source code here: https://github.com/spock1104/android_kernel_zte_nex
If you make use of this code please try to fork or at least cherry-pick to facilitate code sharing. If you build this code or any subset into a binary you must make your source code available at the same time, per GPL.
Loading instructions:
To perform a one-off test:
Make sure you have ADB working. Extract the boot.img from the zip and place in your ADB directory.
adb reboot-bootloader
wait for the phone to boot to the blank bootloader screen
fastboot boot boot.img
The phone will then reboot using the new kernel. This can be verified in the about phone menu, svn10896 will no longer appear in the version. WiFi likely won't work until you flash the zip.
To permanently load the kernel, flash the zip in recovery. This WILL overwrite system files, make sure you have a backup!
See post #2 for tips on reducing battery drain
See post #3 for a guide on compiling your own kernel
I appreciate any feedback, testing, and development help I can get.
Thanks to brittnearl, starkraving, DysMnapTic, and dragonhart6505 for being willing and eagerguinea pigs testers
Thanks for the source:
aosp
cyanogenmod
codeaurora
rbheromax
phenomx4
jimsmith80
showp1984
faux123
dorimanx
f4k
DooMLoRD
franciscofranco
Grarak
And a HUGE thanks to Christopher83 for his Linaro binaries
Enjoy!
To Do:
OTG support
Add color controls
cleanup unnecessary code
update drivers
init.d support
anykernel updater for full KitKat support
Features:
Linaro O3 compilation
CPU overclocking up to 2 GHz (Try clocks 1 step at a time or you may break your phone)
CPU voltage controls
Extra CPU governors
Extra GPU governor
Built-in thermal control
Built-in mpdecision
Dynamic readahead
Common code base for JellyBean and KitKat
Beta Features:
UHID
Kernel 3.4.107
exFAT/SDXC
Prevent entropy depletion
To tweak the kernel (such as governors, schedulers, mpdecision) the use of 3C Toolbox is highly recommended. Trickster Mod is a simpler option but is prone to busybox issues. These are the only two verified to have full support. I'm in the process of validating Kernel Adiutor, looks promising.
**Disclaimer** I take no responsibility for a broken phone. Make sure you have backups.
Your WiFi MAC will change on first boot of this kernel! JellyBean versions will say JB in the file name, KitKat will say KK.
AWEStruck_JB_v1.04.zip - 9.34 MB
Feel a little more daring? Try a beta!
http://www.mediafire.com/download/d7qs9j7ui9u6v8i/AWEStruck_JB_v1.05_beta6.zip
MD5: 9A1D422F9388F8478AF58DF9B319E61D
http://www.mediafire.com/download/5h9jr69vuy3k75d/AWEstruck_KK_v1.05_beta6.zip
MD5: 6FC16EC3ADE220589EB12CBA62106E16
Recommended CPU settings are 162MHz - 1.35GHz, defaults are 162MHz - 1.18GHz (manufacturer low was 384MHz). 162MHz will squeeze a little more battery life out of the phone on low loads, and 1.35GHz has the same voltage as 1.18GHz so more bang for your power. For great I/O, use the SIO scheduler with a cache size of 2048 or the FIOPS scheduler with a cache size of 3072.
*** Overclocking is luck of the draw, not all processors can overclock and some can overclock better than others. DO NOT set an overclock on boot until you have stability tested that clock, otherwise you will end up in a boot loop ***
If you encounter a stability issue please collect a logcat and a dmesg/last_kmsg for me so I can investigate. I stability test on my phone and generally don't have issues when I release. [HOW TO] - [Post Kernel last_kmsg] - [make Nova Launcher fully expand(desktop mode)] - xda-developers for more detail on last_kmsg
Switch back to stock: http://androidforums.com/awe-all-things-root/848066-dev-kernel-linaro-awestruck.html#post6572619 - Thanks brittnearl!
Source code here: https://github.com/spock1104/android_kernel_zte_nex
If you make use of this code please try to fork or at least cherry-pick to facilitate code sharing. If you build this code or any subset into a binary you must make your source code available at the same time, per GPL.
Loading instructions:
To perform a one-off test:
Make sure you have ADB working. Extract the boot.img from the zip and place in your ADB directory.
adb reboot-bootloader
wait for the phone to boot to the blank bootloader screen
fastboot boot boot.img
The phone will then reboot using the new kernel. This can be verified in the about phone menu, svn10896 will no longer appear in the version. WiFi likely won't work until you flash the zip.
To permanently load the kernel, flash the zip in recovery. This WILL overwrite system files, make sure you have a backup!
See post #2 for tips on reducing battery drain
See post #3 for a guide on compiling your own kernel
Code:
CHANGELOG:
AWEstruck v.105 beta6 5/30/15
Linaro 4.9.3 2015.03
Port audio drivers from n9520 (hopefully fix sound reboots)
patched up to 3.4.107
AWEstruck v1.05 beta5 1/24/15
Linaro 4.9.3 2015.01
fix UHID
AWEstruck v1.05 beta4 1/16/15
Linaro 4.9.3 2014.12
disabled HID battery and hidraw
voltage corrections for clocking beyond 1.83GHz
AWEstruck v1.05 beta3
add UHID support (thanks PhenomX4)
enable HID battery and hidraw
AWEstruck v1.05 beta2
patched the kernel up to 3.4.105
add exFAT support (should enable the use of SDXC)
AWEstruck v1.05 beta 1
readahead tweaks
prevent entropy depletion
patched the kernel up to 3.4.86
[B]AWEstruck v1.04 12/14/14[/B]
Switch to Linaro 4.9.3
unify KitKat and JellyBean code (Thanks PhenomX4)
Switch to LZO compression for faster boots
Remove GPU OC, it didn't actually work
Fix CPU overclock table, add new clocks up to 2 GHz
Add CPU voltage tuning
Set minimum clock to 162MHz
Add Intelliactive, Intellidemand, and Lionheart governors (Thanks PhenomX4)
Add dynamic readahead (Thanks rbheromax)
Add compilation of zram/zcache/zsmalloc modules (not included by default) (thanks rbheromax)
[B]AWEstruck v1.03c 6/25/14[/B]
Modify mpdecision for two cores and re-enable
[B]AWEstruck v1.03a 6/24/14[/B]
Fix an error in init.qcom.post_boot.sh
[B]AWEstruck v1.03 6/22/14[/B]
Revise [B]CPU [/B]overclocks based on jimsmith80's tables. 1.512GHz and 1.674GHz have replaced 1.566GHz and 1.62GHz.
Enable [B]GPU[/B] 450, 487.5, 504, 545, 600, and 627MHz overclocks
Add faux123's simple GPU governor
thermald replaced with kernel based thermal throttling and shutdown (thermald caused the CPU to exceed the user set max)
Remove CPU frequency jumps when coming back from suspend
Update CPU frequency handling
Disabled kernel MPdecision for the time being
Reduce size of init.qcom.post_boot.sh
[B]AWEstruck v1.02 5/30/14[/B]
Update Prima to 3.2.2.17b
Add kernel based mpdecision from showp1984(updater deletes ROM based mpdecision)
Enable [B]CPU [/B]162, 270, and 378MHz underclocks
Enable [B]CPU [/B]1.242, 1.296, 1.350, 1.404, 1.458, 1.566, 1.62, and 1.728GHz overclocks
Add VR, ZEN, SIO, and FIOPS I/O Schedulers
Add Wheatley and Conservative CPU governors
[B]AWEstruck v1.01a[/B]
Fix the updater script. This is why editing files at 1:30AM isn't always a great idea.
[B]AWEstruck v1.01[/B]
Update WCNSS WiFi, add Prima kernel module v3.2.2.6 from CM11 MAKO (WiFi fix)
Remove some debug
Switched from Ofast to O3, some programs won't like ffast-math
[B]AWEstruck v1.0[/B]
Downloaded source from ZTE
Pulled defconfig from phone
Linaro optimized
Thanks to brittnearl, starkraving, DysMnapTic, and dragonhart6505 for being willing and eager
Thanks for the source:
aosp
cyanogenmod
codeaurora
rbheromax
phenomx4
jimsmith80
showp1984
faux123
dorimanx
f4k
DooMLoRD
franciscofranco
Grarak
And a HUGE thanks to Christopher83 for his Linaro binaries
Enjoy!
To Do:
OTG support
Add color controls
cleanup unnecessary code
update drivers
init.d support
anykernel updater for full KitKat support
Last edited: