[Kernel][CM 11][4.4.x] crpalmer's kernel for CM11 nightlies - HTC Droid DNA

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

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

Reserved

Giving it a go! Thanks for your continued support for this device man its much appreciated!!!
Sent from my HTC6435LVW using Tapatalk

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

crpalmer said:
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
Click to expand...
Click to collapse
Server must be getting hammered... can't download my crack!!!!?!
Never mind it's coming...

How do i run the scripts?

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.

-DroidIsDNA- said:
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.
Click to expand...
Click to collapse
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.

crpalmer said:
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.
Click to expand...
Click to collapse
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.

Thanks CR

gillim74 said:
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.
Click to expand...
Click to collapse
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

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?

d08speed3 said:
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
Click to expand...
Click to collapse
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

d08speed3 said:
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
Click to expand...
Click to collapse
All of them but i dont know how to push them

rejectedjs said:
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?
Click to expand...
Click to collapse
Yes.

thayl0 said:
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
Click to expand...
Click to collapse
See post #2, it contains example adb commands.

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.

gillim74 said:
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.
Click to expand...
Click to collapse
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.

orangechoochoo said:
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.
Click to expand...
Click to collapse
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.

Related

[Kernel][Sense 4] crpalmer | August 25, 2013

The goal of this kernel is above all stability with the secondary goals of increased performance and increased battery life. I use this phone for several hours a day for work and therefore it must be reliable. I am not focusing on providing a million options for governors, etc. In addition to those main goals of the kernel, I have an additional secondary goal of removing as much HTC code as possible from the kernel.
This is based on the 2.04 kernel source release from HTC with a huge number of modifications. Thanks to faux123, showp, harsh, mdeejay, zarboz and dsb9938 whose kernels I have pulled some commits from.
The unique features of this kernel are:
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.
Replace HTC's thermald with a new custom thermal driver that I created:
* Unlike all other thermal drivers, it uses "trip-points" to let the phone tell the kernel when it is overheating. The other thermal drivers poll every X ms and read the temperature instead.
* By using trip-points, there is 0 battery consumption unless the phone is overheating.
* By using trip-points, there is an instant reaction to temperature changes.
* It's probably nearly impossible to cause thermal shutdown without being in a desert!
Replaced HTC's bluetooth drivers with Code Aurora Forums (CAF) version.
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 from mdeejay's kernel.
* Underclocking to 192MHz.
* 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 version of the ondemand and conservative governors.
* hsic wakelock changes from dsb9938's kernel.
* 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.
Other features:
* Include all mainline Linux changes to keep up-to-date on bug fixes.
* Voltage control (faux123) to allow user-space under-volting.
* BFQ I/O scheduler.
* CAF lowmemorykiller.
* Force fast charge.
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
* Merging of upstream into the stock kernel
* 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 2.0.41: August 25, 2013: Linux 3.4.58, HTC colour "enhancement"
* Merged Linux versions 3.4.53 - 3.4.58
* Added the ability to enable / disable the HTC colour enhancement (this lets you see if you like it or not)
Version 2.0.38: July 7, 2013: Linux 3.4.52
* Linux version 3.4.51 / 52 merged in
* Reverted a small change to the PWM values used for the display (it wasn't giving any value so why change ti)
Version 2.0.34: June 24, 2013: colour enhancement, fixes, debug messages
* Toned done yet more HTC debugging messages
* Enable UTF-8 codepage support for Windows file-systems
* Fix error in HTC's light-sensor calibration table (overflows the 16-bit number they are using)
* Avoid buffer overflow in acdb driver
* Remove HTC's colour enhancement gamma correction (beaups)
Version 2.0.32: June 15, 2013: linux 3.4.49, scheduler & mutex improvements
* Linux 3.4.49
* Three scheduler performance improvements
* Move to more standard and slightly faster mutex implementation
Version 2.0.30: June 8, 2013: linux 3.4.48, small fixes
* Linux 3.4.48
* Fix CVE-2013-2595
* Decrease latency in cpufreq frequency changes
Version 2.0.27: May 26, 2013: init.d governor, 3.4.47
* Ability to specify the cpufreq governor at boot time (see second post).
* Linux 3.4.47
* Remove an annoying HTC debugging message
Version 2.0.26: May 23, 2013: init.d tweaks, 3.4.46, no default undervolting
* Added PVS information to /proc/cpuinfo in case you wanted to knoiw what it is for your phone.
* Linux upstream version 3.4.46
* Improve how I set the CPU frequences to safe levels for boot without having to reset them every time a core is hot-plugged in.
* New init.d scripts for some common tweaks (see post #2).
Version 2.0.23: May 13, 2013: Lightsensor fix, 3.4.45, faster freq. changes:
* Fix an error transcribing the lightsensor ranges into the source.
* Update to Linux 3.4.45
* cpufreq: use a high priority to target new frequencies to allow faster changes under load
Version 2.0.20: May 12, 2013: Lightsensor, 3.4.44, undervolt for "fast":
* Use a new lightsensor table to get a more granular light reading If you have custom auto-brightness settings, you'll probably need to tweak them after installing this kernel.
* Update to Linux 3.4.44
* Undervolted for devices binned "fast" by -100mV.
* CAF fix for cpufreq driver.
Version 2.0.17: May 7, 2013: Linaro 4.8.0 build, minor CAF fixes:
* Moved to updated Linaro 4.8.0 based toolchain (theoretically faster, less battery likely it's unnoticeable)
* CAF: change boot-up order for cpufreq
* CAF BT: recover from a hardware error by resetting the device
Version 2.0.15: May 2, 2013: boot hang fix, 3.4.43, CPU frequencies, brightness, misc fixes:
* Linux 3.4.43
* Small fixes from CAF (bluetooth, usb)
* Restore the CPU frequences/voltages from 1.x.y kernels (previously I was using HTC's new tables)
* simple_plug: keep cores online during boot
* use the correct brightness ranges for our display (HTC cut off the lowest brightnesses).
* fix a race condition on boot with the binder kernel services
Version 2.0.9: April 23, 2013: 3.4.41 and small fixes:
* Linux 3.4.41
* Small fixes from CAF
* Clean up some more HTC crap in the kernel
Version 2.0.6: April 17, 2013: boot changes, linux 3.4.40:
* Linux 3.4.40 (upstream).
* Limit CPU speeds during boot to stock speeds.
* Enable the thermal driver 5 seconds into the boot (previously was 30 seconds).
* Small changes to the ramdisk from the 2.04 update (I forgot these before).
Version 2.0.3: April 15, 2013: on_demand, battery, HTC spew:
* HTC insists on adding more and more debugging messages to the kernel log. Clean these up.
* OnDemand: revert a CAF change I made and disable io_is_busy.
* Remove HTC's over-volting for CPUs binned anything other than nominal.
* defconfig changes to ease building the kernel for CM10.1 (no you can't use this one for CM10.1!).
Version 2.0.0: April 11, 2013: 2.04 (OTA) source drop:
* Updated to Linux 3.4.39
* Updated to HTC's release of 2.04 source
* cgroup permissions fix
* Otherwise the same as 1.2.6
* Note: After running this for a day, I feel like the battery is draining faster and the phone is hotter than it should be. I'm looking into that.
Changelog from 1.2.x
Version 1.2.6: April 4, 2013: ramdisk fix, lowmemorykiller, hsic wakelocks:
* Fix a problem where the ramdisk was no longer disabling mpdecision and thermald. This issue causes a very minor additional battery drain that has now be fixed (Thanks t1gartist!).
* CAF updates to lowmemorykiller.
* Reapply elkay's HSIC fixes by pulling the real commits from CAF (instead of his hand copied commits) which fixes two problems in his commits.
1.2.2: April 1, 2013: linux 3.4.38, lag fixes, bluetooth drivers, cleanup:
* Undo some dubious commits (or extra code included in unrelated commits, what I meant by "early mistakes"). I reexamined every commit in the kernel to decide whether to keep it or remove it.
* Bluetooth drivers are the current CAF msm-3.4 drivers.
* Additional CPU speed and governor information added in /proc/cpuinfo.
* Cleaner patching to upstream linux (see my github repo for the clean upstream patching).
* Linaro -O3 compilation was redone from scratch because there were some problems found by kern3l in the original patches I pulled, I wanted to ensure that there were no other problems so I redid the work myself.
Changelog from the 1.0.x series:
1.0.27: Mar 25, 2013: thermald, simple_plug
* Make the previous changes to simple_plug less aggressive about turning cores back off when applications force them online. We now detect that this has occurred and give the application 2 minutes to be in charge before we force the state back to what we want.
* Change thermald default throttling to be slightly less strict.
1.0.25: Mar 21, 2013: Linux 3.4.37, simple_plug, performance
* Linux 3.4.37
* simple_plug: add a verify mode (every 5 seconds => almost 0 cost) that fixes the state when apps bring cores on/off-line (e.g. kernel tuner).
* rwsem performance improvements
* CAF improvements (correctness, performance) of the power management layer
1.0.21: Mar 16, 2013: Linux 3.4.36
* Linux 3.4.36
* Small bug fixes from CAF
1.0.18: Mar 7, 2013: Linux 3.4.35
* Linux 3.4.35
1.0.17: Mar 4, 2013: Linux 3.4.34, Linaro 4.7-2013.02, thermald fix
* Linux 3.4.34.
* Linaro 4.7: stopped using 4.8 beta builds due to stability fears and lack of apparent benefit from it. The latest 4.7 drop back-ports some optimizations anyway.
* lowmemorykiller: switch to the CAF version of the low memory killer.
* Fixed several bugs in HTC's thermal driver that could cause the termal driver to miss thermal events.
1.0.15: Feb 26, 2013: Battery optimization, performance, thermal & hotplug improvements
* governor: make ondemand the default governor
* GPU: Very minor GPU overclock to 487MHz (from mdeejay).
* msm_thermal: react better when temperature decreases.
* simple_plug: be slightly less aggressive about bringing cores online.
* New suspend mode PM_SUSPEND_FREEZE
* Oprimization for RWSEM lock handoffs.
* RCU locking in cpufreq!
* Disable more HTC debugging code.
1.0.11: Feb 22, 2013: Battery optimizations, Linaro 4.8 build, update.zip format
* Disable HTC's PNP power manager and adaptive policy services (used for thermald / mpdecision which are already disabled).
* Turn off all the kernel code that was polling to compute the state needed for thermald / mpdecision.
* Turn off a bunch of HTC statistic collection and debugging that isn't needed and wastes battery.
* Linux 3.4.33: fixes a kernel memory corruption/hang in all 3.0 and 3.4 kernels
* Sparkco's 4.8 Linaro build is now being used to compile the kernel
* Moved to update.zip format with less commonly used modules moved to loadable modules.
1.0.8: Feb 19, 2013: Switch to different OC values
* Now using mdeejay's over/unclocking (hopefully solving the L2 cache corruption panic).
* thermal driver is less aggressive about throttling the phone with an additional early step down to stock speed
(50C => 1.5GHz, 75C => 1.3GHz, 83C => 918MHz, 90C => 384MHz).
* Linux 3.4.32 (although no changes that would affect our phone).
1.0.7: Feb 15, 2013: thermal driver no longer polls for state
* Linux 3.4.31.
* Now using the 2013-01 build of the Linaro toolchain.
* Major rewrite of the thermal driver to remove polling (now uses essentially no power).
* Tweaks to the hot-plug driver to reduce CPU consumed to reduce power consumed.
1.0.5: miscellaneous optimizations
* Optimization: use optimized memcpy for user-space copies
* Update to linux 3.4.30
* Tons more cleansing of excessive debugging output
* Use RCU_FAST_NO_HZ as caf claims to have found that this improves battery life
* More linaro -O3 fixes from kern3l via dsb
1.0.2
* cm3629 driver, removed power button pocket check (sounds like a good idea, doesn't work and is a likely candidate for an infrequent sensor drain coming from the proximity sensor not turning off).
* cm3629 remove some unused functionality.
* Two small fixes from kern3l via dsb9938's kernel.
* clean some log messages.
1.0.0
* Merge linux 3.4.29
* simple_plug: a new CPU hot-plug driver (default)
* msm_thermal: a new thermal throttling driver (default)
* faux123's intelli_plug (disabled by default)
* faux123's intellidemand governor (default)
* disable mpdecision and thermald in initrd
* dsb9938's overclocking tables, GPU fix and more -O3 changes
* optimizations/fixes from faux123's mako kernel
* Based on elkay's LK kernel which is based on dsb9938's kernel.
* Includes all elkay's HSIC fixes, but nothing beyond that.
* Linaro -O3 compilation (zarboz) and other compiler flags (dsb9938).
* Disabled remote assistance because that just creeps me out.
* NTFS and CIFS.
* Various optimizations and improvements (faux123's mako kernel, similar to dsb9938's pulls from there).
* Force fast-charge (dsb9938).
* Voltage control (faux123).
* Latest OnDemand and Interactive governors from faux123's mako kernel.
* Large set of scheduler fixes / improvements (faux123).
* Underclocking (but not overclocking right now) to 192 MHz.
* BFQ I/O scheduler (default).
* Cleaned up debugging to make the kmsg more useful.
FAQ
sweep2wake: I have no plans to add that to this kernel at this time.
FAQs
init.d tweaks
I really like Zarboz's goal of trying to get rid of the need for 3rd party apps to make the common changes that we want to make to some of the configurable parameters of the kernel. 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. 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.
The tweaks are:
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 stock colour "enhancement" will be used, otherwise it will be disabled.
* Introduced in kernel 2.0.41.
** E.g. adb shell touch /sdcard/crpalmer-color-enhancement
My WIFI Won't Turn On
If your WIFI won't turn on then the most likely cause is that either you didn't flash the boot.img (e.g. not S-OFF) or your modules don't match the kernel. To figure out what's wrong, first boot the ROM after having installed my kernel. Second, verify that you are running my kernel by running
adb shell cat /proc/version
and seeing that it says crpalmer in (it should match the version that you think you installed, but at least saying crpalmer is a good start). Then do:
adb shell dmesg -c
(turn on wifi)
adb shell dmesg
and look for an error that says crpalmer in it (something like a module version mismatch error). If you see that, it should tell you the version number of the modules that are installed and the version of the kernel.
Re: [Kernel] [Linaro] [Linux 3.4.29] Version 1.0.0 - Feb 7
Thanks for this. Looks good. :thumbup:
Sent from my ViperDNA
nice, moar kernel development :highfive:
welcome aboard
Re: [Kernel] [Linaro] [Linux 3.4.29] Version 1.0.0 - Feb 7
So no modules to flash?
Sent from my HTC6435LVW using Tapatalk HD
idkwhothatis123 said:
So no modules to flash?
Click to expand...
Click to collapse
That's right. No need to flash the return-to-stock modules either.
Thank you for this! I also find it hilarious that you including instructions for benchmarking. To this day I still wonder why people actually care about benchmarks as they have little to no impact on real world performance.
Re: [Kernel] [Linaro] [Linux 3.4.29] Version 1.0.0 - Feb 7
azndan2 said:
Thank you for this! I also find it hilarious that you including instructions for benchmarking. To this day I still wonder why people actually care about benchmarks as they have little to no impact on real world performance.
Click to expand...
Click to collapse
Self defense... I didn't want to deal with people getting 8K scores and blaming me.
Antutu is actually really useful for testing the thermal driver.
Very nice, does this have the latest changes that were just removed from elkays kernel? Also, could you add the lionheart gov?
Nice to see another kernel to choose from, I will give it a shot this weekend. Will you eventually put any you tweaks? Also, can this be flashed with FlashGui?
Re: [Kernel] [Linaro] [Linux 3.4.29] Version 1.0.0 - Feb 7
orangechoochoo said:
Nice to see another kernel to choose from, I will give it a shot this weekend. Will you eventually put any you tweaks? Also, can this be flashed with FlashGui?
Click to expand...
Click to collapse
just tried, flashgui won't even let you flash it. Gotta wait till I get home I guess!
Sent from my HTC6435LVW using Tapatalk 2
Thanks for giving it a shot.
Re: [Kernel] [Linaro] [Linux 3.4.29] Version 1.0.0 - Feb 7
codezzie said:
Very nice, does this have the latest changes that were just removed from elkays kernel? Also, could you add the lionheart gov?
Click to expand...
Click to collapse
I looked at elkays changes and it removes a background task that encourages a USB device to power down. This may or may not be a good thing. I'll see how elkay's testing goes before I pull in the change. If it goes well, I'll give it a try.
Re: [Kernel] [Linaro] [Linux 3.4.29] Version 1.0.0 - Feb 7
orangechoochoo said:
Nice to see another kernel to choose from, I will give it a shot this weekend. Will you eventually put any you tweaks? Also, can this be flashed with FlashGui?
Click to expand...
Click to collapse
What tweaks? It.already has a lot of improvements...
Any idea what flashgui accepts as input?
I didn't see any mention of gpu tweaks so I didn't want to make assumptions, hence my question.
EDIT: I just noticed my autocorrect changed "gpu" to "you" in my post you responded to.
Re: [Kernel] [Linaro] [Linux 3.4.29] Version 1.0.0 - Feb 7
crpalmer said:
Any idea what flashgui accepts as input?
Click to expand...
Click to collapse
Flashgui worked for me. Renamed file to "boot.img" and ignored the warnings. I like living on the edge. Booted up and shows this kernel version. Thanks for this.
Stay thirsty, my friends
Re: [Kernel] [Linaro] [Linux 3.4.29] Version 1.0.0 - Feb 7
Had a glitch with it already, phone was sleeping, got a message on gtalk and it locked full on vibration, blinking the led, wouldn't wake up and eventually rebooted after maybe 10 seconds. I've had this happen on one of the dsb kernels too, I think. Wiped caches again, hasn't occurred again so far.
Happened not 10 minutes after flashing it so I'm chalking it up to kernel making itself at home, just a note that it happened.
Edit: just rebooted again getting an email notification, UKB 1.3. Seems I can't receive a notification while the phone is sleeping or it jams up and reboots.
Sent from my HTC DNA
Re: [Kernel] [Linaro] [Linux 3.4.29] Version 1.0.0 - Feb 7
matteebee said:
Flashgui worked for me. Renamed file to "boot.img" and ignored the warnings. I like living on the edge. Booted up and shows this kernel version. Thanks for this.
Stay thirsty, my friends
Click to expand...
Click to collapse
Just did the same thing, was coming back to edit my last post lol
Sent from my HTC6435LVW using Tapatalk 2
pio_masaki said:
Had a glitch with it already, phone was sleeping, got a message on gtalk and it locked full on vibration, blinking the led, wouldn't wake up and eventually rebooted after maybe 10 seconds. I've had this happen on one of the dsb kernels too, I think. Wiped caches again, hasn't occurred again so far.
Happened not 10 minutes after flashing it so I'm chalking it up to kernel making itself at home, just a note that it happened.
Edit: just rebooted again getting an email notification, UKB 1.3. Seems I can't receive a notification while the phone is sleeping or it jams up and reboots.
Sent from my HTC DNA
Click to expand...
Click to collapse
After it reboots, can you try to get a log with
adb shell cat /proc/last_kmsg > last_kmsg.txt
and send a link to the last_kmsg.txt file?
orangechoochoo said:
I didn't see any mention of gpu tweaks so I didn't want to make assumptions, hence my question.
EDIT: I just noticed my autocorrect changed "gpu" to "you" in my post you responded to.
Click to expand...
Click to collapse
Ah, that makes more sense... I'm planning on including dsb's changes to any overclocking, etc. but I don't have the knowledge to tweak these settings myself.

[Kernel] [4.3.1][CM 10.2] crpalmer's kernel for the official nightlies

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 version of the ondemand
* 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.
Other features:
* Voltage control (faux123) to allow user-space under-volting.
* BFQ I/O scheduler.
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:
The following kernels likely do not work with CM builds from before October 2, 2013:
Version 4.9.0: November 6, 2013:Linux 3.4.67, Optimizations, Underclocking, Scheduler
* Linux 3.4.67
* Various optimizations from franciscofranco's N5 kernel
* Underclocking based on faux123's N4 kernel
* Scheduler overhaul from faux123's N4 kernel
Version 4.7.4: October 21, 2013:Linux 3.4.66, Westwood+, Upstream
* Linux 3.4.66
* Switch to Westwood+ for TCP congestion control (theoretically better for wireless networks).
* Merge upstream changes to the kernel
Version 4.4.15: October 4, 2013:revert audio change
* Revert: slight changes to audio from CAF (they broke alarms!)
Version 4.4.14: October 2, 2013: merge upstream, audio, scheduling, ondemandCRP, SIP
* Slight changes to audio from CAF
* HRTICK enabled to improve scheduling responsiveness (merged)
* Fix for cisco phones (merged)
* Fix buffer overflow in printk
* Added ondemandCRP governor
* Merged all upstream changes.
** New ondemand governor, updated interactive governor
** More responsive CPU scaling
** Video updates
** Multi-touch fix
** Fix video underruns (blue flicker)
The following kernels do not work with CM builds from after October 2, 2013:
Version 4.3.3: September 20, 2013: merge upstream, camera fix
* Merged all upstream changes.
* Fix focus and possibly other camera oddities
Version 4.2.3: September 15, 2013: Fix init.d script
* Actually disable mpdecision! (thanks orangechoochoo)
Version 4.2.2: September 14, 2013: Sony panel, OTG
* Re-introduce Sony panel (merged)
* Fix USB OTG host mode (merged)
* Use invisiblek's improved splash screen fix and remove my hack
Version 4.1.1: September 10, 2013: GPU / Display / Clocks / Flicker?
* Synch the GPU code with the M7 / upstream
* Make the display code more inline with the M7 / upstream, use the proper late_init ./ early _off interface
* Add missing clocks
* These changes (most notably the clocks change) may have improved the screen flickering (only time will tell).
Version 4.0.12: September 9, 2013: First release
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
My WIFI Won't Turn On
If your WIFI won't turn on then the most likely cause is that either you didn't flash the boot.img (e.g. not S-OFF) or your modules don't match the kernel. To figure out what's wrong, first boot the ROM after having installed my kernel. Second, verify that you are running my kernel by running
adb shell cat /proc/version
and seeing that it says crpalmer in (it should match the version that you think you installed, but at least saying crpalmer is a good start). Then do:
adb shell dmesg -c
(turn on wifi)
adb shell dmesg
and look for an error that says crpalmer in it (something like a module version mismatch error). If you see that, it should tell you the version number of the modules that are installed and the version of the kernel.
reserved
Note for those of you used to an existing kernel of mine.
This kernel involves reporting all of my changes to a new base. As such, it is likely to have some issues at the moment. Please let me know if something isn't working right.
This kernel is based on Linux 3.4.10 and not the latest 3.4 Linux kernel. I may change that in the future, but for the time being it makes it easier to try to move code to and from the CM repos to leave it at 3.4.10 and therefore I won't be changing that for now.
This kernel does not contain my thermal driver. I haven't spend the time to port it to this kernel yet and the stock seems to be working a lot better than the DNA one. Therefore, I may never bother porting it.
This kernel does not contain force fast-charge. I may add it again the future.
This cant work on the latest unofficial CM correct?
Sent from my HTC6435LVW using xda app-developers app
d08speed3 said:
This cant work on the latest unofficial CM correct?
Sent from my HTC6435LVW using xda app-developers app
Click to expand...
Click to collapse
The title says they're for the official nightlies, so I'd doubt it.
Just flashed this. I'm new to your kernel init.d settings. How do I make them run exactly?
Sent from my HTC6435LVW using XDA Premium 4 mobile app
Excellent work as always. Looking forward to every new release.
Kernel is running great! Can you pleassssssse add fast charge
Sent from my HTC6435LVW using xda app-developers app
---------- Post added at 07:18 AM ---------- Previous post was at 06:40 AM ----------
d08speed3 said:
Kernel is running great! Can you pleassssssse add fast charge
Sent from my HTC6435LVW using xda app-developers app
Click to expand...
Click to collapse
Scrolling does feel choppy
Sent from my HTC6435LVW using xda app-developers app
Not sure how relevant this is to folks, but my phone's running PPSSPP games, most noticeably Dissidia 012, much better with this kernel and CM10.2 than it was with the 4.3 roms from about a week ago.
I just posted a new release. I have been completely flicker free today running this kernel. It could be a fluke, but at the moment I am (once again) optimistic that we might have a solution.
If you have bad flickering on CM ROMs, can you let me know how this version works for you?
Version 4.1.1: September 10, 2013: GPU / Display / Clocks / Flicker?
* Synch the GPU code with the M7 / upstream
* Make the display code more inline with the M7 / upstream, use the proper late_init ./ early _off interface
* Add missing clocks
* These changes (most notably the clocks change) may have improved the screen flickering (only time will tell).
I see you added smartmax governor. I've never used it have you? Just wondering.
Sent from my HTC6435LVW using xda app-developers app
d08speed3 said:
I see you added smartmax governor. I've never used it have you? Just wondering.
Sent from my HTC6435LVW using xda app-developers app
Click to expand...
Click to collapse
That'd coming from the stock kernel. I haven't played with it at all.
This kernel is amazing so far; it fixed the wonky boot image thingy, and most of my flickering is gone as well, and mine was pretty bad occasionally. Lets see if it holds tomorrow. Only other thought is maybe USB OTG, but thanks CrPalmer.
Rock solid on my device, but I've never had very bad flickering (knock on wood). Thanks for the great work!
Thanks, could please fix the autofocus of the camera that does not work!
Any positive or negative reports on the flickering with 4.1.1?
crpalmer said:
Any positive or negative reports on the flickering with 4.1.1?
Click to expand...
Click to collapse
none here sir..... none seen .. running cyanfox
mike_augie said:
none here sir..... none seen .. running cyanfox
Click to expand...
Click to collapse
Did you have a lot, a little, some flickering on older kernels? How long have you been running it?
Been running cyan since day of release and both Ur kernels for 4.3 l since u put them out a few days ago ... Had slight flickering nothing hard core like some had reported could see it more in bright light but seems to have almost totally took care of mine ...
Sent from my HTC6435LVW using xda app-developers app

[KERNEL] MiRaGe - for Nexus 4 stock ROM 10/25/15

MiRaGe is a lean and efficient kernel for the stock Nexus 4 ROM with the optimizations and updates that are not included in Google's stock kernel. MiRaGe kernel fits squarely in the stock Nexus 4 ROM; all of the modules are integrated in the kernel just like the stock kernel and it should work with all AOSP ROMs that work with the stock kernel and boot image. However, only the current stock ROM is tested. If you decide to use MiRaGe, just flash and forget it since I have avoided adding more sysfs parameters. It is not my goal to enable all possible tweaking options and add every possible feature to the kernel such as multitude of governors, io schedulers, sweep2wake, fastcharge, etc. This kernel is not intended as a tweaker's kernel. You can, of course, tweak it as much as you want since that is your phone and kernel. But please try removing your tweaks before posting any problems. I always test the latest builds with the current stock ROM before posting here.
I am sharing exactly what I have developed for myself and posting here so that I can return at least a small part of what I have received from the open source community. I thought the amount of time I have spent for MiRaGe could be useful for others as well. In short, take it if you want it, leave it if you don't. But comments, suggestions are always welcome when they make sense.
Source Code:
Source code is based on Google's msm kernel source (currently android-msm-mako-3.4-lollipop-mr1.1) and a summary of my changes are below. You can find the full details of my changes and the complete source code in my repo.
Changes:
- synced with mainline Linux 3.4.110
- cleaned up kernel configuration and removed many unnecessary options
- removed kernel debugging options
- built with the Linaro toolchain (gcc 4.9.4 - 15.06) using standard krait and -O2 optimization
- removed AOUT and OABI support
- disabled both user-space msm_mpdecision and kernel-space msm_mpdecision
- removed msm_run_queue_stats, dcvs, and stock msm_mpdecision in the kernel
- added autosmp, a simple and efficient (by me) multi-core cpu hotplug driver
- disabled the user-space thermald and switched to kernel-based msm_thermal
- replaced CFQ with the latest BFQ as the default IO scheduler
- backported random and prandom updates from Linux 3.13 (no entropy depletion anymore)
- backported workqueue from Linux 3.8 to include many important improvements
- backported rwsem from Linux 3.11 to include lock stealing improvements
- backported mutex and rcu locking from Linux 3.10 and 3.8, respectively
- backported slub memory allocator updates from Linux 3.8
- backported cpufreq driver, ondemand, and conservative governors from Linux 3.12
- updated interactive CPU governor from AOSP and CAF
- disabled userspace CPU governor,
- enabled callback-free CPUs (RCU_NOCB_CPU)
- backported TCP Small Queues and CODEL net scheduler from Linux mainline and set as default
- updated kernel scheduler, msm-hotplug, msm-idle, msm-pm code from CAF and Linux mainline
- applied patch [v4] binfmt_elf.c: use get_random_int() to help with entropy depleting
- enabled autogroup scheduler and applied patch per-uid task group for Android
- added optimized ARM RWSEM algorithm
- added optimized ARM SHA1/AES routines
- enabled CPU-supported unaligned accesses
- disabled gentle fair sleepers in scheduler
- updated Qualcomm HW RNG driver from CAF
- enabled BPF JIT compiler for packet filters
- applied glibc patch to improve the performance of memcpy and memmove
- applied word-at-a-time ARM API patches
- enabled CPU overclocking up to 1.728 GHz with user-space vdd control
- optimized vdd curves, L2 and bus speeds for better performance and efficiency
- removed unneeded a2xx and a4xx components from kgsl driver
- modified the prima wifi driver to disable debug code
- removed PMEM completely, MiRaGe is pure ION
- add support for kernel mode NEON and NEON acceleration
- add NEON optimized SHA1, SHA256, and SHA512 crypto code
- add LoUIS API for cache maintenance ops to improve cpu hotplug latency
- added and enabled power_efficient workqueue
- added and enabled msm memutils
- added screen gamma, user space cpu voltage control, and dt2w
- backported devfreq driver from CAF and switched kgsl 3d governor to simple_ondemand
- backported many other fixes/updates/optimizations from CAF and Linux mainline, see the repo for details
- init.d supported if /etc/init.d and busybox are available
- a diff file of changes to ramdisk is here
Downloads:
Boot image for stock ROM:
LMY standard kernel Built: 10/25/15 MD5sum: a315cc446499d60cb4b3a61ea7bfa8f8
LMY overclock kernel Built: 10/25/15 MD5sum: 7c72a66830f511b025968db2bb743429
Anykernel updater for custom ROM:
Revert back to stock kernel to restore the original ramdisk and flash anykernel package of MiRaGe after that. This is not needed in the next anykernel update.
LMY standard kernel Built: 10/25/15 MD5sum: 85b4136ac0ada793da7b80763193095a
LMY overclock kernel Built: 10/25/15 MD5sum: 2924fb6a963b40087c296a7b1abfc1d3
KTU standard kernel Built: 10/31/14 MD5sum: dca7d06933eb43c8da3ba7941bb6ac88
KTU overclock kernel Built: 10/31/14 MD5sum: dca7d06933eb43c8da3ba7941bb6ac88
The only difference between the standard and overclock builds is the ~100mV undervolt in the overclock build. Both kernels have maximum CPU_freq = 1.728 GHz, default CPU_freq = 1.512 GHz, overclocking, and user space cpu voltage control enabled. Since the CPU gets hot quickly in Nexus 4, I only recommend overclocking with the overclock build that has built-in undervolt. If the phone doesn't boot with overclock kernel, it means that your CPU is not able to handle the undervolt settings. In that case, you can just reboot into recovery and flash the standard kernel. No-frills CPU Control is recommended to set the max overclock frequency. Each CPU has different overclock/undervolt ability. Don't get disappointed if the OC build doesn't work for you.
Installation:
You can do one of the followings
- Flash the zip files in recovery, there is no need to wipe cache or dalvik-cache
- Flash the boot image in the zip file using either Flash Image GUI or fastboot
- Here is the original boot image for LMY48I build, in case needed for going back to stock. Either flash in the recovery or open the zip file to extract the boot image.
Credits:
- Special thanks to Linux, Google, CAF, Linaro developers in general.
- @tvall, @bedalus, @xboxfanj, @ihancioglu, @xenyz for collaboration
- @stratosk for the screen gamma interface and dt2w
- @defconoi for collaboration (see Unleashed Kernel Series)
- @mathkid95 for the any-kernel updater package
- @joeykrim for FlashImageGUI
- @Christopher83 for the optimized Linaro toolchain builds
- Other credits are given in the repo for each commit
Recommendations:
I am frequently receiving requests to add sound patches in the kernel. I agree that the sound is not very good but there are solutions. I am using the Viper4AndroidFX as a replacement sound processor. I recommend giving it a try. You need to go to the sound options and select ViPER4AndroidFX to use this sound processor or freeze MusicFX (I use Link2SD for this). There is plenty of information at the above link. With this available, I am not planning to add any sound patches.
Another frequent question is about choosing CPU governor and IO scheduler. In the earlier builds, interactive governor had the best balance of performance and battery life among other CPU governors and it is still available. In the latest builds, ondemand governor was backported from Linux 3.12 and replaced interactive as the default. The latest patches in the mainline Linux, especially stratosk's patch that optimized the load calculations made the new ondemand governor the better option regarding both power and performance. Regarding IO scheduler, BFQ scheduler has the best overall real-use performance and it is actively maintained/improved. You can use Nofrills CPU Control to change the governor and scheduler. But I would leave the defaults as BFQ scheduler and ondemand governor.
Since all of the cpu power control functions are contained in the kernel with MiRaGe, the userspace PowerHAL library will be giving the following messages in the logcat.
Code:
E/PowerHAL( 511): touch_boost: failed to send: No such file or directory
E/PowerHAL( 511): touch_boost: failed to send: No such file or directory
E/PowerHAL( 511): touch_boost: failed to send: No such file or directory
These are harmless but if you want to eliminate them, just make a backup and delete/rename /system/lib/hw/power.msm8960.so and power.mako.so. The single purpose of touch_boost is to enhance the system response to the user interaction. But using a service in the user space to send a touch boost signal to the kernel via slow sysfs file system is the wrong way of trying to achieve lower latency. In addition, every touch input doesn't need a CPU frequency boost which wastes battery power. The best way of achieving the low-latency system response to user interaction is improving the efficiency of existing CPU governor which raises the CPU frequency and hotplug driver which enables off-line cpu cores when needed. In MiRaGe, CPU freq is only controlled by the CPU governor based solely on the CPU load and the latency is low since efficiency is improved by reducing such unnecessary bloat. Additionally, highly-efficient autosmp hotplug driver works in-sync with the CPU governor to enable off-line cpu cores when the the CPU frequency reaches a high threshold and still more compute power is needed. Therefore, touch boost bloat is removed.
With some of the custom ROMs, root is lost after flashing MiRaGe because of using the init scripts in the ramdisk for starting the su daemon. SuperSU is the recommended solution. I might switch to any-kernel-updater to address this problem but as written in the OP, MiRaGe is primarily for the stock ROM. Also, having the full boot image in the zip file is more reliable than expanding/processing/repacking the boot image.
MiRaGe supports init.d if it is setup. To setup init.d do the followings either within ES File Explorer or terminal .
- install busybox (I use busybox on rails)
- create /system/etc/init.d and chmod to 755 (rwxr-xr-x)
- create your init scripts in the /system/etc/init.d directory. Name them 01yourscriptname (e.g. 01mysettings) and chmod 755. Make sure they are UNIX format (not in DOS/Windows).
example:
Code:
#!/system/bin/sh
echo 1 > /sys/devices/virtual/input/lge_touch/dt_wake_enabled
- reboot
Here is how to add multiROM support
How to build:
If you are going to distribute your builds, please don't build your binaries with the same name (i.e. MiRaGe) and distribute in this thread. I would recommend you to start an alternative thread. Otherwise the problem reports will be too confusing for everyone.
First requirement is an ARM toolchain for cross compiling, i.e. using an X86 computer to generate ARM binary. I use Linaro tool chain for cross compiling like many others since Linaro specifically develops tool chains that produce optimized binary for ARM architecture.
Linaro toolchains can be downloaded from Linaro binary page. Christopher83 has built the latest Linaro-14.08 toolchain based on gcc-4.8.4 which is stable/reliable and I recommend starting the development with this toolchain.
The binary Linaro toolchain for Linux package needs to be expanded in a certain directory, probably inside the home directory. The source code for kernel is available in my Github repo, You can either download the kernel source as a compressed package or you can git-clone it with the following command (you will need git installed in your Linux computer)
Code:
git clone https://github.com/mrg666/android_kernel_mako.git
The kernel source can again be in a specific home directory.
After the source and toolchain are prepared, copy the configuration file for shooter, arch/arm/configs/mako_config, as .config to the root of the kernel source and use the following command to build the kernel
Code:
make ARCH=arm CROSS_COMPILE=~/untarred-toolchain-dir/bin/arm-linux-gnueabihf- zImage -j8
Replace j8 in the above command according to the number of cpus you have on your computer.
Also set CROSS_COMPILE based on the directory you have expanded the binary toolchain package in your home directory.
I always use the latest version of Xubuntu x64 (with custom built kernel) on my Linux workstation that has a AMD FX-8320 (overclocked to 4.2 GHz), 8 GB RAM, 500 GB HD. The compile time is about 2 minutes for me using all 8 cores. I have been using Ubuntu since version 10.04 to build Gingerbread, Jellybean, and Linux kernel and updated the OS to each and every new version, all of them worked just fine. There is no magic version of Ubuntu. The build problems arise from the package requirements not the OS version.
The flash package is easy. Just use any-kernel updater package in the OP as a template and replace zImage in /kernel directory with your build. If you want to create a boot image, see this post
Now that you have source and can build the kernel, you can add all the features you want to your own kernel
Woww greatt, thanks mirage
many thanks Mirage!
Does JSS come with caf video driver or it can be flashed on non-cm roms without problems?
Inviato dal mio Nexus 4 con Tapatalk
Good to see new kernel which goal is simplicity, not many of them are here. ill try it when clean instal comes to repertoar. just one question, you didnt mention -O3 and gcc 4.8.2, so i asume you didnt use them? Thanks.
Poslano sa mog Nexus 4 koristeći Tapatalk
I haven't updated the video driver from CAF ... yet. I will do after the 4.4 update if Google hasn't done yet.
Kernel is compiled with gcc 4.7.4 using -O2 optimization. gcc 4.8 was not giving me reliable builds yet. I will switch when 4.8 becomes stable. I have tried O3 optimization in the past and I didn't see any benefit of it. Plus, O3 optimization caused reliability issues especially with the latest gcc compilers.
MiRaGe should be compatible all AOSP-based ROMs, as long as the same user-space libraries are used with the stock 4.3 ROM. I can't claim universal compatibility since even stock JSS and JWR builds need different kernels.
Would you consider making a ZIP?
I found your kernel to be quite interesting, but I don't really like flashing via IMG file.
C.T.Richter said:
Would you consider making a ZIP?
I found your kernel to be quite interesting, but I don't really like flashing via IMG file.
Click to expand...
Click to collapse
you can download one of 1000 kernels around here and replace the kernel.img ... and wholà you have a zip version.
anarkia1976 said:
you can download one of 1000 kernels around here and replace the kernel.img ... and wholà you have a zip version.
Click to expand...
Click to collapse
Can't agree with you more but the problem with so many people on xda is that they rarely even open up a zip file to see how it operates. Guarantee most of the people will shy away simply because of the lack of a zip. Again I agree its not that hard to do but lets be honest here most have problems searching so taking a boot.img and putting it in a zip probably aint happening
I have just uploaded the alternative flashable zip files. I will remove the image files since they are in the zip files now.
Just flashed on slim and lost root... Just a heads up
Sent from my Nexus 4 using XDA Premium 4 mobile app
anarkia1976 said:
you can download one of 1000 kernels around here
Click to expand...
Click to collapse
LOL that's right!
QUIETLYloud said:
Just flashed on slim and lost root... Just a heads up
Sent from my Nexus 4 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
That can't happen due to flashing the zip files in the OP since there is nothing in the zip file that touches /system, it is not even mounted.
Gonna give it a go on Vanir. I'll report back of my root gets effected. Happened a lot with 4.3 when it first came out
Sent from my Nexus 4 using Tapatalk
DontPushButtons said:
Gonna give it a go on Vanir. I'll report back of my root gets effected. Happened a lot with 4.3 when it first came out
Sent from my Nexus 4 using Tapatalk
Click to expand...
Click to collapse
I am using CWM 6.0.4.4. It is constantly suggesting to restore my root although it is not lost. If this is what is mentioned here, just ignore it; root is not lost. SuperSU, su keep working. Actually, I am losing my patience with CWMT lately. Maybe it is time to switch to TWRP.
mrg666 said:
I am using CWM 6.0.4.4. It is constantly suggesting to restore my root although it is not lost. If this is what is mentioned here, just ignore it. Root is not lost. SuperSU, su keeps working. Actually, I am loosing my patience with CWMT lately. Maybe it is time to switch to TWRP.
Click to expand...
Click to collapse
I'd say it's long overdue to switch to twrp lol. Ever since I switched to twrp back on my rezound, I have NEVER looked back to cwm. Not to say cwm isnt/wasn't great.. But you know how it is lol.
Sent from my Nexus 4 using Tapatalk
DontPushButtons said:
I'd say it's long overdue to switch to twrp lol. Ever since I switched to twrp back on my rezound, I have NEVER looked back to cwm. Not to say cwm isnt/wasn't great.. But you know how it is lol.
Sent from my Nexus 4 using Tapatalk
Click to expand...
Click to collapse
I just don't like the "overdesigned" interface of TWRP. It is too fancy for my taste. But as long as it works when needed, it would be fine with me. I don't boot into recovery so frequently anyway since I flash the kernel in fastboot or Flash Image GUI.
Oddly enough, I lost root. I'm currently running the latest version of Paranoid Saberdroid.
C.T.Richter said:
Oddly enough, I lost root. I'm currently running the latest version of Paranoid Saberdroid.
Click to expand...
Click to collapse
Is it just what the recovery says? I use the stock JWR ROM and root is preserved when I flash although CWMT falsely complains about it.
Edit: I just tested with TWRP as well. Root is still preserved.
mrg666 said:
Is it just what the recovery says? I use the stock JWR ROM and root is preserved when I flash although CWMT falsely complains about it.
Edit: I just tested with TWRP as well. Root is still preserved.
Click to expand...
Click to collapse
Using TWRP there is no error message, it just says it was installed successfully.
I just tried it on a clean install, and the same thing happened.

[KERNEL][Jet][AOSP][4.4][26Jul] Bubba Kernel

Disclaimer:
#include
/*
* 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.
* 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.
* blah blah blah you get the point.
*/​
1# post: Disclamer - special thanks
2# post: Current release & source
3# post: FAQ - bugs - future features
Donator List: (huge thanks for support)
here
Suggested kernel control app: trickstermod
I don't know if it works because i don't own the device but i have got ville which is pretty similar
[GUIDE]How to compile a kernel
Credits and Thanks:
dsixda, showp1984, ngtools, faux123, Christopher83, franciscofranco, msm8960 team, jrior001
XDA:DevDB Information
AOSP Bubba Kernel, Kernel for the Sprint HTC EVO 4G LTE
Contributors
rmbq
Kernel Special Features:
Version Information
Status: Stable
Stable Release Date: 2014-07-26
Current Beta Version: 24 Apr
Beta Release Date: 2014-04-24
Created 2014-04-23
Last Updated 2014-07-26
Reserved
Features:
Based on linux 3.4.99
Compiled with linaro toolchain 4.9.1 2014.07 optimized for cortex-a15
Linaro -O3 optimization
avaiable CPU governors: interactive, ondemand, performance, powersave, intellimand, intelliactive
avaiable GPU governors: ondemand, performance, simple
avaiable schedulers: row, deadline, noop, cfq, bfqv7r4, fiops, sio
Sleepy Plug
NTFS read & write support
exfat support
UTF8
Voltage control
Sweep2Wake
Double tap 2 wake
Pocket detection
Intelli-thermal
zRam with LZ4 compression
zCache with LZ4 compression
CPU OC to 1.7 GHz
GPU OC to 512MHz (3D) and 320MHZ (2D)
Faux sound control v. 3
Improved alghorithm: SHA1, AES, SQRT, lib/string (glibc version), lib/memcopy (glibc version), XOR (neon)
dynamic fsync by faux123
fastcharge
powersuspend driver (replace earlysuspend)
KCAL control (RGB)
heavly patched memory allocators, RWSEM and mutex (take a look at my github, too many changes to make a list here)
Changelog:
Code:
[JUL 26 2014]
Revert "prctl: adds the capable(CAP_SYS_NICE) check to PR_SET_TIMERSLACK_PID."
Revert "prctl: adds PR_SET_TIMERSLACK_PID for setting timer slack of"
add qseecom support
some defconfig changes
cpufreq: revert CAF's cpu policy save code
sched/cpuidle: reduce IPI storm. Backport upstream 3.16
mm, hugetlb: improve page-fault scalability
mm: per-thread vma caching
update compiler to linaro toolchain 4.9.1 2014.07 optimized for cortex-a15
update to 3.4.99
added KCAL control by faux and fixed by me
add F2FS support
Revert "msm: htc: update mem mapping"
[JUL 17 2014]
update to 3.4.98
sync with cm
sync with codeaurora/kk_2.7-stable
update sleepy_plug
bfq: BFQ-v7r5
bugfix from google (see github)
[JUN 29 2014]
Remove JustArchi GCC flags cos they are unstable
update to 3.4.95
sync with CM
sync with codeaurora/kk_2.7-stable
ext4: Speedup WB_SYNC_ALL pass called from sync(2)
[JUN 19 2014]
update compiler to linaro toolchain 4.9.1 2014.06 optimized for cortex-a15
update to 3.4.94
remove -fdata-sections GCC flag (cause of reboot issue)
sync with CM
sync with codeaurora/kk_2.7-stable
updated sleepy_plug
[JUN 09 2014]
sync with codeaurora/kk_2.7-stable
memset patch to fix bootloops
[JUN 08 2014]
3.4.92
reverted some KGSL CAF patches
removed -ftrace flag
sync with CM
improved int_sqrt algorithm
update bfq to v7-r4
[MAY 28 2014]
sync with codeaurora/kk_2.7-stable
update sleepy_plug
cpufreq: ondemand: Calculate load_at_max_freq based on current policy->max
sched: add do_avg_nr_running to fix avg_nr_running
increase base address
revert 24 May changes
[MAY 24 2014]
Increase ramdisk_offset
[MAY 19 2014]
update to 3.4.91
merge codeaurora/kk_2.7_rb1.38
update bfq to v7-r3
sleepy_plug now supports quadcore CPUs
fix headset support (CM)
new GCC flags
update compiler
[MAY 03 2014]
block: support volname for HTC devices with proc/emmc support
[MAY 02 2014]
compiled with Linaro GCC 4.9.1 optimized for cortex-a15
sync with CM
update devices_htc from Jet jb 4.3 kernel
update headset driver from Jet jb 4.3 kernel
update memory mapping (more RAM avaiable)
update pn544 driver
update bma250 driver
[APR 29 2014]
update to 3.4.88
sync with codeaurora/kk_2.7-stable
some other CAF patches
[APR 25 2014]
fix s2w
[APR 24 2014]
added s2w and dt2w with pocket detection (from torched sources)
enable BLN
[APR 23 2014]
first release
If you like my work please consider making a donation, I spend almost all my free time on making this kernel the best
i'll buy another phone to continue to support the android development!
Download:
androidfilehost folder: http://www.androidfilehost.com/?w=files&flid=14092
normalToQV: http://www.androidfilehost.com/?fid=23501681358544069
(if you don't see the new version just wait some minutes, it's uploading)
Kernel Source: Github
Reserved
Q: What is QV version?
A: QV means "qualcomm voltages". qualcomm made a patch and stuck all voltages to 1150mv to improve stability. QV version has got all 1150 mv for each freq (like older 3.4 kernels).​Q: I plugged in my pen drive but i can't found it
A: look in /mnt/usbdisk folder.​Q: What's and how i enable/disable fastcharge?
A: with fast charge an USB charger will recognized as AC charger. it won't charge your phone faster with an AC charger. it may not charge your phone faster with an USB charger.
with the usb cable UNPLUGGED edit /sys/kernel/fast_charge/force_fast_charge:
0 -> disable
1 -> enable
than plug in the cable​Q: i've got random reboots, what do you need?
A: first read here
write this info:
kernel version
ROM
governor
scheduler
undervolted? if yes don't undervolt
QV version? if no use it
last_kmsg
Q: what's BLN and how i enable/disable it?
with BLN on when you received a notify the soft key will blink.
to enable/disable edit /sys/class/leds/button-backlight/blink_buttons:
0 -> disable
1 -> enable​Q: what's s2w and how i enable/disable it?
Sweep2wake allows you to wake up your device by swiping your finger across the capacitive buttons from left to right. Swiping from right to left will put it back to sleep (sweep2sleep).
to enable/disable edit /sys/android_touch/sweep2wake:
0 -> disable
1 -> enable​Q: what's dt2w and how i enable/disable it?
DoubleTap2Wake (DT2W) allows you to wake the device by double tapping the capacitive buttons.
to enable/disable edit /sys/android_touch/doubletap2wake:
0 -> disable
1 -> enable​What's sleepy_plug and how can i activate/deactivate it?
sleepy plug it's an hotplug driver (it decide when turn on the second core) i wrote. it's an experimental driver and it may have got performance problem. if you notice some decrease in performance report it.
to enable/disable edit /sys/module/sleepy_plug/parameters/sleepy_plug_active:
0 -> disable
1 -> enable​Install instruction:​S-OFF:
- flash the zip in recovery
- wipe caches (optional)​S-ON:
Windows & Linux:
flash kernel zip.
stay in recovery after flashing the zip
from command prompt (ot terminal) on PC:
Code:
adb pull /tmp/newboot.img
adb reboot-bootloader
fastboot flash boot newboot.img
fastboot reboot
OLD S-ON INSTRUCTION:
Linux:
- flash awesome kernel cleaning script: http://d-h.st/HDi (optional)
- flash the zip in recovery (obsolete, for older kernels with modules outside built outside)
- use zImage switcher to make a new boot.img
-
Code:
fastboot flash boot newBoot.img
Windows: (don't ask me how it works or everything else, i don't know and they have got tutorials on their site)
- repack your ROM boot.img with mine zImage using Virtuous Ten Studio http://www.virtuous-ten-studio.com/index.php/downloads
-
Code:
fastboot flash boot newBoot.img
Bugs 3.4:
None
If you want to use my kernel for your ROM just use it and cit me in credits
This is pretty sick gonna give it a whirl as soon as I'm free, but I had thought that HTC hasn't released our kernel to the devs so this will probably brick our devices since it's a port right ??
the kernel
Sent from my EVO using xda app-developers app
ultimatelegend1 said:
This is pretty sick gonna give it a whirl as soon as I'm free, but I had thought that HTC hasn't released our kernel to the devs so this will probably brick our devices since it's a port right ??
the kernel
Sent from my EVO using xda app-developers app
Click to expand...
Click to collapse
i don't know what you are saying!
you have got official CM support (idd you have got, for example, this ROM http://forum.xda-developers.com/showthread.php?t=2633324 that is AOSP). this kernel is for aosp so, what's the problem?
Nice work MBQ! thanks a lot for this I'm going to be using it tonight
Sent from my EVO using Tapatalk
U see after the sense 5 4.3 update our phones received the partition layout changed and with it came an updated kernel but since HTC hasn't released the new kernel this could possibly brick phones on the new layout but it might work with phones on the old layout, listen I'm no expert if anyone here on the new partition flashes this plz do report back so that we can now if this is compatible
Sent from my EVO using xda app-developers app
ultimatelegend1 said:
U see after the sense 5 4.3 update our phones received the partition layout changed and with it came an updated kernel but since HTC hasn't released the new kernel this could possibly brick phones on the new layout but it might work with phones on the old layout, listen I'm no expert if anyone here on the new partition flashes this plz do report back so that we can now if this is compatible
Sent from my EVO using xda app-developers app
Click to expand...
Click to collapse
this kernel doesn't change the partition layout
P.S. you can't brick the phone flashing a kernel
I didn't say that it would change the layout , and thanks for the new info I thought that flashing an incompatible kernel could possibly brick a device
Sent from my EVO using xda app-developers app
Will definitely give this a go tomorrow and report back with results.
Sent from my SPH-L720 using Tapatalk
I couldn't wait until tomorrow. I first gave this a run using a nandroid of an OmniRom build, and I noticed that there are a few things that work or don't work well/at all. I tried again on a clean flash, and achieved the same results.
Working
USB Fast charge (yay)
Overclock
Not working
Sweep2whatever
Doubletap2wake
Custom governors not available
Custom schedulers not available
Not Working Well
I noticed that it is causing screen tearing during the transitions.
I experienced trouble connecting to my car bluetooth, but I'm not sure if that's rom related.
Sent from my HP Pavilion g6 Notebook PC using Tapatalk
new version is up! with s2w dt2w and BLN
knock knock and s2w aren't working for me
rmbq said:
new version is up! with s2w dt2w and BLN
Click to expand...
Click to collapse
About to test right now.
aarsyl said:
I couldn't wait until tomorrow. I first gave this a run using a nandroid of an OmniRom build, and I noticed that there are a few things that work or don't work well/at all. I tried again on a clean flash, and achieved the same results.
Working
USB Fast charge (yay)
Overclock
Not working
Sweep2whatever
Doubletap2wake
Custom governors not available
Custom schedulers not available
Not Working Well
I noticed that it is causing screen tearing during the transitions.
I experienced trouble connecting to my car bluetooth, but I'm not sure if that's rom related.
Sent from my HP Pavilion g6 Notebook PC using Tapatalk
Click to expand...
Click to collapse
about Sweep2whatever Doubletap2wake new version should fix them.
Custom governors not available & Custom schedulers not available: strange, which app are you using?
I noticed that it is causing screen tearing during the transitions.: could be try to use interactive governor
I experienced trouble connecting to my car bluetooth, but I'm not sure if that's rom related.: on ville it's working so i don't think it's kernel related (same chip)
rmbq said:
about Sweep2whatever Doubletap2wake new version should fix them.
Custom governors not available & Custom schedulers not available: strange, which app are you using?
I noticed that it is causing screen tearing during the transitions.: could be try to use interactive governor
I experienced trouble connecting to my car bluetooth, but I'm not sure if that's rom related.: on ville it's working so i don't think it's kernel related (same chip)
Click to expand...
Click to collapse
Ok....update.
I flashed today's build (QV version), and here are the changes.
- The different governors now show up.
- Sweep/Doubletap options don't show up in TricksterMOD.
- I tried to force sweep2wake to work through Kernel Tuner, but the phone froze after I applied the new settings.
- I didn't notice your post soon enough to try the interactive governor. I will post an update soon.
aarsyl said:
Ok....update.
I flashed today's build (QV version), and here are the changes.
- The different governors now show up.
- Sweep/Doubletap options don't show up in TricksterMOD.
- I tried to force sweep2wake to work through Kernel Tuner, but the phone froze after I applied the new settings.
- I didn't notice your post soon enough to try the interactive governor. I will post an update soon.
Click to expand...
Click to collapse
have you got these files?
/sys/android_touch/sweep2wake
/sys/android_touch/doubletap2wake
rmbq said:
have you got these files?
/sys/android_touch/sweep2wake
/sys/android_touch/doubletap2wake
Click to expand...
Click to collapse
I'm a little busy right now, and I have already restored my Sense nandroid, so I can't check. I'm quite a busy bee when it comes to roms, so I will get back to you soon.
rmbq said:
have you got these files?
/sys/android_touch/sweep2wake
/sys/android_touch/doubletap2wake
Click to expand...
Click to collapse
Yes those two files are there.
when setting either of them to 1, when trying to us it my phone reboots.
Also no changes made after reboot seem to stick
Sent from my EVO using Tapatalk
shadowxaero said:
Yes those two files are there.
when setting either of them to 1, when trying to us it my phone reboots.
Also no changes made after reboot seem to stick
Sent from my EVO using Tapatalk
Click to expand...
Click to collapse
can you give me a last_kmsg?

[KERNEL][G850F] duki994 Kernel v1.4 - final [LP][STOCK]

duki994 Kernel for Stock TouchWiz LP ROMs​
A personal project that had good results and I wanted to share it with others
It's based on official Samsung sources for Lollipop firmware.
Important note:
This kernel should work on any custom ROM that is stock lollipop based
Features:
* Wolfson Audio control (thanks to @AndreiLux)
* Battery charging control (thanks to @AndreiLux)
* CPU voltage control for both A7 and A15 cluster (thanks to @AndreiLux)
* Exposed all OPP voltage controls (thanks to @AndreiLux)
* Powersuspend v1.7 by @faux123 and @Yank555
* LMK, MM and FS powersuspend mods ported from @dorimanx's LG G2 kernel
* SCHED code fixes
* SCHED: HMP thresholds changed and new patches implemented
* Many changes related to ARM instruction code and lowlevel ARM core management
* Enabled NEON mode in kernel with full VFPV4 support
* Added new SHA256 and SHA512 NEON accelerated algortihms - now blazing fast
* UKSM (Ultra Kernel Samepage Merging) - algorithm that's better optimized than standard KSM
* WiFi standby wakelocks (PNO wakelock) reduced
* WiFi userspace power mode/DTIM change (for advanced users ONLY)
* WiFi driver switched from deprecated earlysuspend to use newer powersuspend driver (this is to fix some of bugs that could lead device kernel crash)
* NET updates
* Enabled all TCP congestion protocols and set Westwood as default (best wireless performance)
* Disabled KNOX
* SELinux disabled in kernel
* Fully configurable in Synapse (download from Google Play)
/* Important note to other devs */
You cannot include this to your ROMs. I can't be responsible if anything goes wrong, I can't help with any issues without knowing kernel version and users should be routed to this thread if they want this kernel, or if you recommend it. I think that it's best to separately view custom ROM and custom Kernel, so each dev (ROM or Kernel one) can work on bugs/features and make it as compatible as it can.
However, you can add this thread link and mention me in your thread, so people would know where to ask if some kernel problem arises
Warranty void
By flashing this kernel you will void your warranty. I'm not responsible if you brick your device, or if someone starts nuclear war.
Note:
Don't change voltages on "Busses" tab if you don't know what you are doing. It can reboot your phone if your memory controllers, ISP or MMC controllers can't handle low voltage.
WiFi pasword resetting fix:
Code:
1. open your build.prop file
2. find line ro.securestorage.support
3. change it from true to false (if not already false)
This line being on true will make your WiFi not work good with this kernel. This is due to Samsung's rooting restriction and other Samsung specific workarounds to stop rooting and flashing. Any custom ROM probably has this line changed to false.
Changelogs:
Version 1.4 BETA
Billion critical updates from my G900H version:
* MM code
* new LMK driver
* Exynos interactive governor updated
* IRQ code revamped
* OF code revamped
* New 8-band EQ sound-control
* Numerous ALSA updates and fixes
* Numerous Wolfson DAC driver updates
* MemInfo code updates
etc. list is enormous
Version 1.3
*MM page allocation changes. and others. Now more than 50% faster page_alloc
*RCU and SRCU updates from S6 and upstream + CAF
*NET updates
*USB fixes and updates
*dma mapping ARM fix
Version 1.2.1
*Synapse
->added ROW scheduler to test (experimental)
*Several BLOCK code updates and typo fixes. Some serious bugs fixed.
*Fully updated ROW I/O sched added (experimental)
Version 1.2
* Synapse:
-> disabled min cpu freq control. not needed.
-> added new I/O schedulers
* Massive updates to BLOCK, SHCED, MM, WORKQUEUE critical code
* Added FIOPS and BFQ I/O schedulers
* EXT4 updates to fix possible kernel crashes
* ZSWAP now uses ultra fast and light on cpu LZ4 compression
* CPUFREQ optimizations
* Updated BFQ, FIOPS, DEALINE scheds with fixes and optimizations
Version 1.1
*Synapse:
* Added live cpu stats for all 8 cores (quad A7 and quad A15 cores)
* Added live CPU temperature monitoring
* Added live battery temperature and health status
* Disabled broken battery input current feature (shows 0mA for our PMIC chip)
* Added misc tab:
+ ability to take logcat,dmesg,last_kmsg
+ HMP Little packing switch ON/OFF and explanation
* Added optimized ARM RWSEM algorithm
* Fixed HMP so HMP little packing would work good with our implementation
* thermal IPA(Intelligent Power Aware) now updates power tables immediately when voltage changed from Synapse
* entropy depletion fixes
* Enabled FRANDOM random number generator module for more entropy and less lag
* Added NEON instruction accelerated SHA256/SHA224 algorithm. Now we have SHA384/SHA512, SHA256/SHA224 and SHA1 algorithms NEON accelerated - blazing fast
* HMP little packing switch for Synapse
Experimental option made by nvidia. It groups tasks so more of them would be scheduled across power saving cores (A7 cores in our CPU). It may or may not save battery depending on your usage.
Downloads:
Here it is
https://app.box.com/s/vt70dzo7fzgnlyik4mxkiaaj7xkhjaot
Special thanks:
@AndreiLux for his awesome Synapse app, audio control, charging control, sources and many features/updates and upgrades to Exynos kernel code
@UpInTheAir for his source that I looked when I had bugs, and for his fixes/workarounds
@dorimanx for inspiring me to start developing and his LMK and MM mods
@bonuzzz for his custom KitKat kernel for Galaxy Alpha and his sources
@apb_axel for UKM and his scripts that helped me a lot in making custom Synapse config
XDA:DevDB Information
G850, Kernel for the Samsung Galaxy Alpha
Contributors
duki994
Source Code: https://github.com/duki994/SM-G850_Kernel_LP/
Kernel Special Features:
Version Information
Status: Beta
Current Beta Version: 1.0
Beta Release Date: 2016-08-12
Created 2015-11-02
Last Updated 2016-08-12
Reserved
How to build this kernel guide
PREREQUISITES
What you need installed to compile
gcc, gpp, cpp, c++, g++, lzma, lzop, ia32-libs flex
If on 64bit Linux, install gcc multilib
Project folder structure
--project_root/ #### can have any name
-----ramdisk_source/ ## defined by RAMDISK_TMP var in script
-----ramdisk_tmp/ ## defined by RAMDISK_DIR var in script
-----kernel_source/ #### can have any name
-----RELEASE/
TOOLCHAIN INFO
Toolchain is already into kernel dir. You just need to have
correct folder structure and run this script. Everything will be auto-built
FLASHABLE ZIP
Flashable zip will be located in project_root/RELEASE directory
and will have name Kernel-slte.zip
All other explanations here:
https://github.com/duki994/SM-G850_Kernel_LP/blob/master/build_kernel.sh
Clone ramdisk source in ramdisk_source
Clone kernel in kernel_source folder
Be sure to have project directory structure as written above
After that, you just need to run:
sudo bash build_kernel.sh
in kernel folder. And voila. After finished you have Kernel-slte.zip in RELEASE directory
If it show any errors, open kernel source and type in terminal:
chmod -R 755 *
Then repeat sudo bash build_kernel.sh
awesome job, thank you
finally undervolt .. yay
ayamgoreng said:
awesome job, thank you
finally undervolt .. yay
Click to expand...
Click to collapse
When you have time, report how it works
Sent from my LG-D802 using Tapatalk
Is it possible to other variants like Galaxy Alpha SM-G850L Korean? Thanks
duki994 said:
When you have time, report how it works
Sent from my LG-D802 using Tapatalk
Click to expand...
Click to collapse
I reduce voltage A15,A7 (every speed) by roughly 20mv
gaming (coc,asphalt,etc) for roughly 1 hour; result=stable :good:
edit: volume in the audio also work, louder headphone.
Thanks, I'll try it.
how the battery with this kernel?
gtrs36 said:
Thanks, I'll try it.
how the battery with this kernel?
Click to expand...
Click to collapse
Battery? It's better than stock for me. For screen on, this morning I had 50mins SOT and 87% battery left. That's even better than my LG G2, which is a beast according to tests
My father uses Galaxy Alpha, and yesterday he managed to get 4h SOT with HSDPA data on.
When screen off (in suspended mode) it's very low power consumption due to Powersuspend driver. It's better than stock.
exaflare said:
Is it possible to other variants like Galaxy Alpha SM-G850L Korean? Thanks
Click to expand...
Click to collapse
I have no access to G850L model. I don't know if it will work.
During this week, if I have enough time, I'll download G850L source and build it with all mods/features and give you to test it
thanks duki994.
which app I need install to control on the kernel?
hi!
1. how do You undervolt by 20mv, in synapse i have steps like 1x,xxMv and can set up -25Mv??
2. I have strange warning message after installed this kernel. it says phone needs to reboot. after reboot the same. just annoying
duki994 said:
Battery? It's better than stock for me. For screen on, this morning I had 50mins SOT and 87% battery left. That's even better than my LG G2, which is a beast according to tests
My father uses Galaxy Alpha, and yesterday he managed to get 4h SOT with HSDPA data on.
When screen off (in suspended mode) it's very low power consumption due to Powersuspend driver. It's better than stock.
Click to expand...
Click to collapse
did you UV or what settings did you use ?
m_p11 said:
hi!
1. how do You undervolt by 20mv, in synapse i have steps like 1x,xxMv and can set up -25Mv??
2. I have strange warning message after installed this kernel. it says phone needs to reboot. after reboot the same. just annoying
Click to expand...
Click to collapse
1. Our voltage regulator accepts 6.25mV step. So you can UV/OV in multiples of 6.25. When you do math, 6.25mV x 4 = 25mV
You can't UV -20mV. You can UV -18.75m (3 x 6.25mV). Next step is -25mV (4 x 6.25mv).
Ursurobertt said:
did you UV or what settings did you use ?
Click to expand...
Click to collapse
No UV. All stock. Only changed earpiece volume (incall speaker volume) to higher (+4dB if I recall good from this morning). It's for better hearing incall
UV generally doesn't reduce battery consumption (it's maybe 1%-3% less power usage). Real benefit of UV is lower CPU heat and prolonged life of motherboard.
Some chips can't handle UV at all. Some can be UV by as much as -150mV. It all depends on specific chip that came out of fabric process. Note that UV brings instability on some devices.
Sent from my LG-D802 using Tapatalk
duki994 said:
Battery? It's better than stock for me. For screen on, this morning I had 50mins SOT and 87% battery left. That's even better than my LG G2, which is a beast according to tests
My father uses Galaxy Alpha, and yesterday he managed to get 4h SOT with HSDPA data on.
When screen off (in suspended mode) it's very low power consumption due to Powersuspend driver. It's better than stock.
Click to expand...
Click to collapse
hi dude
what setting are used on your father Alpha,stok or I should change in synapse
hensk said:
hi dude
what setting are used on your father Alpha,stok or I should change in synapse
Click to expand...
Click to collapse
Look at post above yours. I explained everything
Sent from my LG-D802 using Tapatalk
recent button does not works after flashing this kernel.. recent button works fine with stock kernel...
likhon02 said:
recent button does not works after flashing this kernel.. recent button works fine with stock kernel...
Click to expand...
Click to collapse
On which ROM are you? Everything works for me on stock. I have to see if anything changes it.
Did you set secure storage to false in build prop?
I'l automate that in next build.
Kernel doesn't mess with options like recent buttons and Java written parts of Android OS.
Sent from my LG-D802 using Tapatalk
duki, you didn't answer to my question.
gtrs36 said:
duki, you didn't answer to my question.
Click to expand...
Click to collapse
Please read OP before asking. Everything is said there.
Synapse is the app with which you can change settings of this kernel.
duki994 said:
On which ROM are you? Everything works for me on stock. I have to see if anything changes it.
Did you set secure storage to false in build prop?
I'l automate that in next build.
Kernel doesn't mess with options like recent buttons and Java written parts of Android OS.
Sent from my LG-D802 using Tapatalk
Click to expand...
Click to collapse
I am on ozcan rom 4.1. my recent button only works with Nordic based stock which is NEE G850FXXU2COI3 5.0.2 11.09.2015 5614954 and ozcan rom..and with any other rom like rr and cm12.1 my recent button does not work.. secure storage is false by default on build.prop .

Categories

Resources