-Android 5.0 support
-Sweep2Wake/Sweep2Sleep, DoubleTap2Wake (from Beastmode)
-force fast charge (credits to chad0989)
-kexec-hardboot support (for use with MultiROM, credits to Tasssadar for the multirom and the m7 patch I used)
-Moar overclockingz (up to 1890 mhz)
Note: Every chip is different, your device may not support these higher frequencies.
-GPU overclocking (up to 533 mhz) (credits to faux123, )
Note: Again, every chip is different, your device may not support higher frequencies.
-Additional CPU governors and I/O schedulers. Read about CPU governors here.
-Dynamic Fsync (faux123)
-Simple GPU Governor (faux123)
-L2 Cache overclock
-600 MHz bus overclock
-F2FS support (still no luck with getting this fully working, testers are welcome)
-LZ4 compressed kernel (faster boot)
-More TCP Congestion algorithms
-Lots of slimbus improvements thanks to poondog
For maximum performance, I recommend some optimized dalvik libraries (KitKat only):
-For 4.4.4 ROMs, use the "CM11 Dalvik_Final" zip in this post
-For older (4.4.2) ROMs:
-If you are using a 4.4.2 CM11-based ROM released after March 1st, or any ROM with this commit you will need to use the 4.4_qc-optimized_dalvik-cm11.zip here. Credits to kszaq for this one.
-For LiquidSmooth, use these Sense dalvik libraries here.
-Also, credits to kszaq because these were based on his flashable zip.
If you find any ROMs where none of these zips work, let me know and I will try to make one for that ROM.
I am not responsible for anything that happens to your phone. It is your device and your responsibility.
The following scripts are not required to change settings, they only exist as an alternative for people who don't want to use a third-party app. You can still use your favorite tuner app to tweak most of these kernel settings.
I created some scripts that run on boot (init.d) because I install my kernel so many times that I would go insane if I had to use an installer to configure it each time. By using these scripts and configuration files on the sdcard, I can just configure it once and keep installing away to my heart's content.
After installing this kernel, there will be:
run at boot, even if you switch to another kernel. It is safe to leave this file there and to let it run as it only makes changes if the kernel contains "crpalmer" in the version. If run with a kernel that contains crpalmer in the version, it will rename mpdecision so it can't run. If you install another kernel it will then rename mpdecision back so that it will run in the new kernel. In addition to stopping the built-in mpdecision it will allow the following tweaks:
* Frequencies loaded from /sdcard/crpalmer-cpufreq-min and /sdcard/crpalmer-cpufreq-max
* Governor loaded from /sdcard/crpalmer-cpufreq-governor
* If you specify either or both of these frequencies, it will lock down all of the CPU frequency controls. I had to do this because HTC overrides them in a script that is run very late in the boot process (thanks HTC!).
* E.g. adb shell su -c "echo 192000 > /sdcard/crpalmer-cpufreq-min"
* E.g. adb shell su -c "echo 1728000 > /sdcard/crpalmer-cpufreq-max"
* E.g. adb shell su -c "echo interactive > /sdcard/crpalmer-cpufreq-governor"
* + or - value loaded from [I]/sdcard/crplamer-uv
* The undervolting in 2.0.23 for FAST binned CPUs would be specified as:
* E.g. adb shell su -c "echo -100 > /sdcard/crpalmer-uv"
* My light sensor changes didn't sound like they worked well for everyone. If you don't like them you can disable them by:
* E.g. adb shell touch /sdcard/crpalmer-stock-lightsensor
HTC Colour "Enhancement"
* If this file is present then the HTC's colour "enhancement" will be used, otherwise it will be disabled.
* If this file contains the string "m7" then it will use one of the colour enhancement that was used in the M7 kernel for a panel most like ours.
* E.g. adb shell touch /sdcard/crpalmer-color-enhancement
* This allows you to wake the device by double tapping in the bottom half of the screen, just above the hardware keys.
* To enable or disable, create the file /sdcard/jamiethemorris-dt2w
* If this file contains a 1, dt2w is enabled. If it contains a 0 it is disabled. Enabled by default.
* This allows you to wake the device by sweeping from left to right over the hardware keys, and sleep the device by sweeping from right to left.
* To enable or disable this, create the file /sdcard/jamiethemorris-s2w.
* If the file contains a 1, s2w and s2s are enabled. If it contains a 0, they are disabled. Enabled by default.
* The GPU's max frequency is loaded from /sdcard/jamiethemorris-gpu-oc. If this file does not exist, the stock frequency of 400 MHz is used.
* To set this GPU overclock, you need that file containing the GPU frequency in MHz. Frequencies from 400 to 550 MHz are available.
* E.g. adb shell su -c "echo 450 > /sdcard/jamiethemorris-gpu-oc"
* You can choose from either ondemand, simple, or performance GPU governors. Default is ondemand.
* The governor is loaded from /sdcard/jamiethemorris-gpu-gov
* E.g. adb shell su -c "echo simple > /sdcard/jamiethemorris-gpu-gov"
* From Faux123: The dynamic sync control interface uses Android kernel's unique early suspend / lat resume interface. While screen is on, file sync is disabled. When screen is off, a file sync is called to flush all outstanding writes and restore file sync operation as normal.
* Disabled by default. To enable or disable, create the file /sdcard/jamiethemorris-dyn-fsync. Use 0 to disable and 1 to enable.
Force Fast Charge:
* To enable or disable fast charge, create the file /sdcard/jamiethemorris-fastcharge
* Use 0 to disable, and 1 to enable. Disabled by default.
Intelliplug and Eco Mode:
* Intelliplug is a replacement hotplug driver for HTC's mpdecision, Eco Mode limits your device to dual-core operations.
* To enable or disable, use create the file /sdcard/jamiethemorris-intelliplug
* If the file contains 0, intelliplug and eco mode are both disabled and your phone will use crpalmer's hotplug driver. If the file contains a 1, intelliplug is enabled but eco mode is disabled. If the file contains the string 'eco', intelliplug and eco mode are both enabled. Both are disabled by default.
* To change the I/O scheduler, create the file /sdcard/jamiethemorris-iosched, and your device will use whatever I/O scheduler you specify.
* E.g. adb shell su -c "echo row > /sdcard/jamiethemorris-iosched"
* This allows you to globally undervolt your device, but leave the 1836 MHz, 1890 MHz, and 1917 MHz frequencies at their default voltages.
* To enable or disable:
- First you need to find your PVS bin number. You can find this by checking the file /sys/module/acpuclock_krait/parameters/pvs_number.
- Create the file /sdcard/jamiethemorris-pvs and put your PVS number in that file.
- After a reboot, your device will automatically set the highest frequencies to the default voltages for your chip.
* If you are either lazy or confused, you can put '?' in the file and your phone will set itself to the voltages for a 'nominal' binned chip.
For the rest of the features and changelog, see crpalmer's original cm11 kernel thread.
Thanks: crpalmer for all of his help (before I started on this I didn't even know how to use git), coachcrey for originally inspiring me to do this, and all the other devs/builders here that may or may not know I'm learning from them constantly.
Older versions on Android File Host
You can either use an app such as TricksterMod or Kernel Tweaker to set these parameters or use my scripts.
-Minimum CPU frequency: 162000
-Maximum CPU frequency: 1890000 for performance, 1512 for battery life, 1728 for balanced
-Undervolt: -100 for battery life, -50 for balanced/stability
-Color enhancement (script only): m7
-DoubleTap2Wake: Enabled for convenience or pretending you have a G2, disabled for battery life
-Sweep2Wake: Enabled for convenience, disabled for battery life
-Fastcharge: Disabled for safety, enabled for convenience
-GPU overclock: 500 MHz or 533 MHz for performance, 400 MHz or 320 MHz for battery life, 450 MHz for balanced
-GPU governor: ondemand for battery, simple for performance
-CPU governor: preservative for battery or balanced (decrease up threshold for faster response at the expense of battery), intelliactive for general performance, performance for benchmarking
-I/O Scheduler: BFQ for balanced/stability, vr for performance
-Dynamic Fsync: Disabled for safety (less likely to have data loss in the event of sudden power off), enabled for performance, enabled for balanced
-Undervolt Override (script only): set jamiethemorris-pvs to your chip's PVS bin. Recommended for those with high overclock that are undervolted.
To make things easier for those who do not wish to use a third-party app, I have posted some zips with the necessary files. Just unzip them and put the files on your sdcard.Default settings
Recommended settings (these are the settings I use, good performance vs. battery compromise
For best battery life
For best performance
jamiethemorris's kernel, Kernel for the HTC Droid DNA
Source Code: https://github.com/jamiethemorris/dna-kernel/tree/6.x
Kernel Special Features: dt2w, kexec-hardboot, overclock, fastcharge, fauxsound
Last Updated 2014-12-04