[Kernel][CM 11][4.4.x] crpalmer's kernel for CM11 nightlies

Search This thread

crpalmer

Inactive Recognized Developer
Mar 25, 2011
2,999
8,280
This kernel extends the CM kernel with some new features:

New init.d scripts to allow some tweaking without needing any 3rd party apps
* See the next post for details.

Replaced HTC's mpdecision with a new custom hot-plug driver that I created:

* This hot-plug driver is more aggressive about bring cores on and off-line to match the load on the system.
* Bringing cores online earlier makes your phone more responsive / smooth.
* Taking cores offline earlier improves battery life.
* It ramps up very quickly on resume to avoid lag.

Replaced HTC's lightsensor table with one that is more sensible and that matches what other devices use. If you have custom auto-brightness settings, you'll probably need to tweak them after installing this kernel.

There are many additional changes to boost performance and battery life:

* Linaro -O3 compiled (Linaro 4.8).
* Overclocking
* I disable tons of HTC debugging crap left enabled and needlessly consuming battery.
* Improvements to the core locking code of the kernel.
* Patches that transform traditional locks into RCU backed data structures.
* CAF changes to power management to sleep faster and waste less CPU during suspend.
* Improved code for moving data to/from user-space and manipulating strings within the kernel.
* And tons of other patches such as scheduler improvements, I/O improvements, networking improvements, etc, etc, etc.

Other features:

* Voltage control (faux123) to allow user-space under-volting.
* BFQ I/O scheduler.
* Track upstream Linux changes

Links

A link to each version is included in the changelog entry. Scroll down to the changelog to download the latest version.

Source (GitHub):
* Kernel source
* Build tools

Installation Instructions:

If you are S-OFF you can flash the update.zip in recovery.

If you are S-ON, then after you flash the update.zip in recovery then, while still in recovery, you must run

Code:
adb pull /tmp/boot.img
<reboot into bootloader>
fastboot flash boot boot.img

Changelog:

Version 5.7.6: April 7, 2014: General Fixes, Linux 3.4.86
* Linux version 3.4.86
* Other changes, mostly have been merged into the CM kernel and I forget which changes weren't...

Version 5.7.6: April 7, 2014: General Fixes, Linux 3.4.86
* Linux version 3.4.86
* Other changes, mostly have been merged into the CM kernel and I forget which changes weren't...

Version 5.8.2: July 19, 2014: Upstream updates and security fixes
* Patched up to linux 3.4.99 (latest version of as now)
* Patched up to latest CM (fixes a couple of CVEs, not a whole lot else was missing)
* Update some video bandwidth parameters

Version 5.5.2: January 19, 2014: Linux 3.4.77, CM changes
* CM changes include a fix for the cpu-boost driver, smooth streaming and governor fixes
* Linux 3.4.77

Version 5.4.2: January 5, 2014: Linux 3.4.75, I/O Optimizations, CM changes
* CM changes may resolve lingering problems with min frequency set to max frequency.

Version 5.3.7: December 20, 2013: Linux 3.4.74, WiFi Optimizations, cpufreq gov. changes
* Linux 3.4.74
* Various WiFi optimizations including using less battery when suspended
* Removed ondemandCRP: It existed because it helped a2dp but, thanks to improvements upstream, this is no longer needed
* cpufreq config scripts set the governor before the frequencies
* ondemand: ignore io_is_busy, improves battery

Version 5.2.11: December 7, 2013: Initial KK release: Linux 3.4.72, Optimizations
* Linux 3.4.72
* Various optimizations

XDA:DevDB Information
crpalmer-droid-dna-5.x, Kernel for the HTC Droid DNA

Contributors
crpalmer
Kernel Special Features:

Version Information
Status: Stable

Created 2013-12-07
Last Updated 2014-07-19
 

crpalmer

Inactive Recognized Developer
Mar 25, 2011
2,999
8,280
Reserved

init.d tweaks

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:

/system/etc/init.d/99crpalmer

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:

CPU Frequencies
* 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"

Undervolting
* + or - value loaded from /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"

Lightsensor
* 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
 

xaalfx

Senior Member
Sep 22, 2011
135
20
Giving it a go! Thanks for your continued support for this device man its much appreciated!!!

Sent from my HTC6435LVW using Tapatalk
 

Gorilla*

Senior Member
Nov 25, 2010
493
39
Tallahassee,FL
Hell yes!!! Christmas comes early from crpalmer!!! Thank you sir!!!!!!

Sent from my HTC6435LVW using Tapatalk

---------- Post added at 02:01 PM ---------- Previous post was at 01:50 PM ----------

Running smooth as butter. Under clocked over clocked

Sent from my HTC6435LVW using Tapatalk
 

jbarcus81

Senior Member
Jul 30, 2010
3,010
614
Marietta, OH
Samsung Galaxy Watch 5
This kernel extends the CM kernel with some new features:

New init.d scripts to allow some tweaking without needing any 3rd party apps
* See the next post for details.

Replaced HTC's mpdecision with a new custom hot-plug driver that I created:

* This hot-plug driver is more aggressive about bring cores on and off-line to match the load on the system.
* Bringing cores online earlier makes your phone more responsive / smooth.
* Taking cores offline earlier improves battery life.
* It ramps up very quickly on resume to avoid lag.

Replaced HTC's lightsensor table with one that is more sensible and that matches what other devices use. If you have custom auto-brightness settings, you'll probably need to tweak them after installing this kernel.

There are many additional changes to boost performance and battery life:

* Linaro -O3 compiled (Linaro 4.8).
* Overclocking
* I disable tons of HTC debugging crap left enabled and needlessly consuming battery.
* Improvements to the core locking code of the kernel.
* Patches that transform traditional locks into RCU backed data structures.
* Different version of ondemand cpufreq governor
* CAF changes to power management to sleep faster and waste less CPU during suspend.
* Improved code for moving data to/from user-space and manipulating strings within the kernel.
* And tons of other patches such as scheduler improvements, I/O improvements, networking improvements, etc, etc, etc.

Other features:

* Voltage control (faux123) to allow user-space under-volting.
* BFQ I/O scheduler.
* Track upstream Linux changes

Links

A link to each version is included in the changelog entry. Scroll down to the changelog to download the latest version.

Source (GitHub):
* Kernel source
* Build tools

Installation Instructions:

If you are S-OFF you can flash the update.zip in recovery.

If you are S-ON, then after you flash the update.zip in recovery then, while still in recovery, you must run

Code:
adb pull /tmp/boot.img
<reboot into bootloader>
fastboot flash boot boot.img

Changelog:

Version 5.2.11: December 7, 2013:Initial KK release: Linux 3.4.72, Optimizations
* Linux 3.4.72
* Various optimizations

XDA:DevDB Information
crpalmer-droid-dna-5.x, a Kernel for the HTC Droid DNA

Contributors
crpalmer
Kernel Special Features:

Version Information
Status: Stable

Created 2013-12-07
Last Updated 2013-12-07

Server must be getting hammered... can't download my crack!!!!?!


Never mind it's coming...
 
Last edited:

-DroidIsDNA-

Senior Member
Jan 14, 2013
986
343
rochester
I didn't like smartmax anyway...made me feel like I had a droid incredible again. Very VERY smooth. This on crdroid with halo 2.0 is gold. Thanks for sticking with us. Fast charge would be nice, but I'm content.

Do you take donations? Not trying to look haughty or anything...I truly don't know.
 

crpalmer

Inactive Recognized Developer
Mar 25, 2011
2,999
8,280
I didn't like smartmax anyway...made me feel like I had a droid incredible again. Very VERY smooth. This on crdroid with halo 2.0 is gold. Thanks for sticking with us. Fast charge would be nice, but I'm content.

Do you take donations? Not trying to look haughty or anything...I truly don't know.

Actually smartmax is gone from anything using the CM kernel, not just my kernel. I think crdroid is using their own kernel so it may still be left in there (it's up to them whether or not they cherry-pick my removal of it...).

I don't accept donations. I do all my android work for fun and only for fun. Thanks for the thought though.
 

gillim74

Senior Member
Jul 28, 2012
1,760
343
Celina ohio
Actually smartmax is gone from anything using the CM kernel, not just my kernel. I think crdroid is using their own kernel so it may still be left in there (it's up to them whether or not they cherry-pick my removal of it...).

I don't accept donations. I do all my android work for fun and only for fun. Thanks for the thought though.

Sorry to bother you but how do i run the script.do i have to run them individually at first or just the crpalmer one?great job on the kernel.
 

d08speed3

Senior Member
Jul 23, 2010
2,723
522
Sorry to bother you but how do i run the script.do i have to run them individually at first or just the crpalmer one?great job on the kernel.

What script do you want to run? You can push them using adb.

Sent from my ASUS Transformer Pad TF300T using xda app-developers app
 

rejectedjs

Senior Member
Apr 1, 2012
463
154
Just wondering crpalmer, when you release new kernels like this, do they also contain all of the previous optimizations and such as the kernels before, like an update to work with the new android OS?
 

thayl0

Senior Member
May 26, 2013
990
151
What script do you want to run? You can push them using adb.

Sent from my ASUS Transformer Pad TF300T using xda app-developers app

What are the commands to push the script s because I've never used a custom kernal

Sent from my HTC6435LVW using XDA Premium 4 mobile app
 

orangechoochoo

Senior Member
Nov 30, 2012
2,204
735
Beating up dumbbells
Chris, what are your thoughts regarding the performance options in CM where you can allow purging of assets and kernel same page merging?

I used to have those enabled but I turned them off a couple weeks ago and noticed no difference.
 

crpalmer

Inactive Recognized Developer
Mar 25, 2011
2,999
8,280
Sorry to bother you but how do i run the script.do i have to run them individually at first or just the crpalmer one?great job on the kernel.

The scripts get run every time you boot the phone. Post #2 explains how you configure what the scripts do. There is nothing that you need to run yourself.
 

Uzephi

Inactive Recognized Contributor
Apr 20, 2012
3,439
1,892
Phoenix
Google Pixel 3a
Chris, what are your thoughts regarding the performance options in CM where you can allow purging of assets and kernel same page merging?

I used to have those enabled but I turned them off a couple weeks ago and noticed no difference.

No need to use unless you have little to no AFM (absolute free memory). On phones with less than a gig of ram, KSM is pretty much a given need, as it will merge identical bytes to free up more ram. I have never had less than 600mb AFM on this phone to need to turn on KSM.

Sent from my DNA using my mind.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 39
    This kernel extends the CM kernel with some new features:

    New init.d scripts to allow some tweaking without needing any 3rd party apps
    * See the next post for details.

    Replaced HTC's mpdecision with a new custom hot-plug driver that I created:

    * This hot-plug driver is more aggressive about bring cores on and off-line to match the load on the system.
    * Bringing cores online earlier makes your phone more responsive / smooth.
    * Taking cores offline earlier improves battery life.
    * It ramps up very quickly on resume to avoid lag.

    Replaced HTC's lightsensor table with one that is more sensible and that matches what other devices use. If you have custom auto-brightness settings, you'll probably need to tweak them after installing this kernel.

    There are many additional changes to boost performance and battery life:

    * Linaro -O3 compiled (Linaro 4.8).
    * Overclocking
    * I disable tons of HTC debugging crap left enabled and needlessly consuming battery.
    * Improvements to the core locking code of the kernel.
    * Patches that transform traditional locks into RCU backed data structures.
    * CAF changes to power management to sleep faster and waste less CPU during suspend.
    * Improved code for moving data to/from user-space and manipulating strings within the kernel.
    * And tons of other patches such as scheduler improvements, I/O improvements, networking improvements, etc, etc, etc.

    Other features:

    * Voltage control (faux123) to allow user-space under-volting.
    * BFQ I/O scheduler.
    * Track upstream Linux changes

    Links

    A link to each version is included in the changelog entry. Scroll down to the changelog to download the latest version.

    Source (GitHub):
    * Kernel source
    * Build tools

    Installation Instructions:

    If you are S-OFF you can flash the update.zip in recovery.

    If you are S-ON, then after you flash the update.zip in recovery then, while still in recovery, you must run

    Code:
    adb pull /tmp/boot.img
    <reboot into bootloader>
    fastboot flash boot boot.img

    Changelog:

    Version 5.7.6: April 7, 2014: General Fixes, Linux 3.4.86
    * Linux version 3.4.86
    * Other changes, mostly have been merged into the CM kernel and I forget which changes weren't...

    Version 5.7.6: April 7, 2014: General Fixes, Linux 3.4.86
    * Linux version 3.4.86
    * Other changes, mostly have been merged into the CM kernel and I forget which changes weren't...

    Version 5.8.2: July 19, 2014: Upstream updates and security fixes
    * Patched up to linux 3.4.99 (latest version of as now)
    * Patched up to latest CM (fixes a couple of CVEs, not a whole lot else was missing)
    * Update some video bandwidth parameters

    Version 5.5.2: January 19, 2014: Linux 3.4.77, CM changes
    * CM changes include a fix for the cpu-boost driver, smooth streaming and governor fixes
    * Linux 3.4.77

    Version 5.4.2: January 5, 2014: Linux 3.4.75, I/O Optimizations, CM changes
    * CM changes may resolve lingering problems with min frequency set to max frequency.

    Version 5.3.7: December 20, 2013: Linux 3.4.74, WiFi Optimizations, cpufreq gov. changes
    * Linux 3.4.74
    * Various WiFi optimizations including using less battery when suspended
    * Removed ondemandCRP: It existed because it helped a2dp but, thanks to improvements upstream, this is no longer needed
    * cpufreq config scripts set the governor before the frequencies
    * ondemand: ignore io_is_busy, improves battery

    Version 5.2.11: December 7, 2013: Initial KK release: Linux 3.4.72, Optimizations
    * Linux 3.4.72
    * Various optimizations

    XDA:DevDB Information
    crpalmer-droid-dna-5.x, Kernel for the HTC Droid DNA

    Contributors
    crpalmer
    Kernel Special Features:

    Version Information
    Status: Stable

    Created 2013-12-07
    Last Updated 2014-07-19
    18
    Reserved

    init.d tweaks

    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:

    /system/etc/init.d/99crpalmer

    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:

    CPU Frequencies
    * 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"

    Undervolting
    * + or - value loaded from /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"

    Lightsensor
    * 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
    12
    New release:

    Version 5.5.2: January 19, 2014: Linux 3.4.77, CM changes
    * CM changes include a fix for the cpu-boost driver, smooth streaming and governor fixes
    * Linux 3.4.77
    10
    New version, sorry about the bad changelog but I mostly submit changes to CM these days and it's too hard to keep track of what I've done....

    Version 5.7.6: April 7, 2014: General Fixes, Linux 3.4.86
    * Linux version 3.4.86
    * Other changes, mostly have been merged into the CM kernel and I forget which changes weren't...
    9
    I didn't like smartmax anyway...made me feel like I had a droid incredible again. Very VERY smooth. This on crdroid with halo 2.0 is gold. Thanks for sticking with us. Fast charge would be nice, but I'm content.

    Do you take donations? Not trying to look haughty or anything...I truly don't know.

    Actually smartmax is gone from anything using the CM kernel, not just my kernel. I think crdroid is using their own kernel so it may still be left in there (it's up to them whether or not they cherry-pick my removal of it...).

    I don't accept donations. I do all my android work for fun and only for fun. Thanks for the thought though.