[Kernel][CM12/CM11][5.0.x/4.4.x]jamiethemorris's kernel[S2W/DT2W][CPU/GPU OC](Dec 1) - HTC Droid DNA

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

Changelog:
6.0.1
- All updates from CM:
- F2FS updates. Maybe F2FS works now (probably not).
- UID-based routing
- Enable selinux development
- Initial support for Lollipop (KitKat 4.4.4 ROMs are still supported)
5.8.2
- Updates from crpalmer:
* Update some video bandwidth parameters
* Interactive governor updates
- Pretty sure that's it.
5.8.1
- Updates from crpalmer:
* 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)
5.7.7.1:
-Force Fast Charge should now be fixed
-Make sure all cores are enabled when using performance CPU governor
5.7.7:
-Moved from Linaro 4.8.3 to 4.9.1
-Update modem restart commit from stock CM kernel
-No more intelliplug due to random reboots and the fact that simple plug works just fine. I may bring it back future versions.
-Reduce memory usage of input driver + oom tweaks that theoretically help a little bit with the touchscreen wake issue. I am still working on finding a real fix.
-SLIMBUS: m8 port, caf updates, new OC from poondog (better audio quality)
-Update BFQ to v7r3
-Update to latest F2FS driver
Older versions:
5.7.6:
-NOTE: There are 2 different zips for this version to avoid conflicts between crpalmer's simple plug and faux123's intelliplug.
-IMPORTANT: On the intelliplug version, intelliplug is enabled by default. If you disable intelliplug, there will be no hotplug driver running which will kill your battery quickly. So if you decide you don't want to use intellidemand, please use the simple plug version instead.
-Memory optimizations from Motorola
-Enable Linaro's power-efficient workqueues
-Intelliplug updates
-Merge latest CM commits
-Merge crpalmer's latest commits
-Update to Linux 3.4.86
-Update F2FS to the latest version
5.6.4:
-Hopefully fix voltage for "faster" binned chips
-Fixed random reboots when using intellidemand governor
-Fix scripts
-Disable intellidemand's active max frequency to prevent it from interfering with overclock
-Enable additional TCP congestion algorithms (thanks iHateWebOS)
-Sync s2w/dt2w/pocket detection with Beastmode
-Add Preservative governor (credits to bedalus)
-Update BFQ I/O Scheduler to v7r2
-Merge latest CM commits
-Merge crpalmer's latest commits
-Update to Linux 3.4.79
-Add LZ4 kernel compression/decompression for faster boot
-I think I forgot to mention this before, but I am now using a Cortex a-15 optimized Linaro toolchain.
5.5.5:
-Dynamic Fsync (Enable this only if you are sure your device is stable! If you have too many reboots, your data may get corrupted and you will have to reflash your ROM.)
-Simple GPU Governor
-Intelliplug hotplug driver with Eco mode (dual core operations). When this is disabled, it will use crpalmer's hot-plug driver.
-Intellidemand tweaks - I'm still working on this one, it tends to have random reboots at the moment.
-Decrease GPU OC to 533 MHz and increase bandwidth
-1917 MHz overclock is back, should be more stable now
-Sweep2wake + Sweep2Sleep
-Doubletap2sleep is not implemented in this version, sorry. Use your ROM's dt2s feature for now. I do plan on adding this back.
-Doubletap2wake can be used anywhere on the screen
-There should be scripts for all features, let me know if I missed something.
-Undervolt override for high overclocks. You can globally undervolt while leaving 1836 MHz, 1890 MHz, and 1917 MHz clocks unaffected.
-L2 cache overclock
-600 MHz bus overclock for 1674 MHz - 1917 MHz frequencies
-Support for F2FS filesystem (F2FS TWRP and MultiROM are coming as well, as soon as I have time to test)
-FIOPS I/O Scheduler
5.5.4.1:
-Now only one kernel zip
-GPU overclock is set with /sdcard/jamiethemorris-gpu-oc between 400 and 550 MHz. Default is 400.
-New wheatley governor
-Some more optimizations
5.5.4:
-Fixed video undderrun (blue flickering) issue with GPU overclock
-Updated FauxSound to 2.1
-Now only 2 kernel zips. One is stock GPU clock and the other is for 450 and 500 mhz overclocks. Default is 500 on the OC version.
-New governors: intellidemand, intelliactive, smartassV2, lagfree, badass, Lionheart
-New I/O Schedulers: zen, vr
-Improved touchscreen sensitivity - If this causes problems for people I will revert it.
-SLIMbus overclock which should in theory improve audio quality
-Various performance optimizations, see github for full details
5.5.3.4:
-Switch linaro optimization level from -03 to -0fast
-A few other optimizations, see github for full details
5.5.3.3: Up to 500 mhz GPU overclock. For now, there are 3 different downloads depending on what GPU frequency you want - stock (400 mhz), 450 mhz, and 500 mhz. There are no other changes, so if you don't want a GPU overclock there is no need to update to this version.
5.5.3.2: Up to 1890 mhz CPU overclock
5.5.3.1: Added FauxSound

Nice work man!
Sent from my HTC6500LVW using Tapatalk

Multirom link is in the op. I plan on getting s2w working soon also. The code is there, but it's made for an HTC one so it doesn't work yet. Technically logo2menu is in there as well lol
Sent from my Droid DNA using Tapatalk

Dt2w works perfect! Will this kernel be updates as CP pushes changes in the future?
HTC DNA
LG Optimus G

d08speed3 said:
Dt2w works perfect! Will this kernel be updates as CP pushes changes in the future?
HTC DNA
LG Optimus G
Click to expand...
Click to collapse
Yes, that is the plan
Sent from my Droid DNA using Tapatalk

CM double tap to sleep. Doesn't work well with dt2s. It turns off then back on.
HTC DNA
LG Optimus G
---------- Post added at 07:57 AM ---------- Previous post was at 07:56 AM ----------
d08speed3 said:
CM double tap to sleep. Doesn't work well with dt2s. It turns off then back on.
HTC DNA
LG Optimus G
Click to expand...
Click to collapse
Edit: turning the CM dt2s works. I'm guessing you have this enabled for status bar double tap to sleep?
HTC DNA
LG Optimus G

d08speed3 said:
CM double tap to sleep. Doesn't work well with dt2s. It turns off then back on.
HTC DNA
LG Optimus G
---------- Post added at 07:57 AM ---------- Previous post was at 07:56 AM ----------
Edit: turning the CM dt2s works. I'm guessing you have this enabled for status bar double tap to sleep?
HTC DNA
LG Optimus G
Click to expand...
Click to collapse
Just to clarify, in that last edit you're just saying that turning dt2s off in the settings makes the kernel's version of dt2s work right? Cause that's what I'm seeing on my phone. Thanks for the heads up, I enabled the dt2s setting a while ago but I always forget that I did so I hadn't tested it yet.
Sent from my Droid DNA using Tapatalk

jamiethemorris said:
Just to clarify, in that last edit you're just saying that turning dt2s off in the settings makes the kernel's version of dt2s work right? Cause that's what I'm seeing on my phone. Thanks for the heads up, I enabled the dt2s setting a while ago but I always forget that I did so I hadn't tested it yet.
Sent from my Droid DNA using Tapatalk
Click to expand...
Click to collapse
Yea. Turning off CM's dt2s settings off makes your dt2s work. I see it enabled in sys>android_touch.
HTC DNA
LG Optimus G

d08speed3 said:
Yea. Turning off CM's dt2s settings off makes your dt2s work. I see it enabled in sys>android_touch.
HTC DNA
LG Optimus G
Click to expand...
Click to collapse
Got it. Looks like this was bad timing to release a kernel, apparently we're moving from m7 to msm8960 soon...
Sent from my Droid DNA using Tapatalk

i love the convenience of s2w and dt2w and now we have it for aosp and sense! what a awesome time this is to own a dna

Swipe or double tap to sleep isn't working. Normal?

-DroidIsDNA- said:
Swipe or double tap to sleep isn't working. Normal?
Click to expand...
Click to collapse
Dt2s is working for me. S2w isn't functional yet. Is dt2w working for you?
If you have dt2s enabled in your ROM settings, make sure you disable it as out counteracts the kernel's dt2s.
Sent from my Droid DNA using Tapatalk

jamiethemorris said:
Dt2s is working for me. S2w isn't functional yet. Is dt2w working for you?
If you have dt2s enabled in your ROM settings, make sure you disable it as out counteracts the kernel's dt2s.
Sent from my Droid DNA using Tapatalk
Click to expand...
Click to collapse
I don't think I have it enabled in probam. Dt2w doesn't work

-DroidIsDNA- said:
I don't think I have it enabled in probam. Dt2w doesn't work
Click to expand...
Click to collapse
Did you follow the instructions in the op to enable it? It should be enabled by default I think but if not I put instructions there
Sent from my Droid DNA using Tapatalk

jamiethemorris said:
Did you follow the instructions in the op to enable it? It should be enabled by default I think but if not I put instructions there
Sent from my Droid DNA using Tapatalk
Click to expand...
Click to collapse
Oops I meant double tap to sleep I'm sorry

-DroidIsDNA- said:
Oops I meant double tap to sleep I'm sorry
Click to expand...
Click to collapse
That's weird then. You have to double tap the status bar in case you didn't already know that. If that's still not working, then enabling the ROMs version of it in settings should do the trick.
Sent from my Droid DNA using Tapatalk

jamiethemorris said:
That's weird then. You have to double tap the status bar in case you didn't already know that. If that's still not working, then enabling the ROMs version of it in settings should do the trick.
Sent from my Droid DNA using Tapatalk
Click to expand...
Click to collapse
Ohhhhhh, yeah I was double tapping above the menu keys. Status bar works flawlessly. Thanks! Idk if its in the op or if I just blanked out

-DroidIsDNA- said:
Ohhhhhh, yeah I was double tapping above the menu keys. Status bar works flawlessly. Thanks! Idk if its in the op or if I just blanked out
Click to expand...
Click to collapse
It actually wasn't in the OP, I just added it for clarification.

Is force fast charge on by default?
HTC DNA
LG Optimus G

Related

[KERNEL] [Nov 26] ElementalX-m7 | 22.4 Sense | 22.4 GPE

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Kernel for Google Play Edition and Sense-based ROMs
FAST • STABLE • FULL-FEATURED
This version works on every HTC One variant except Sprint and Verizon.
The Sprint HTC One version is here: http://forum.xda-developers.com/showthread.php?t=2295596
The Verizon HTC One version is here: http://forum.xda-developers.com/showthread.php?t=2600691
ElementalX aims for absolute stability, easy one-time setup and lots of useful features. ​​
Click to expand...
Click to collapse
FEATURES:
easy installation and configuration with Aroma installer
overclocking/underclocking options
headphone gain control
choose auto minimum voltage (725mV to 850mV)
full user voltage control
mpdecision options (battery saving, stock, performance)
optional GPU overclocking
modified ondemand CPU Governor for balance between performanc and battery life
GPU governors: ondemand, simple
i/o schedulers: ROW, FIOPS, SIO, CFQ, NOOP, deadline
kernel based thermal control (extra cool, run cool, default, and run hot)
optional sweep2wake, doubletap2wake, logo2wake with pocket detection
optional logo2menu
optional button light notification
optional force fastcharge
NTFS r/w, exFAT, and extended OTG support
optional color control
support more game controllers (including XBOX and PS3)
increased refresh rate for HDMI output via MHL adapter
selinux fixes
Click to expand...
Click to collapse
Google+ Community
Please consider a donation to support ongoing development
Thanks to those who have donated!​
Special thanks to @jonas2295 for the ElementalX logo
App to customize Wake Gestures:
Wake Gestures
____________________________
DOWNLOADS
Sense Android 5.0.2
ElementalX-m7-22.4-Sense
Google Play Edition Android 5.1
ElementalX-m7-22.4-GPE
Google Play Edition Android 5.0.1
ElementalX-m7-19.3-GPE
Sense 6 Android 4.4.3
ElementalX-m7-18.0-Sense
Google Play Edition Android 4.4.3/4.4.4
ElementalX-m7-15.1-GPE
Sense 6 Android 4.4.2
ElementalX-m7-14.12-Sense
Sense 5.5 and Sense 6 Android 4.4.2
ElementalX-m7-14.10
Google Play Edition Android 4.4.2
ElementalX-m7-11.7
Sense 5.5 Android 4.4
ElementalX-m7-10.10.1
Google Play Edition Android 4.4
ElementalX-m7-9.1
Sense 5.5 Android 4.3
ElementalX-m7-8.4
Sense 5 Android 4.3
ElementalX-m7-5.6
Google Play Edition Android 4.3
ElementalX-m7-4.4
Google Play Edition and Sense 5 Android 4.2.2
ElementalX-m7-3.12.1
Sense 5 Android 4.1.2
ElementalX-m7-1.1
INSTALLATION
1. Install zip from recovery
2. Follow the instructions, if you don't know what to do, use the preselected options
3. Reboot
For installation, it seems a lot of people have finicky phones when it comes to flashing stuff with aroma.
If the installer gets stuck at 0% then you need to reboot to bootloader and do fastboot erase cache
If the installer reboots at 10%, you need to do a nandroid backup of /system partition and restore it. I think a dirty flash would also work.
After you install it, if you get a black screen or stuck at the HTC logo, no need to worry. Just hold down the power button untill the capacitive buttons start flashing and the phone restarts. The kernel installed correctly.
As always, with overclocking, not all phones can handle all frequencies. If it doesn't boot, or randomly reboots, or freezes, your first course of action should be to reinstall with a lower frequency.
Code:
* Standard disclaimer:
* Your warranty is now void. Use at your own risk.
* In other words: It is your choice to use this software,
* I am not responsible for any damage or problems you may have!
Previous versions:
ElementalX-m7-14.1
ElementalX-m7-14.0
ElementalX-m7-13.5.1
ElementalX-m7-11.4
ElementalX-m7-12.0
ElementalX-m7-8.3
ElementalX-m7-11.3
ElementalX-m7-10.8
ElementalX-m7-8.2
ElementalX-m7-11.0
ElementalX-m7-10.5
ElementalX-m7-10.4
ElementalX-m7-8.1
ElementalX-m7-9.0.1
ElementalX-m7-10.3
ElementalX-m7-10.2
ElementalX-m7-10.1
ElementalX-m7-10.0
ElementalX-m7-8.0.1
ElementalX-m7-6.1.2
ElementalX-m7-5.4
ElementalX-m7-5.2
ElementalX-m7-3.11
ElementalX-m7-4.2
ElementalX-m7-5.1
ElementalX-m7-3.4
ElementalX-m7-3.3
ElementalX-m7-3.0
ElementalX-m7-2.6
ElementalX-m7-2.3
ElementalX-m7-2.2
ElementalX-m7-2.1
ElementalX-m7-1.0.1
ElementalX-m7-0.11
ElementalX-m7-0.10
ElementalX-m7-0.9
ElementalX-m7-0.8.1
ElementalX-m7-0.6
ElementalX-m7-0.5
ElementalX-m7-0.4
ElementalX-m7-0.3
Special thanks:
@tbalden for l2m and bln and cam fix on sense 4.3
@amarullz for installer
@backfromthestorm for fstrim
@crpalmer for kernel based thermal control
@mkasick Fix for empty app-mounted directories
@jonas2295 for elementalx logo
@faux123 for simple GPU governor and color control
NOTES:
ElementalX Configuration File
Your choices in the Aroma installer are used to build a configuration file. The config file is located at /etc/elementalx.conf. You can edit this file to change kernel settings. Whatever is set in this file will take effect when the device is booted (unless other scripts or apps interfere!)
The settings can be changed by editing /etc/elementalx.conf and rebooting. Advanced users can apply settings on the fly by running /etc/init.d/99elementalx as root.
There is no need to edit /etc/init.d/99elementalx. All settings are configured in /etc/elementalx.conf.
If settings are not sticking, make sure the file permissions for /etc/init.d/99elementalx are set to execute. Every time the settings are applied, a log file is created at /data/local/tmp/elementalx-kernel.log. Problems can be diagnosed by looking at the log file.
Please check to see if any /etc/init.d scripts or apps (such as Kernel Tuner or Trickstermod) are interfering with your settings.
ElementalX Log File
Every boot, a log file is created at /data/local/tmp/elementalx.log. This file shows the date and time and all settings that have been applied. Use this to verify and troubleshoot configuration options. Also shows your PVS bin.
Kernel Tuner/TricksterMod/Venom Tweaks, etc
You don't need these apps because the ElementalX installer sets everything up automatically, but if you want to check or change settings, you can use these apps. Just be aware that some of them (e.g. Kernel Tuner) are set by default to apply settings on boot, which can interfere with the settings you chose in the ElementalX installer.
Note: on the most recent versions, the fauxclock app interferes with GPU overclocking unless you disable pnpmgr (not recommended)
Overclocking
Overclocking (or underclocking) is optional. The installer lets you choose a maximum between 1134MHz (underclocked) and 2160MHz (overclocked). You can set the maximum frequency individually for each CPU core in the installer. Whatever frequencies you chose in the installer will be set at boot for each CPU. Not all devices can handle overclocking. The stock maximum CPU frequency is 1.7GHz. I recommend a mild overclock, like 1836MHz. Clocking higher creates heat and wastes battery for very little performance gain.
CPU voltages
The installer allows you to choose from several undervolting options. These automatically undervolt the lowest frequency (384MHz) where the CPU spends most of its time. The voltages for other frequencies are assigned based on the PVS bin of your phone. CPU voltages are fully customisable with apps such Kernel Tuner or Trickster Mod, but I recommend leaving these other voltages as-is unless you are prepared to do a lot of testing. Be careful, lowering voltages can cause instability. Generally, having reboots while the phone is asleep is a sign that your minimum voltage is too low. The minimum voltage allowed is 700mV.
Be careful with undervolting. If you have bluetooth or sound issues, try increasing the minimum voltage.
Minimum CPU frequency
The minimum CPU frequency in this kernel is 384MHz. This chip was not designed to operate below 384MHz and I am respecting Qualcomm's design decision to have the CPU idle on pll8 at 384MHz. There is a way to achieve lower frequencies using the high frequency pll, however, this is likely to cause instability and inefficient operation (battery drain, ui stuttering)
GPU frequencies
You can choose stock GPU frequency of 400MHz or overclock. If overclocked, you can choose from a range of frequencies up to 585MHz. Overclock frequencies can be changed on the fly, but you can't use the stock frequency. Conversely, if you choose stock GPU, the overclocking frequencies will not be available. To change between stock and overclocking mode, you need to reinstall. The same voltages are used no matter if the GPU is overclocked or not.
GPU Governor
The default GPU govenror is ondemand. It works well and is recommended for best balance between performance and batter life. The simple governor is also available, but ramps up the GPU frequency much quicker than ondemand, so may impact battery life. The governor can be set in /etc/elementalx.conf
Thermal Control
I've added kernel based thermal control and throttling. HTC's thermald is very aggressive and throttles the CPU frequency pretty much anytime you use all four processors. This kernel based implementation allow better performance while still protecting your phone from overheating. There are three levels of thermal control, which can be chosen in the installer or changed in /etc/elementalx.conf. The default option is recommended. With the run cool option, your CPU will run about 5C cooler than default while under heavy load. With the run hot option, the CPU will run about 5C warmer than default under heavy load.
MPDecision settings
There are three mpdecision settings available: battery saving, stock and performance. I think they are self explanatory. These can be changed in /etc/elementalx.conf
Max screen off frequency
This is optional and must be selected in the installer. I recommend enabling it. This limits the max cpu frequency while the screen is off. The default max screen off frequency is 702MHz, which is a good balance between limiting the voltage/frequency and the time required to complete tasks while the screen is off. You can adjust this with applications such as Venom Tweaks.
I/O Schedulers
The default i/o scheduler is ROW. Other available schedulers are ROW, CFQ, FIOPS, SIO, NOOP and deadline.
Installing a new ROM
If you install a new ROM, it will probably replace this with the stock kernel and will definitely overwrite /etc/init.d/99elementalx and /etc/elementalx.conf so you will lose your settings and certain features. So always reinstall the kernel after installing a ROM.
Wake Gestures
This is a new feature similar to the Motion Launch Gestures on the HTC One m8. Requires one of the following Xposed modules:
Sense 6 Toolbox: http://sensetoolbox.com/6/download (most options for HTC)
Wake Gestures: http://forum.xda-developers.com/xposed/modules/app-wake-gestures-v1-0-t2768266
Set /sys/android_touch/wake_gestures to 1 to enable input events for wake gesture actions. Set to 0 to use traditional sweep2wake or doubletap2wake (wakes up the phone and turns on the screen only).
Note that if you enable wake_gestures, nothing will happen if you don't install one of the Xposed modules.
Sweep2wake
Sweep2wake allows you to turn on your phone by swiping your finger across the screen. There are four sweep actions that will work
Gesture........Value
Sweep right......1
Sweep left........2
Sweep up.........4
Sweep down....8
Add up the values for each gesture you want to enable and put the total in /sys/android_touch/sweep2wake. For example, to enable all gestures, the value is 15 (1+2+4+8). To enable sweep right, sweep left and sweep up, the value is 7 (1+2+4)
/sys/android_touch/sweep2wake
DoubleTap2Wake
DoubleTap2Wake (DT2W) allows you to wake the device by double tapping in the bottom inch or so of the screen, above the capacitive buttons. You can edit /etc/elementalx.conf to change the setting on boot.
/sys/android_touch/doubletap2wake
0=disabled
1=enable doubletap2wake (bottom of screen only)
2=enable doubletap2wake (full screen)
Logo2Wake
Logo2Wake (L2W) allows you to sleep or wake the device by long pressing the HTC logo. You have to press just slightly above the HTC logo. The screen will automatically turn on or off with a long press. You can edit /etc/elementalx.conf to change the setting on boot.
/sys/android_touch/logo2wake
0=disabled
1=enable logo2wake
Pocket Detection
Pocket detection protects against accidental wakes while S2W, DT2W or L2W are enabled and the phone is in your pocket. Pocket detection uses the proximity sensor. A few people have a problem with their proximity sensor that makes DT2W not work, so I've made an option to disable pocket detection. You can edit /etc/elementalx.conf to change the setting on boot.
/sys/android_touch/pocket_detect
0=disabled
1=enable pocket detection
Logo2Menu
Enabling Logot2Menu (L2M) allows you to use the HTC logo as a menu button. You must press just slightly above the HTC logo. You can edit /etc/elementalx.conf to change the setting on boot.
/sys/android_touch/logo2menu
0=disabled
1=enable logo2menu
Button Light Notification
With Button Light Notification (BLN), the capacitive buttons will blink on and off when you have a new notification. As soon as the screen comes on, BLN is canceled and the lights will no longer blink until you have another notification. Please note that if you have your screen set to turn on when a message arrives, you will not see the buttons blinking because once the screen comes on, the button light notification is canceled. You can edit /etc/elementalx.conf to change the setting on boot.
/sys/class/leds/button-backlight/blink_buttons
0 = disabled
1 = BLN enabled
NTFS and exFAT support
This is for anyone who wants to use OTG to connect a USB stick or portable harddrive formatted with Microsoft's NTFS and exFAT filesystems. You will need Stickmount or a similar app, HTC Sense does not automatically detect these filesystems.
Other stuff
This kernel supports many game pads and controllers, including PS3 controllers and some X-Box controllers. It has full OTG support. A refresh rate of 60Hz for HDMI output allows you to play games on the big screen without choppiness. CIFS support is built into the kernel. Color control is also supported.
Source:
Android 5.0.1
Android 4.1.2
Android 4.2.2
Android 4.3 GPE
Android 4.3 Sense
Android 4.4 GPE
Android 4.4.2 Sense
Android 4.4.3 GPE
................
XDA:DevDB Information
ElementalX |OC|UV|GPU OC|S2W|L2W|DT2W|L2M|THERMAL|BLN, Kernel for the HTC One (m7)
Contributors
flar2
Source Code: https://github.com/flar2/m7-Sense
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: 22.4
Stable Release Date: 2016-11-26
Created 2013-08-01
Last Updated 2017-03-29
CHANGELOG:
Oct 10 ElementalX-m7-18.0
-rebase on latest HTC 4.4.3 Sense source code
Click to expand...
Click to collapse
...................
CHANGELOG:
June 3 ElementalX-m7-14.10
-faster boot
-fix pocket detection not enabled
-add logo2sleep option
June 1 ElementalX-m7-14.9
-add more options for traditional S2W
-standardize wake gestures options
-add optimization flags to GPU
-update installer
May 21 ElementalX-m7-14.8
-make sweep length longer for gestures
-sweep gestures timeout
-build with Linaro GCC 4.9.1 toolchain (@Christopher83)
May 12 ElementalX-m7-14.7
-fix wake gestures
May 11 ElementalX-m7-14.6
-fix minor bugs with wake gestures enabled
-increase horizontal sweep distance
-Sweep2Sleep can be enabled/disabled if wake gestures is enabled
-add SweepUp2wake
-update installer
May 3 ElementalX-m7-14.5
-wake gestures fixups
-adjust slimbus oc (poondog/zeroinfinity)
April 30 ElementalX-m7-14.4
-add wake gestures interface
-update installer (thanks @jonas2295 for the new splash screen)
April 26 ElementalX-m7-14.2
-add sweepup2wake
-make wake vibration more immediate
April 21 ElementalX-m7-14.1
-fix exFAT support
March 30 ElementalX-m7-14.0
-latest HTC kernel source code
January 31 ElementalX-m7-13.0
-update for Sense 5.5 Android 4.4.2
-Makefile adjustments
-update to latest HTC source code
-ROW is default i/o scheduler
-various tweaks and optimizations
January 22 ElementalX-m7-12.0
-update Aroma
-add gamma control (credit: faux123)
-new installation method
January 6 ElementalX-m7-8.4
-fixes for wlan_rx_wake wakelocks
-doubletap2wake fullscreen/halfscreen option
-make doubletap2wake more sensitive
-add ROW i/o scheduler
-Makefile adjustments
-slimbus overclock (credit: poondog)
-update installer
-tweak deadline i/o scheduler
January 4 ElementalX-m7-11.4
-fixes for wlan_rx_wake wakelocks
-remove maxscroff
-doubletap2wake fullscreen/halfscreen option
-make doubletap2wake more sensitive
-add ROW i/o scheduler
-Makefile adjustments
-slimbus overclock (credit: poondog)
January 4 ElementalX-m7-10.10.1
-fix installer
January 3 ElementalX-m7-10.10
-fixes for wlan_rx_wake wakelock
-remove maxscroff
January 2 ElementalX-m7-10.9
-doubletap2wake fullscreen/halfscreen option
-make doubletap2wake more sensitive
-add ROW i/o scheduler
-Makefile adjustments
-slimbus overclock (thanks @poondog)
December 19 ElementalX-m7-11.3
-adjust gboost
-update installer
December 19 ElementalX-m7-10.8
-adjust gboost
-update installer
December 18 ElementalX-m7-8.3
-color control (credit: faux123)
December 18 ElementalX-m7-11.2
-rename elementalx governor back to ondemand
December 18 ElementalX-m7-10.7
-rename elementalx governor back to ondemand
December 17 ElementalX-m7-11.1
-elementalx cpu governor
-color control (credit: faux123)
-remove fsync option
December 15 ElementalX-m7-11.0
-update for Google Play Edition Android 4.4.2
-remove 3-dot menubar option
-Makefile adjustment
December 17 ElementalX-m7-10.6
-fix multirom support
-add elementalx governor
-color control (credit: faux123)
-remove fsync option
December 14 ElementalX-m7-10.5
-restrict doubletap2wake to bottom half of screen
-fix moc_crypto modules loading
-update installer
December 14 ElementalX-m7-9.1
-gboost enables hybrid ondemand
-battery saving tweaks
-fix max cpu setting
-restrict doubletap2wake to bottom half of screen
-add sysfs entry for max screen off
-default max screen off is 1134MHz
-adjust Makefile options
-remove tracing
-shorten command line
-update installer
-make doubletap2wake more sensitive
December 14 ElementalX-m7-8.2
-fix max cpu setting
-restrict doubletap2wake to bottom half of screen
-add sysfs entry for max screen off
-default max screen off is 1134MHz
-adjust Makefile options
-remove tracing
-shorten command line
-update installer
-make doubletap2wake more sensitive
December 8 ElementalX-m7-10.4
-gboost enables hybrid ondemand
-fix installer
December 4 ElementalX-m7-10.3
-remove doubletap2sleep option
-battery saving tweaks
-fix max cpu setting
December 4 ElementalX-m7-10.2
-revert to older ondemand governor
-add doubletap2sleep option
-restrict doubletap2wake to bottom half of screen
December 3 ElementalX-m7-10.1
-add sysfs entry for max screen off
-default max screen off is 1134MHz
-adjust Makefile options
-remove tracing
-shorten command line
-update installer
-make doubletap2wake more sensitive
December 1 ElementalX-m7-10.0
-update for Sense 5.5 Android 4.4
November 26 ElementalX-m7-9.0-GPE
-update with HTC Google Play Edition source code
-remove "restore 3-dot menubar" option
November 24 ElementalX-m7-8.1
-fix pocket detection
-fiops is default scheduler
November 23 ElementalX-m7-8.0.1
-fix missing modules
November 23 ElementalX-m7-8.0
-update with HTC source code
-adjust touch wake functions
-restore stock camera app and libs
October 23 ElementalX-m7-6.1.2
-allow changing GPU freq if pnpmgr is disabled
October 21 ElementalX-m7-6.1.1
-aroma options for graphics boost and pnpmgr
October 19 ElementalX-m7-6.1
-add graphics boost
-update camera files
October 16 ElementalX-m7-6.0
-fix camera (thanks @tbalden)
-update ramdisk for Sense 5.5
-re-enable pnpmgr
October 14 ElementalX-m7-5.6
-enable config options for multirom support
October 12 ElementalX-m7-5.5
-update installer
-update config files
-show pvs number in sysfs
-add 409.5MHz GPU step
-reduce debug messages
-kexec-hardboot (for multirom support)
-fix MDP bus scaling data (cyanogenmod)
-boost CPU frequency only for touch input
September 26 ElementalX-m7-3.12.1
-fix GPU frequencies
-fix installer
September 26 ElementalX-m7-4.4
-add option to enable/disable fsync
-add more GPU frequencies
-Optimize square root algorithm
-Send events one packet at a time
-updates to freezer and cpuidle
-update installer
ElementalX-3.12
-add option to enable/disable fsync
-add more GPU frequencies
-Optimize square root algorithm
-Send events one packet at a time
-updates to freezer and cpuidle
-update installer
ElementalX-5.4
-adjust GPU frequencies
-updates to freezer and cpuidle
-update installer
ElementalX-5.3
-add more GPU frequencies
-Optimize square root algorithm
-Send events one packet at a time
September 12 ElementalX-m7-5.2
-free up more RAM
-camera fix for 3.17 base (thanks @tbalden)
-updated ramdisk to 3.17 version
September 9 ElementalX-m7-5.1
-fsync switch (on by default)
-wifi driver built in
-update installer
September 7 ElementalX-m7-5.0.1
-disable pnpmgr
September 7 ElementalX-m7-5.0
-update to Sense 5 Android 4.3
September 3 ElementalX-m7-3.11
-add exfat support
September 2 ElementalX-m7-3.10
-update with 4.2.2 Sense source
-update modules
August 26 ElementalX-m7-3.9
-remove bus overclocking
-adjust Makefiles
August 25 ElementalX-m7-3.8
-makefile adjustments
-fix ondemand gpu governor
-adjust loadavg
-update modules
-add higher voltage for 2214MHz and 2295MHz
-add l2/bus overclocking
August 18 ElementalX-m7-3.7
-revert simple governor to default behaviour
-hack to make simple governor stick after benchmarks
August 18 ElementalX-m7-3.6
-fix GPU frequency
August 18 ElementalX-m7-3.5
-fix logo2wake
-adjust build options
-487MHz and 533MHz GPU freq
-CPU overclock up to 2295MHz
August 18 ElementalX-m7-4.2
-fix GPU frequencies
August 17 ElementalX-m7-4.1
-fix undervolting
-487MHz and 533MHz GPU freq
-CPU overclock up to 2295MHz
August 13 ElementalX-m7-4.0
-adjust build options
-fix logo2wake active after finger leaves logo area
-remove log spam
-update to GE 4.3 source
-update installer
July 25 ElementalX-m7-3.4
-updated modules
-updated installer
-default max screen off frequency 702MHz
-fix screen off frequency applied to all cores
-sweep2wake adjustments
-adjust simple governor
-home button timeout option in installer
July 24 ElementalX-m7-3.3
-sweep2wake fixes
-doubletap2wake fixes
-ondemand GPU governor fixed
-Makefile optimizations
-install-recovery.sh command added to ramdisk
-simple GPU governor installer option
July 22 ElementalX-m7-3.2
-fix sweep2wake bugs
July 21 ElementalX-m7-3.1
-use custom Linaro toolchain 4.8
-O3 compile
-add simple GPU governor (faux123)
-installer fixes
July 20 ElementalX-m7-3.0
-use Google Android toolchain 4.6
-update installer options
-add optional max screen off frequency
-fix sweep2wake bugs
-add mpdecision options
-option to disable HTC color enhancement
-fix for home button options (if not using logo2menu)
-add ability to restore 3-dot menu
July 14 ElementalX-m7-2.6
-use linaro 4.8 toolchain
-fix capacitive buttons sometimes still active while screen off
-fix multiple qemu.hw.mainkeys entries in build.prop
-add fastcharge option
-re-enable pnpmgr
July 11 ElementalX-m7-2.4
-fix touchscreen registering input during calls
-fix installer
-fiops default i/o scheduler
-add sysfs config for sleep/wake vibration strength
-new logo (@jonas2295)
-slight boost to L2 freq
-slight boost to GPU bus bandwidth
July 10 ElementalX-m7-2.3
-vibration feedback for s2w
-add TCP congestion algorithm options
-fix fastcharge (thanks tbalden)
-revert some tweaks
June 30 ElementalX-m7-2.2
-update BLN
-fix for app-mounted directories (thanks @mkasick)
June 29 ElementalX-m7-2.1
-add support for Android 4.2.2
-update aroma installer
June 23 ElementalX-m7-1.1
-adjust doubletap2wake
-tweak hsic
June 20 ElementalX-m7-1.0.1
-installer ensures update camera files are present
-updated modules
June 19 ElementalX-m7-1.0
-update to latest HTC sources (still 4.1.2!)
-updated camera (works with .16 base ROMs)
-updated capacitive button sensitivity
-revert earpiece audio patch
-remove camera fix
-adjust doubletap2wake sensitivity
-pocket detection only active when screen off
May 23 ElementalX-m7-0.11
-make camera fix optional
-wifi as module
-revert arm rwsem algorithm
-adjustments and fixes to sweep/wake options
-add smartmax and wheatley governors
-remove smartassv2 governor
-add "extra cool" thermal setting
May 14 ElementalX-m7-0.10
-add option to disable pocket detection
-add new settings schema for sleep/wake functions
-fix bug dt2w not working when s2w disabled
-change l2w to automatically sleep/wake after pressed for a certain time
May 13 ElementalX-m7-0.9
-suppress accidental wakes with s2w and dt2w
-DT2W adjustments
-add ROW scheduler
-add Lionheart, lagfree and smartassv2 governors
-button light notification (tbalden)
May 10 ElementalX-m7-0.8.1
-camera fix for .16 based ROMs (thanks to he_stheone64)
May 7 ElementalX-m7-0.8
-fix frequencies not sticking
-fix 2133 and 2160 frequency steps
-add thermal options
May 6 ElementalX-m7-0.7
-add doubletap2wake
-add kernel based thermal control (crpalmer)
-update faux123 sound control
-various fixes
-remove cpu optimization levels
May 2 ElementalX-m7-0.6
-remove GPU overclock to 480MHz
-disable gentle fair sleepers
-Improve scalability via 'CPU buddies'
-avoid loadavg moire
-fix installer
May 1 ElementalX-m7-0.5
-GPU overclock to 480MHz (experimental)
-CPU overclock to 2160MHz
-CPU optimization levels: stock, elementalx and ultra
-automatic undervolting to 850, 800 or 750
-compatible with faux sound control
-hsic wakelock fix
-L2W vibrates on sleep/wake
-update to latest HTC sources
-optimized arm rwsem algorithm
-optimized AES and SHA1 routines
-disable usb whitelist
-fix fastcharge
April 25 ElementalX-m7-0.4
-lower possible voltage to 700
-expose PVS in sysfs
-undervolting option
-logo2menu (tbalden)
-sleep/wake with longpress HTC button
-select oc frequency up to 2106MHz
April 25 ElementalX-m7-0.3
-fix installer
-ensure GPU is set to stock by default
April 25 ElementalX-m7-0.2
-select oc frequency up to 2052MHz
-optional graphics overclocking
-add /dev/frandom
-new sweep2wake
-fix audio in calls (tbalden)
-ensure crypto modules load
-camera fix included
April 20 ElementalX-m7-0.1
-overclocking
-voltage control
-battery optizations
-disable /system write protection
-linaro 4.7.3 -o3 optimization
-ntfs r/w
-fast rcu nohz
-readahead set to 2048
-intellidemand governor
-mhl change to [email protected]
-add CIFS support
-add FIOPS and SIO i/o schedulers
-update ramdisk
-sweep2wake
-wifi built-in
-force fastcharge
Click to expand...
Click to collapse
...................
looks really great. will try.
thank u
first impression:
boots up
choosed all frequezies stock
will test over the day
camera working on trickdroid 5.1!
thanx
No oc shows on my Att branded one
Sent from my HTC One using xda premium
Zarboz said:
No oc shows on my Att branded one
Sent from my HTC One using xda premium
Click to expand...
Click to collapse
You have one of these too? Do you like it better than the DNA?
The oc freq is set by the command line, I have a feeling that the install will fail on att phones and maybe others. It works on mine (Bell Mobility). I have it set to choose stock frequencies if the command line doesn't get set.
I've also only tested the installation on TWRP, don't know if it works on CWM.
Just flashed nice options in aroma had a hour so far very stable overclocked 2050 will report back on battery life but sure it's going to be great thanks for the kernel
Same here. Have an att variant and I've tried all the frequencies from stock to the maximum one. And the frequency maximum still is stock in setcpu and no-frills.
Damn AT&T. I have an idea for an alternate installer. I'll put it together in the next few days.
OC fails on my international version. I love the S2W.
Many thanks for your work.
First Reboot After One hour.
No oc No uv.
Just felt the Vibration in my pocket.
Yeah another kernrl dev in here nice one and welcome. i still have no phone and deving in dark. my s2w wasnt that good so i havent included it yet. also had the prob that u needed go be very precise... how did u fix it?
[sent from an icecold mako...ncxe'ed....soon...]
jaythenut said:
Just flashed nice options in aroma had a hour so far very stable overclocked 2050 will report back on battery life but sure it's going to be great thanks for the kernel
Click to expand...
Click to collapse
ill look at it if i can figure it out ill make a pull request for the ATT branded phones
the screen is a tad smaller wich sucks but the speed is obviously faster on my One over my DNA
I dont think it works with CWM, what will the Kernel be called in the setting menu if it works?
No overclock on tmobile as well defaults to 1728.....but other then that amazing kernel....
Camera works great as well.....
Sent from my HTC One using xda premium
Trying with trickdroid 5.1.
I confirm that camera is working.
It's possible to set UV with kernel control; all the cpu frequencies of the kernel are shown in voltage but...no OC. CpuSpy and Kernel Control show always 1728 even choosing 2052 or 1890 max freq (I tried both).
Thanks a lot for your job.
Installed fine but the overclocking not working. SIO is there so I know the kernel installed. So no issue.....
Sent from my HTC One using xda app-developers app
---------- Post added at 08:23 AM ---------- Previous post was at 08:22 AM ----------
lukemo said:
Trying with trickdroid 5.1.
I confirm that camera is working.
It's possible to set UV with kernel control; all the cpu frequencies of the kernel are shown in voltage but...no OC. CpuSpy and Kernel Control show always 1728 even choosing 2052 or 1890 max freq (I tried both).
Thanks a lot for your job.
Click to expand...
Click to collapse
+1
Sent from my HTC One using xda app-developers app
Great stuff!
So its the camera firmware that needs replacement to match the kernel, and make it work on 1.29.xxx.12 and 13?
I'll throw up an additional flashable to my kernel thread, if you don't mind me using that.
blacklistedcard said:
Installed fine but the overclocking not working. SIO is there so I know the kernel installed. So no issue.....
Sent from my HTC One using xda app-developers app
---------- Post added at 08:23 AM ---------- Previous post was at 08:22 AM ----------
+1
Sent from my HTC One using xda app-developers app
Click to expand...
Click to collapse
Just looked overclocking is not working for me to
Zarboz said:
ill look at it if i can figure it out ill make a pull request for the ATT branded phones
the screen is a tad smaller wich sucks but the speed is obviously faster on my One over my DNA
Click to expand...
Click to collapse
Come over to the dark side my friend Bring beastmode with you :laugh:

[KERNEL] ElementalX-N7 6.17 (Nougat) 7.00 (Oreo)

ElementalX Kernel
for Nexus 7 (2013) (flo/deb)
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Features
Easy installation and setup with AROMA installer
Stock/AOSP and Cyanogenmod/CAF versions
Best balance of performance and battery life
Color control
USB fastcharge (optional)
Sweep2sleep (optional)
Sweep2wake and doubletap2wake (optional)
Wake Gestures app support
MultiROM support
disable fsync (optional)
sound control
Underclock or overclock CPU
L2 and bus overclocking options
choose automatic minimum voltage (725mV to 850mV)
kernel-based thermal control
GPU overclocking options
voltage control
NTFS read/write and exFAT support
init.d support
optional USB OTG + charge mode
No forceencrypt
Google+ Community
Please consider a donation to support ongoing development
Many thanks to those who have donated!
For maximum compatibility with all ROMs, ElementalX uses your existing ramdisk.
Do NOT flash this over other custom kernels!
You should only flash ElementalX over the kernel that came with your ROM!!!
Download
Android 8.1.0 (Oreo)
ElementalX-N7-7.00
Stock/AOSP/LineageOS (Android 6.0.1/7.1.1)
ElementalX-N7-6.17
For fixed-install (Complete working OTG+charge mode)
Use version 5.16
ElementalX-N7-5.16
ElementalX-N7-5.16-cm
Flashable zip for permissive mode (required for some ROMs and mods):
https://www.androidfilehost.com/?fid=23991606952602503
App to customize Wake Gestures:
https://elementalx.org/wake-gestures/
DVB modules for Stock/AOSP (Android 5.1.1)
https://www.androidfilehost.com/?fid=24052804347765068
Stock/AOSP (Android 5.1)
ElementalX-N7-4.00
Stock/AOSP (Android 5.0/5.0.1/5.0.2)
ElementalX-N7-3.05
CAF/Cyanogenmod (Android 5.0.2)
ElementalX-N7-3.05-cm
Source
https://github.com/flar2/flo
_____________________________________
XDA:DevDB Information
[FLO/DEB] ElementalX, Kernel for the Nexus 7 (2013)
Contributors
flar2
Source Code: https://github.com/flar2/flo
Kernel Special Features:
Version Information
Status: Stable
Created 2013-08-03
Last Updated 2018-01-31
Changelog
ElementalX-N7-2.15
-Added kali pwn support (includes several wifi dongles, eg: rtl8187l) UNTESTED!
-Added support for USB infrared devices UNTESTED!
-revert the one change I made to wifi drivers to see if it helps the few people with connectivity problems
-update fauxsound
-adjustments to msm-sleeper
ElementalX-N7-2.14
-latest updates to fauxsound
-support Logitech Unifying Receiver
-security updates and fixes
-installer updates
-ElementalX app compatibility
-support forced touch firmware update
ElementalX-N7-2.13
-update with Android 4.4.3 kernel source
ElementalX-N7-2.12
-fix sweep2sleep not working if s2w is disabled
ElementalX-N7-2.11
-Wake Timeout: disable screen wake functions after specified period of time
-Logitech Unifying Receiver: upstream update
-Wake Gestures: add interface
-GPU: add optimization flags to GPU driver
-mm: slub: Default slub_max_order to 0
-lz4: faster boot-up process.
-DRIVERS: SLIMBUS: slimbus enhancements
-build with Linaro GCC 4.9.1
-option for ondemand CPU governor
-fix init.d running twice on certain ROMs
-updated installer
ElementalX-N7-2.10.1
-default backlight_dimmer value is 4
-fix installer not enabling fastcharge
ElementalX-N7-2.10
-make gamma control optional
ElementalX-N7-2.9
-fix backlight dimmer always enabled
-add more OTG compatibility to ramdisk
ElementalX-N7-2.8
-update installer
-optimize dt2w
-make backlight dimmer configurable
-add Sierra wireless support
-fix magnetic cover option error
-add readahead size option
ElementalX-N7-2.7
-add backlight dimmer option
-update elementalx governor
-add gamma control (faux123)
-add f2fs support
-add Sierra modem support
January 5, 2014 - ElementalX-N7-2.6
-deadline is default i/o scheduler
-tweak deadline i/o scheduler
-add row i/o scheduler
-add slimbus oc (credit: @ZeroInfinity and @poondog)
-add i/o scheduler option to installer
-revert asynchronous fsync
-restore disable fsync option
-tweaks to elementalx governor
January 1, 2014 - ElementalX-N7-2.5
-adjust shortsweep distance
-cfq is default i/o scheduler
-various tweaks and optimizations
December 22, 2013 - ElementalX-N7-2.4
-add asynchronous fsync from HTC One
-remove fsync options (no longer needed)
-Makefile adjustments
-add elementalx governor
-add gboost option
-various tweaks and optimizations
-update installer
-color control (credit: faux123)
December 7, 2013 - ElementalX-N7-2.3
-update for Android 4.4.1
-various tweaks and optimizations
November 26, 2013 - ElementalX-N7-2.2
-option to disable s2w/dt2w when magnetic cover is used
November 23, 2013 - ElementalX-N7-2.1
-fix CIFS support
-add intellidemand CPU governor
-remove ultra cpu setting
-max screen off frequency (1026MHz default)
November 21, 2013 - ElementalX-N7-2.0
-support Android 4.4 (kitkat)
October 14, 2013 - ElementalX-N7-1.8
-fix-up for kexec-hardboot (multirom)
-aroma option for battery life extender
-update installer
-3G USB modem drivers (built-in)
October 11, 2013 - ElementalX-N7-1.7
-update installer
-update config files
-add S2W power key suspend toggle
-add options to disable sweep2sleep in portrait or landscape mode
-show pvs number in sysfs
-add DVB support (requires modules add-on, coming soon)
-remove 128MHz GPU step and idle at 200MHz step
-add battery life extender (thanks tni_andro)
-boost CPU frequency only for touch input
-adjust bus bandwidth
September 26, 2013 - ElementalX-flo-1.6
-battery guage enhancements (thanks @tni.andro )
-adjust GPU frequencies
-kexec-hardboot patch (thanks @Tasssadar )
-update installer
September 21, 2013 - ElementalX-flo-1.5
-option to allow usb host mode charging
-add more GPU overclock frequencies
-latest googlesource update
-update freezer and cpuidle
-disable AVS
-update installer
September 10, 2013 - ElementalX-flo-1.4
-add option to enable/disable fsync
-AIO: Don't plug the I/O queue in do_io_submit()
-add fstrim to init script
-update installer
September 6, 2013 - ElementalX-flo-1.3
-add loadable kernel module support
-add exFAT filesystem support
-fix CIFS support
August 26, 2013 - ElementalX-flo-1.2
-add faux sound support
August 23, 2013 - ElementalX-flo-1.1
-update touch firmware to A042
-disable pack feature for Hynix part
-fix lower voltage limit
-adjust overclock
August 17, 2013 - ElementalX-flo-1.0
-stable release
-add thermal options
-clean up code
August 13, 2013 - ElementalX-flo-0.10
-kernel-based thermal control
August 12, 2013 - ElementalX-flo-0.9
-suppress multiple touches in s2w
-thermal adjustments
August 10, 2013 - ElementalX-flo-0.8
-adjust Makefile options
-adjust doubletap2wake
-fiops is default i/o scheduler
-cleanup from other kernels
-add shortsweep setting
-option to disable magnetic on/off
August 8, 2013 - ElementalX-flo-0.7
-make doubletap2wake a little easier
-remove some debugging stuff
-installer ensures mpdecision and thermald are present
August 7, 2013 - ElementalX-flo-0.6.1
-installer adds init.d and mount support to ramdisk if necessary
August 7, 2013 - ElementalX-flo-0.6
-reimplement doubletap2wake
-make sweep2sleep work on all edges
-make sweep2wake work in any direction
-fix installer typo forcing 1728 on CPU 1,2,3
-remove GPU 533MHz option
August 6, 2013 - ElementalX-flo-0.5
-build with linaro 4.8 toolchain
-O3 optimization
-add GPU overclock to 533MHz
-fix for app-mounted directories (thanks @mkasick)
-s2w works anywhere on screen when screen is off (still left to right only)
-adjust doubletap2wake
August 5, 2013 - ElementalX-flo-0.4
-adjust doubletap2wake
-increase thermal limits
-fix frequencies stuck at 1512
August 4, 2013 - ElementalX-flo-0.3
-add TCP congestion control algorithms
-add CPU optimization levels
-add more overclocking options
-fix automatic undervolting
-option to overclock GPU (487MHz)
-update ARM topology
-add cpu_power driver
-use ramdisk from ROM
-update installer
-adjust doubletap2wake
August 2, 2013 - ElementalX-flo-0.2
-max screen off frequency 702MHz
-adjust simple gpu governor
-Makefile optimizations
-simple GPU governor installer option
-add simple GPU governor (faux123)
-use Google Android toolchain 4.6
-slight boost to L2 freq
-add TCP congestion algorithm options
-hsic wakelock tweak
-sweep2wake adjustments
-doubletap2wake adjustments
-CPU overclock to 2052MHz
-automatic undervolting
-optimized AES and SHA1 routines
-lower possible voltage to 700
-undervolting option
-optional graphics overclock
-add /dev/frandom
-ntfs r/w support
-fast rcu nohz
-intellidemand governor
-add FIOPS and SIO i/o schedulers
-force fastcharge
-voltage control
August 1, 2013 - ElementalX-flo-0.1
-sweep2wake
-doubletap2wake
NOTES:
ElementalX Configuration File
Your choices in the Aroma installer are used to build a configuration file. The config file is located at /etc/elementalx.conf. You can edit this file to change kernel settings. Whatever is set in this file will take effect when the device is booted (unless other scripts or apps interfere!)
If settings are not sticking:
[*]Make sure the file permissions for /etc/init.d/99elementalx are set to execute.
[*]Check to see if any /etc/init.d scripts or apps (such as Kernel Tuner or TricksterMod) are interfering with your settings.
ElementalX Log File
Every boot, a log file is created at /data/local/tmp/elementalx-kernel.log. This file shows the date and time and all settings that have been applied. Use this to verify and troubleshoot configuration options.
ElementalX Governor
The ElementalX CPU governor has been specifically designed and tuned to get the best balance between battery life and performance. By default, it is more conservative than Ondemand. During routine usage, the CPU frequency does not ramp up very often. If gboost is enabled, during gaming or any other graphics intensive situation, the CPU frequencies boost much easier in order to maintain maximum performance. Disabling gboost can increase battery life, but there may be a loss of performance, especially during gaming.
Faux Clock/TricksterMod/Kernel Tuner/etc
You don't need these apps because the ElementalX installer sets everything up automatically, but if you want to check or change settings, you can use these apps. Just be aware that some of them (e.g. Kernel Tuner) are set by default to apply settings on boot, which can interfere with the settings you chose in the ElementalX installer.
Overclocking
Overclocking (or underclocking) is optional. The installer lets you choose the maximum frequency. You can set the maximum frequency individually for each CPU core in the installer. Whatever frequencies you chose in the installer will be set at boot for each CPU. Not all devices can handle overclocking. The stock maximum CPU frequency is 1512MHz. I recommend a mild overclock, like 1728MHz for daily use. Clocking higher creates heat and wastes battery for very little performance gain.
CPU voltages
The installer allows you to choose from several undervolting options. These automatically undervolt the lowest frequency (384MHz) where the CPU spends most of its time. The voltages for other frequencies are assigned based on the PVS bin of your phone. CPU voltages are fully customisable with apps such Kernel Tuner or Trickster Mod, but I recommend leaving these other voltages as-is unless you are prepared to do a lot of testing. Be careful, lowering voltages can cause instability. Generally, having reboots while the phone is asleep or other weird problems is a sign that your minimum voltage is too low. The minimum voltage allowed is 700mV.
GPU Governor
The default GPU govenror is ondemand. It works well and is recommended for best balance between performance and batter life. The simple governor is also available, but ramps up the GPU frequency much quicker than ondemand, so may impact battery life. The governor can be set in /etc/elementalx.conf
fsync
fsync can be disabled if you're looking for the last ounce of performance. I recommend leaving it enabled as there is a slight risk of data loss if your phone shuts off unexpectedly before filesystems are synced.
Max screen off frequency
The default max screen off frequency is 1026MHz, which is a good balance between limiting the voltage/frequency and the time required to complete tasks while the screen is off. This can be changed manually at /sys/devices/system/cpu/cpu0/cpufreq/screen_off_max_freq
Installing a new ROM
If you install a new ROM, it will probably replace this with the stock kernel and will definitely overwrite /etc/init.d/99elementalx and /etc/elementalx.conf so you will lose your settings and certain features. So always reinstall the kernel after installing a ROM.
NTFS and exFAT support
This is for anyone who wants to use OTG to connect a USB stick or portable harddrive formatted with Microsoft's NTFS or exFAT filesystems. You will need Stickmount or a similar app.
GPU overclocking
There are two modes: stock and overclocking. If you pick stock GPU freq (400MHz) you won't be able to overclock. Conversely, if you pick one of the overclocking frequencies, you won't be able to use the stock 400MHz frequency. You have to reflash if you want to change this.
These are the frequencies I've added: 450, 477, 490.5, 504, 531, 558, and 585
If you're in overclock mode, you change these on the fly with TricksterMod. I don't recommend 558+ for daily use. Too hot and probably unstable for most.
USB host mode charging
I've added a hack to allow usb host mode charging. Since not that many people are going to be using this, it needs to be enabled manually. This will allow you to charge the tablet while a USB peripheral is hooked up to the OTG cable.
To use it, change /sys/module/msm_otg/parameters/usbhost_charge_mode to 1.
You need a Y-cable and OTG adapter. This will be handy for people who use their tablet in the car and need to keep it charged.
First connect the Y-cable to your OTG adapter and a power source, then attach a USB peripheral. Finally, plug the OTG adapter into the tablet. Both the tablet and the peripheral will be powered by the Y-cable, allowing the tablet to charge
Wake Gestures
This is a new feature similar to the Motion Launch Gestures on the HTC One m8. Requires the following Xposed module:
Wake Gestures: elementalx.org/wake-gestures
Set /sys/android_touch/wake_gestures to 1 to enable input events for wake gesture actions. Set to 0 to use traditional sweep2wake or doubletap2wake (wakes up the phone and turns on the screen only).
Note that if you enable wake_gestures, nothing will happen if you don't install the Wake Gestures Xposed module.
Sweep2wake
Sweep2wake allows you to turn on your phone by swiping your finger across the screen. There are four sweep actions that will work
Gesture........Value
Sweep right......1
Sweep left........2
Sweep up.........4
Sweep down....8
Add up the values for each gesture you want to enable and put the total in /sys/android_touch/sweep2wake. For example, to enable all gestures, the value is 15 (1+2+4+8). To enable sweep right, sweep left and sweep up, the value is 7 (1+2+4)
/sys/android_touch/sweep2wake
Shortsweep
Enabling this makes sweep2wake work with a shorter sweep distance. You can edit /etc/elementalx.conf to change the setting on boot.
/sys/android_touch/shortsweep
0 = disabled
1 = enabled
Doubletap2wake
DoubleTap2Wake (DT2W) allows you to wake the device by double tapping anywhere on the screen. You can edit /etc/elementalx.conf to change the setting on boot.
Still needs some tweaking!
/sys/android_touch/doubletap2wake
0 = disabled
1 = enabled
S2W/DT2W power key toggle
If enabled, turning the screen off with the power button disables s2w and dt2w to save battery (since s2w/dt2w cause significant battery drain). When you turn the screen back on, s2w and dt2w return to their previous settings. If the screen times out, s2w/dt2w are not disabled this is only if you use the power button to turn it off. You can edit /etc/elementalx.conf to change the setting on boot.
Enable/disable Magnetic on/off
This setting allows you to enable or disable the magnetic on/off switch used by some cases. You can edit /etc/elementalx.conf to change the setting on boot.
/sys/module/lid/parameters/enable_lid
0 = disabled
1 = enabled
Sweat gonna try it out i love the s2w feature
Sent From My Nexus 7.2 aka N7 2013 aka Razor aka Flo
---------- Post added at 02:46 AM ---------- Previous post was at 02:39 AM ----------
I dont see where to enable it ?
Sent From My Nexus 7.2 aka N7 2013 aka Razor aka Flo
casonswag said:
Sweat gonna try it out i love the s2w feature
Sent From My Nexus 7.2 aka N7 2013 aka Razor aka Flo
---------- Post added at 02:46 AM ---------- Previous post was at 02:39 AM ----------
I dont see where to enable it ?
Sent From My Nexus 7.2 aka N7 2013 aka Razor aka Flo
Click to expand...
Click to collapse
Are you sure the kernel is installed?
S2w and dt2w are enabled by default anyways
flar2 said:
Are you sure the kernel is installed?
S2w and dt2w are enabled by default anyways
Click to expand...
Click to collapse
Doesnt seem to be working
Sent From My Nexus 7.2 aka N7 2013 aka Razor aka Flo
u still have stock kernel in the pic
Sent from my SCH-I535 using xda app-developers app
skiwong20 said:
u still have stock kernel in the pic
Sent from my SCH-I535 using xda app-developers app
Click to expand...
Click to collapse
Thats not stock kernel didnt stock kernel say google or something?
when i nean stock, i mean that winner00 is part of team carbon...so u have carbon's stock cm kernel. not Flar's. his say elemental x should be in the kernel area
Sent from my SCH-I535 using xda app-developers app
Nice features. Do you plan on a CPU and GPU OC?
whats the battery drain level with these features? If im not mistaken these mods require the screen to be always slightly awake, which over time could cause a considerable battery loss.
aj8600 said:
whats the battery drain level with these features? If im not mistaken these mods require the screen to be always slightly awake, which over time could cause a considerable battery loss.
Click to expand...
Click to collapse
If this mod works the same as the one for the Nexus 4, battery drain is surprisingly minimal.
I installed it using fastboot, both features are working. Looking forward to more features in the future, thanks
Source?
good to see you here @flar2
installed fine for me but how did you get features working? permission denied for me everytime!!
Beta version 0.2 is now released, check the changelog for details.
Download:
http://goo.im/devs/flar2/Nexus7/ElementalX-flo-0.2.zip
It should run fine.
I don't think the undervolting settings from aroma are sticking.
doubletap2wake needs a bit more tweaking.
I'm going to do more work on sweep2wake, but it works pretty well as it is right now.
jassycliq said:
Source?
Click to expand...
Click to collapse
It's coming, I'm having trouble uploading
oneandroidnut said:
installed fine for me but how did you get features working? permission denied for me everytime!!
Click to expand...
Click to collapse
what do you mean? sweep2wake and doubletap2wake are enabled by default, you can start using them right away without doing anything.
flar2 said:
It's coming, I'm having trouble uploading
what do you mean? sweep2wake and doubletap2wake are enabled by default, you can start using them right away without doing anything.
Click to expand...
Click to collapse
Can I use with CM 10.2?
flar2 said:
Beta version 0.2 is now released, check the changelog for details.
Download:
http://goo.im/devs/flar2/Nexus7/ElementalX-flo-0.2.zip
It should run fine.
I don't think the undervolting settings from aroma are sticking.
doubletap2wake needs a bit more tweaking.
I'm going to do more work on sweep2wake, but it works pretty well as it is right now.
Click to expand...
Click to collapse
Nice to see you here @flar2, thanks for the kernel.

[Kernel] Vindicator [UberTC6/Strict-Alias/Ofast][5.1][GPU OC/UV] [Release-2.4]

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
"I Don't Always Run Custom Kernels. But When I Do, I Run Vindicator"
-Worlds Most Interesting Man
Pushbullet Tag: vindicator
Vindicator OTA Updater App: https://play.google.com/store/apps/details?id=com.mcswainsoftware.vindicator.ota
if there are any bugs, contact developer Jacob
You can also follow me on G+ if you would like:
[email protected]
Intro:
This is the first kernel I've ever developed. I just started developing on android a few months ago so I'm brand new to this. I don't consider myself a developer, I'm just good at figuring things out, all credit goes to the real hard workers coming up with original ideas like Franco, Imo, Flar and Faux. Initially this was built as a kernel to compile with my ROM I'm working on but I decided I would let others get a chance to use it as well. I hope you like it and I won't be offended if you hate it. All ideas are welcome and I'll try to help as best I can. If you wish to use this kernel in a rom , feel free! Although I would love it if you let me know just for my own curiosity.
For those looking for a similar experience, but much closer to stock, I suggest giving Zen Kernel a try!​
Goal:​Keep kernel as lean as possible while adding certain, desirable features and optimizing for maximum performance and battery life. The default settings should be optimal for a balance of battery and performance without a need to tweak.​
Disclaimer:​If your phone blows up, its not my fault. If your phone somehow gains perpetual battery life, I'll take full responsibility.​
Features:​-Zen Kernel Base
-Android 5.1
-BFS Cpu Scheduler (Ported By @bbedward)
-Latest Linux 3.10.x
-Compiled With Uber ToolChain 6.0
-Compiled With Ofast, Strict-Aliasing, Graphite, A15 Tweaks, And Loop Nest Optimizations
-Various Other Build Optimizations
-Optional GPU OC To 700Mhz.
-GPU Initial Freq. Is 110Mhz Instead Of 240Mhz Saving Power.
-Additional GPU Steps
-CAF Power Saving Patches
-CPUIdle Driver Updated To Linux 4.0
-Slub Allocator Updated To Linux 3.18
-GPU UnderVolted
-Workqueue Updated To Linux 3.18
-Init Updated From Upstream
-Power Efficient Workqueues
-Low Power Ram Mode Enabled
-Kernel Same Page Merging
-ZenDecision Quad Core Driver
-Hotplug Affinity Enhancements
-Kexec Hardboot/MultiRom(See FAQ For Help)
-UKM Built In And Modified. Just Install Synapse App.
-Savocas Color/Gamma Control
-Lowered Regulator And Screen Voltages
-Lowered Screen Clock Speed
-Lowered Retention Voltages
-Moto QuickWakeup
-Faux's Simple GPU Governor
-Frandom (Efficient Random Number Generator)
-Hardware Floating Point Processing
-ZRam
-ZSMalloc
-I2C Min Freq. Reduced
-Cruft Free
-Slimmed Down(Increased Size Is Due To Optimizations & UKM Not Bloat)
-Tons Of Debugging Removed
-Many Misc. Optimizations
-35mhz Min Freq, 3.09ghz Max
-Several WakeLocks Removed, Such As Sensor_Ind and hsic.
-MPDecision Disabled By Default
-MSM HotPlug
-Mako Hotplug
-Adjustable Thermal With Lean Kernel Mods
-IntelliActive Governor Added
-FIOPS, ROW & BFQ IO Schedulers Added
-Tons Of IO Fixes/Performance Boosts
-No Force Encrypt. Changed To Encryptable.
-Crypto Optimizations For Enhanced IO Throughput When Encrypted
-Voltage Control
-Westwood TCP Algorithm
-PIE & HHF Network Schedulers(reduced latency)
-Tons Of CAF Commits
-Merged In Most Of Franco's Code
-Merged In Parts Of Faux123's Code
-Merged Significant Portions Of Lean Kernel Code
-Optimized RWSEM
-Many Parts Pulled From Upstream
-Merged In All CAF And Franco Interactive Commits Into Interactive
-Francos Conservative Governor
-CPU Boost Completely Removed(Replaced With Franco's)
-Wake Gestures
-F2FS Support
-LK Config
-Vibration Control
-Asynchronous FSync
-Init.D Support
-Potentially Something I Forgot...
Downloads:
[AFH] Kernel: https://www.androidfilehost.com/?w=files&flid=25836
Downloads also through app and pushbullet
Amazing Donors!:
JackPollard
Maybelle
Credits:
Imoseyon
bbedward
Flar2
Franco
Faux123
Linaro
Code Aurora Foundation
Cl3Kener
Engstk
Yank555
Mistertac (Best Tester Ever)
RIPng(DespairFactor)
Neobuddy89
apb_axel
Google
Motorola
If I Missed You Lemme Know!​
XDA:DevDB Information
Vindicator Kernel, Kernel for the Nexus 6
Contributors
Xileforce
Source Code: https://github.com/XileForce/Vindicator
Kernel Special Features: I'm special.
Version Information
Status: Stable
Current Stable Version: 2.3
Created 2015-02-06
Last Updated 2015-05-3
Changelog:
1.0:
-Merged Latest Lean Kernel Code
-Merged Latest Franco Code
-Franco's Thermal Management Replaces Thermald
-Zram ported from Linux 3.19 upstream Using LZ4
-VM Memory Tweaks. (Vfs cache, swappiness,etc)
-I2C min frequency reduced from 50mhz to 19.2mhz
-Retention voltages dropper further
-Removed most Tracers
-Reduced Several Regulator Voltages
-Various CAF Patches
-Disable IO Stats
-Disable More Debugging
-Disable Gentle Fair Sleeper(better performance)
-ZSMalloc ported from Linux 3.19 upstream
-ZPool Ported from Linux 3.19 upstream
-Cut DMA latency in half
-Optimize SFCK Compression
-Reduce Swappiness
-Optimize Dirty Ratios
-Disable HSIC_Host wakelock by default
-Reduce Wlan wakelocks further
-Increase Bark/Pet Time
-Possibly More I Missed.
1.1:
-Savocas New Color/Gamma Control
-Lowered All Regulator Voltages Across The Board
-Lowered Screen Voltages And Screen Clock Speed(no detrimental effects noticed yet)
-Add Under clocked and Over clocked step for L2Cache
-Add 110mhz And 430Mhz GPU Slots
-Fix Simple On Demand Governor
-Additional Build Optimizations
-Integer Square Root Optimizations(3x faster)
-Lower GPU Bus Frequency @ 700mhz(battery and stability)
-Potentially Reduce BlueSleep Wakelock(testing report back please)
-Remove IO Debug
1.2:
-Merged Latest LeanKernel
-Added Option To Disable BlueSleep Wakelock Via Terminal
-Reduced BlueSleep By Default
-Readahead Optimizations
-More Voltage Reductions
-Power Suspend Updated To 1.7
-OC SlimBus
-Revert L2 OC
-Latest Franco Merged In
-Update To Linux 3.10.69
-Fix Ramdisk Issues
-Raise InteractiveX Default Screen Off To 730Mhz
-Lowered Power Draw Further At 35mhz
1.3:
-Added Motorola Quick Wakeup
-UKM Built In. Use Synapse App
-Added Aggressive Build Optimizations
-Merged In New Lean Kernel
-Greatly Reduced GPU Power Draw
-Added Bricked Hotplug
-Added MSM Limiter
-FSync Toggle
-Optimized LZ4 A Bit
-Some CAF Patches
-Increased Available Entropy
1.4:
-Merged In Latest Franco Code
-Removed Bricked Hotplug
-Defaulted Power Aware Scheduling On(Adjust In LkConfig)
-Added Power Efficient Workqueue(Better Battery Life)
-Optimized Timer Code
-Added Westwood TCP Alg.(Best One IMO)
-Updated UKM To Latest
-Updated MSM Limiter
-Numerous CAF/Linaro Patches
-Screen Power Draw Reduced Further
-USB Fast Charge
-Various Code Optimization Patches
-Added Toggles For Arch Power And Gentle Fair Sleepers
-Network Speed Tweak
-Don't Force Sync On Suspend
1.5:
-Kexec-hardboot/multirom support(Huge thanks to team member @jamcswain for porting that!) See FAQ For Help.
-Merged Lean 1.17
-Update To Linux 3.10.71
-Optimize Low Memory Killer For ZRam
-About 50 CAF Patches For Numerous Things(Thanks Neobuddy)
-WiFi Patches
-Crypto,IO,Memory Optimizations
-Entropy Optimizations
-DT2W Fixes
-Screen,GPU Patches
1.6:
-Android 5.1 (Massive Thanks To Imoseyon for merging it in)
-Latest Lean Merged
-Latest Franco Merged
-Mako Hotplug Updates
-Intelliplug V4
-Misc Fixes
-Default Power Aware Scheduler Off Again (Change In lkconfig)
1.7:
-Merged Latest Lean
-Merged Latest Franco
-Ramdisk Fixes For Roms(All Imoseyon)
-IO Boosts
-Updated Linaro ToolChain
-Boot Time Speedup(Jamcswains idea)
-InteractiveX Tweaked(Franco's Idea)
-Numerous CAF Patches
-Mako Hotplug Updates
1.8:
-Merged Latest Lean
-Merged Latest Franco
-Switched Toolchain To Custom Compiled Linaro
-Speed Up Boot Further
-Tons Of CAF Patches
-Audio Fixes/Patches
-800Mhz GPU Step
-MSM Limter Removed
-Added Moto Predictive Touch Driver(Better Responsiveness)
-Updated FB Notifiers
-Disabled MPDecision By Default. Mako Is Default Now
-FIOPS Is Default IO Scheduler Now
-Added Moto Low Memory Killer Optimizations
-CPUfreq and Ext4 Optimizations
-More Debugging Disabled
-Various Other Optimizations And Updates
-Update To Linux 3.10.72
-Probably Stuff I Forgot
1.9:
-Merged Latest Lean Kernel
-Fix USB OTG
-Fix Wake Gestures
-Default To QuadCore Mode For Mako
-Ensure 35Mhz Is Min Freq. on Boot(Fixes Weird Issue)
-Modified UKM/Synapse To Control Wakelocks (Misc Tab)
-Merged Latest Hydra Kernel Changes/Patches
-Fix Battery Drain On BlueTooth
-Frequency Mitigation Preventer V2 (In LKConfig)
-Stability Fixes
1.9.1:
-In Call Audio Fix
1.9.2:
-Updated With Official Multirom/Kexec Hardboot Patch
2.0:
-Merged Latest Franco And Lean Code
-Linux 3.10.73
-Several Memory Leaks Fixed
-Reboot/Bootloops Fixed
-!00's Of Patches
-SELinux Permissive By Default
-Compiled With SaberMod 5.0
-Screen Frequency Reverted To Stock
-Tweaked Interactive Touchboost Parameters Further
-Replaced IntelliPlug With MSM Mpdecision
-Added Back MSM Limiter
-FB Notifiers now Enabled By Default. Toggle Added To Synapse
-Merged In Some Hydra Kernel Ramdisk Fixes
-GPU OC Reduced Back To 700Mhz
-Add Power Aware Scheduling to Synapse (CPU Settings Page)
-Fix Synapse To Display CPU Bin On Front Page
-Revert FastBoot Mods For Now (Buggy)
-KCal Fixes
-MSM_HSIC WakeLock Now Enabled By Default With Divisor Of 5 (Change In Synapse Or LKConfig)
-Mako Hotplug Load Threshold Set Back To 80
-Misc Optimizations
2.1:
-Completely Rebuilt From Scratch Upon Zen Kernel With Input From bbedward
-Some features may be missing atm and may get added back in down the line.
-BFS Cpu scheduler. IMO a significant upgrade over CFS, the standard one used by almost every kernel. Should give better battery life and performance. THIS IS ONE OF THE BIGGEST CHANGES A KERNEL CAN MAKE
-Cleaned up the source and fixed issues.
-EXT4 and F2FS updated with upstream commits.
-Per CPU VMA Caching From Upstream
-BFQ and ROW IO Schedulers
-Touchboost Adjustments For More Butter
-Fauxs Simple GPU Governor
-Lowered the default voltage on 1.497ghz 10mv by default
-Compiled With Ofast Instead of Os (Ofast Is the heighest gcc optimization level, one step above O3. Os optimizes for size, rather than speed.)
-Compressed with optimized XZ rather than LZ4 to keep size down
-Latest lean and Franco merged in.
-Adaptive Low Memory Killer enabled
-So much stuff....and I honestly have no idea on how to write a changelog for a rebase...its an entirely new kernel...
2.2:
-Compiled With UberTC 6.0 (Figured We Would See How It Compares To SM 6)
-Compiled With Graphite Optimizations
-Compiled With Loop Nest Optimizations(An Extremely Aggressive Optimization)
-Compiled With loop-unroll-and-jam(A companion optimization to loop nest also aggressive)
-Small GPU Tweaks
-Greatly increased encrypted IO Performance
-Arm Specific Optimization Patches
-Added Heavy Hitter Filter(Another Network Optimization That May Also Reduce CPU Usage)
-Added Proportional Integral Controller Enhanced(Yet another network optimization algorithm designed to reduce latency and increase efficiency when doing latency sensitive things such as streaming)
-Optimize boot/compressed for Krait
-Addition Branch Optimizations and Inter Procedural Optimizations
-Support CM12.1 Ramdisk
-Optimize ROW and Deadline
-Add Bluesleep Wakelock Toggle
-Reduce Wlan_Ctrl Wakelock
-Default Wlan_rx wakelock divisor to 5
-Default msm_hsic divisor to 6
-Fix lkconfig frequency stuff
-Default below 40% frequency changing OFF
-Cleanup frequency mitigation stuff in lkconfig.
-Add Westwood
-Use amended interruptible threads (reduces cpu load)
-Disable add random on IO
-Reset cpu dma latency to stock...idk what it does so i shouldnt touch it...
-Revert Ram OC (IDK if it even worked)
-Add smb135x wakelock toggle
-A GPU Patch
-Raise default touchboost to 500ms.
-Optimize memcpy and memmove
-Significantly Optimize Console Framebuffer
-Enable non-cacheable streaming enhancement
-Add GPU Compile Optimizations
-Disable a lot more debugging
-Boot with 2.649ghz max freq for stability
-Add OC up to 3.033ghz. Highly unstable IMO but its an option for the brave.
-Cleanup Ramdisk
-Raise voltage a bit on 2.88 for stability.
-Disable useless resource counters to save processing power and battery.
2.3:
-Update CPUIdile Driver and CPUIdle Governors almost completely to linux 4.0(Several Years Worth Of Commits)
-Updated CPUFreq Driver Nearly To Linux 4.0
-Update Suspend/Sleep Driver Mostly To Linux 4.0
-Update SLUB Allocator To Linux 3.18
-Update Block(IO Stuff) From Upstream A Bit.
-Upstream Scheduler Patches
-3.09Ghz CPU Step Added (Likely Quite Unstable) Some People Like That Stuff
-Amperage On 3.03Ghz bumped up a tad for stability.
-Linux 3.10.75
-Frandom random number generator added(Extremely Fast Random Number Generator)
-Power Efficiency Patches From Code Aurora
-Fixed Crash When Switching CPU Govs.
-BFS Updates!
-Update Ondemand to Linux 3.18
-Default OnDemand To Simms22's Preferences
-Merged Latest Franco Code
-Merged Latest Lean Code
-Merged Latest Zen Code
-Franco's Conservative governor updated
-Some Interactive updates
-Color control updates
-ARM Specific Updates
-F2FS Updates
-GPU Driver Updates
-Memory Leak Fixes
-Stability Fixes
-Updated ToolChain
2.4:
-Updated To Linux 3.10.77
-Merged Latest Lean Kernel
-Merged Latest Zen Kernel
-Update Workqueue To ~ Linux 3.18
-Enable Ram To Enter Low Power Mode
-Update mm.h And Memblock from upstream
-Default IO Scheduler To BFQ. Its Been Tested To Be Best For Interactivity
-Upstream Init A Bit
-A Few Patches To SMP
-Upstream Cgroups And Memcg Significantly
-Disable RunQueue Stats. Pointless Bloat and CPU Overhead only needed for mpdecision
-Added Power Efficient WorkQueues Patch From Upstream(This Gives better battery life at the cost of a likely unnoticeable performance hit. Enabled by default. Toggle in synapse CPU settings page)
-Hotplug Efficiency Patch(Optimizes Hotplugging To Handle The Transfer Of Processes From One Core To Another Much Better)
-ZenDecision Added
-Added A Toggle For Mako(Currently Only Works To Disable Mako. Ill Work On It Further In 2.5 Credit to bbedward for this
-GPU Tweaks To Make It Smoother
-UnderAmped(Reduce Current For Every Frequency Up To 2.7ghz. Should Save Power. Experimental)
-Added KSM Tweaked For Android(Disabled By Default, Scans Few Pages, and does so very rarely. I didn't notice a battery hit with it on. Optimizes ram use)
-Franco Kernel Updater Profile Updates
-Ramdisk Modifications(May Fix Some Rom Issues)
-Fix For Ondemand Crashing(Hopefully)
-Misc Tweaks & Patches
-Hotplug Affinity Fixes
-Various Power Saving Patches
-Optimize Copy_Page For Modern Arm Processors
-Do Jiffies Conversions At Compile Time Rather Than Runtime(Saves The Cpu Work)
-Optimize For Our L1/L2 Cache Size
-Allow Options To Be Passed To Memory Barrier Instructions
-2 Patches To Improve File System Performance
-HRTimer Optimizations
-Make Binder Mutex Realtime To Reduce Chance Of SurfaceFlinger Being Blocked
-Keep Track Of ASID Allocations And Try To Reuse Them In Certain Cases To Improve Performance
-Don't Compile CPUIdle Ladder Governor. It doesn't get used anyways.
-Allow Rescuer Thread To Do More Work
-Reduce Runqueue Lock Contention
-don't use compound_head() in virt_to_head_page() this showed around a 1.8% performance improvement in some cases
-Small MultiCore Scheduling Improvement
-Definitely Some Stuff I Forgot
FAQ's
1. How Do I Enable Mako Hotplug?
To enable mako hotplug use your favorite kernel control app like faux or trickster. As of 1.8 it is the default hotplug. In trickster you have to turn off both mpdecision and intelliplug. In faux you need to simply select User Control in the Hotplug Section. The hotplug can be configured using Franko Kernel Updater App.
2. Does This Work With CM12 Theme Engine?
Yes, this works with CM12 Theme Engine and should work on all ROMs properly.
3. How Can I Force All 4 Cores Online All The Time?
First you must enable mako hotplug. Then you need to use Franco's kernel updater app or another app that allows you to tweak mako hotplug settings. In fku app select CPU manager then hotplug control. Change load threshold to 0. Additionally if you just want to make it use 4 cores more often. Lower this number below 80 as desired. This should also be possible to tweak via terminal however I've never used that method.
4. Does This Have D2W, S2W, etc?
Yes, those are part of LK which means they are include in this kernel.
5. Help! I think its making me bootloop!:
This may only apply to specific ROMs and I'm unsure ofnwhy it would change anything but users have reported this to fix the issue. If you are trying a fresh install of a ROM boot on stock kernel first, reboot, then install this kernel.
6. You Broke My Phone! Fix It!:
It will be quite hard for me to figure out what is going on if you don't provide details and a log of what happened. To get a log use any file manager with root support and navigate to sys/fs/pstore I then need the console one.
7. What Kernel Tweaking App Should I Use? What About For Tweaking Screen???:
I now Use synapse as my goto app for kernel tweaking since version 1.3. To control the screen I use the app made by Savoca who created the color control we use http://downloads.codefi.re/savoca/kcal
8. Why Add Zram? We Already Have 3gb Of Ram!
Zram was added in build 1.0 as an experiment of sorts to see how much is was actually being used. V 1.0 introduced a bunch of tweaks to the kernel that essentially make it use more ram in order to give better battery life and performance. Zram was put in place to offset this in a way.
9. Wut Is A LZ4?
LZ4 is a compression algorithm used by the kernel. LZ4 is currently the fastest supported option in the Linux kernel and had to be ported from upstream. It is significantly faster than XZ compression which is what we used prior. The downside is it results in slightly larger file sizes due to a lower compression ratio. However with modern hardware this should be moot. The gains should theoretically be noticed as a general performance bump. Boots should be faster. IO should be marginally faster. Anything that's compressing or decompressing stuff, such as ZRam and encrypted devices will utilize this in a big way. Because its compressing and decompressing so much faster it can also be assumed it is saving battery via less CPU cycles.
10. What Is Strict Aliasing And Why Should I Care?:
One of the big things Linaro does with improving Android's performance is fixing violations of what's known as "the strict aliasing rule." A pointer is said to alias another pointer when they both refer to the same location of memory. This is OK and not an uncommon thing to do. The strict aliasing rule is that pointers of different types should never refer to the same location of memory (aka alias each other). Strict aliasing allows a compiler to make some assumptions when compiling and optimizing code that it otherwise couldn't. It's actually one of the biggest optimizations you can do and it is fairly hard to add which is why most people don't. Here's a nice read up on it http://cellperformance.beyond3d.com/articles/2006/06/understanding-strict-aliasing.html#benefits
11. Come on man. 35mhz is pointless bro!:
A common misconception is that if two frequencies run at the same voltage. They use equal power. In fact this couldn't be less true. The equation for power draw has four variables. Two of which are frequency and voltage. Essentially it is the frequency multiplied by the square of the voltage. Then you would take that and multiply it by a few other things such as capacitance. However that is irrelevant for our purposes as it will not effect the relative results. This means that 35mhz running at 500mv will use about 3x less power than 98mhz at 500mv. Now we say well what about compared to 300mhz? I can stably run that at around 650mv. Maybe slightly less. This equates to about 15x less power usage at 35mhz. Well now that we know that. Who cares? Its not like 35mhz will even get used. Its too low! I beg to differ. I would almost guarantee that if you are not running mpdecision 35 MHz will be within the top 3 most used frequencies. Most likely the top used below sleep. And every time it uses that over 300mhz you are saving 15x the power. Additionally 35mhz also runs at a cache frequency of 35mhz as opposed to 300mhz cache frequency and runs a lower bus speed/voltage saving additional power. The same goes for 98mhz. Hope this helps clear things up.
12. How Do I Disable BlueSleep Wakelock?
Open terminal emulator app. Type su then hit enter then type echo 0 > /sys/module/wakeup/parameters/enable_bluesleep_ws all on one line. It won't say anything but if you turn on Bluetooth and check your wakelocks you shouldn't see the wakelock there anymore. This needs to be set on each boot currently. If you experience Bluetooth connectivity issues don't disable this. To enable it again either reboot or run the same command with a 1 instead of a 0.
13. How Do I Use MultiRom???:
To use multi ROM first you must download the MultiRom App from this location http://tasemnice.eu/bordel/MultiROMMgr-v1.180.apk the play store version doesn't work with shamu yet. Then you will need to open it, go to settings and tap the version number until you are a developer. Then click override manifest URL and for manifest URL enter http://tasemnice.eu/multirom-test/manifest.json the. Go back to the main page. You should now have MultiRom and recovery boxes checked. Click install, reboot etc. To install a ROM. Download a ROM you like, go to twrp, click advanced,MultiRom,add ROM. Select internal storage and the Your zip file. Flash it but don't reboot! After that go back and select "list ROMs" select the ROM u just flashed still and click flash zip and select your gapps,supersu etc. After that simple reboot and select your new ROM on boot use the MultiRom app to manage your ROMs.
More will be added as they come up and I think of them.
Configuration Guide:
The following can be done using your favorite kernel tweaking app. I use synapse.
Clock Speed:
To begin I prefer to leave my max clock speed at the stock 2.649ghz. Set min CPU as low as it can go. As of current release this is 35. For the adventurous you can try 2.88ghz. Often I bump the voltage 12mVolts on 2.88 to be safe.
To find your CPU binning run this command in terminal emulator OR look at the first page in synapse near the bottom:
su (enter)
cat /proc/cpu/msm_acpu_pvs (enter)
(Put a space between cat and /proc)
note that the number may be displayed at the beginning of the next line.
It will then display a number from 0-15. 15 being the best. Don't stress over it too much if you score low, its not the end of the world. It just means you need marginally more voltage to run each frequency.
GPU:
As of Alpha 1.3 the GPU can now be over clocked to 700mhz. This is completely optional. To verify your over clock change the GPU governor to performance and see if it spikes to 700 every so often. If it does it worked! If it doesn't you may need to set the frequency to something else then back to 700 again. It remains to be seen what kind of benefits the GPU over clock will give but it is there for those who want it. The recommended GPU governor is the stock msm adreno one. If you encounter lag in games you can try changing it to performance temporarily while playing that game. Simple on demand is a more performance oriented governor.
Governor:
Most people will probably want to just leave this set to interactive. Its a really good governor that is being actively devolped by CAF, Google, and Franco. It also hooks into Francos CPU Boosting interface. Its "smarter" than OnDemand and generally considered to offer better battery life. If you want even more smoothness some consider OnDemand to provide a bit better performance, however you may get slightly worse battery life. This is because OnDemand ramps up to max frequency when there's is load put on the CPU and then slowly works its way down. Interactive scales through the frequencies on the way up and down which saves battery life but prevents it from jumping to max speed as fast if it is needed. Simms22 recommends using the OnDemand governor with "upthreshold" set to 98 and the sampling rate set to 15000. That is the default setting of the Trinity Kernel. Mistertac made the great suggestion of turning the max screen off frequency down to 600mhz if using the interactiveX governor. This will prevent any misbehaving apps from keeping CPU ramped up while screen is off and give better idle drain. The actual number you would have to type in would be 652800 for the screen off frequency. The Conservative Governor is greatly modified by franco, Its no longer a super slow governor as it once was. It also hooks into his cpu boost control interface meaning you get cpu boost when using it. Conservative prefers the lower frequencies, however so if you find yourself having lag, you may want to switch to another.
PowerSuspend:
The only working options in V1.6 of the PowerSuspend driver are lcd_panel and Userspace which can be found in the miscellaneous section of FauxClock. I suggest leaving it at the default choice of LCD_PANEL. In FauxClock if you navigate to the cpu idle/stats area you will be presented with more options. You should see a list of C-states. For example C0: wfi and C1: retention. These are essentially low power states that the cpu can enter to save power. The higher the C number the deeper the sleep. Last I heard, the optimal configuration was to enable C0, C1, and C3. Paired with lowered Retention voltages, this should give you a very low idle drain.
Hotplugging:
Next go to hot plugging section and disable MPDecision(make poor decision) and enable intelliplug or, enable Mako Hotplug(Franco's) by either selecting user control as your hotplug, or disabling both mpdecision and intelliplug. Tweaking for them is split up below.
IntelliPlug:
FauxClock allows you to further configure intelliplug. If you want more battery set it to Conservative (4) mode which will hotplug the CPU more conservatively and save you battery, essentially this means it will use less cores if it can. For most people, leaving it on Balanced (4) mode will be fine. If you want further battery savings you can set it to EcoPerformance (2) or even EcoConservative (2) which will only use a max of 2 cores. IntelliPlug is able to use a single core unlike Mako Hotplug.
Mako Hotplug:
As far as I know the only way to tweak Mako Hotplug is either through the terminal app, synapse or through Francos app. In Francos app select cpu manager, then Hotplug Control. The main one you will need is load threshold. The default is 80. The higher this number, the more load the cpu needs to be under before it will plug the 3rd and 4th cores. 80 is actually pretty good value for most people and it will use the extra 2 cores when it really needs them. If you want to force all 4 cores on for whatever reason, you can achieve this by setting the load threshold to 0. This will effectively disable hotplugging. Of course you can always find a middle ground as well.
Via Terminal:
The sysfs interface for mako hotplug is...
/sys/devices/virtual/misc/mako_hotplug_control
To adjust... Use echo commands...
Ex:
echo 0 > /sys/devices/virtual/misc/mako_hotplug_control/load_threshold
The above command would set the load threshold to 0.
Thanks Rignfool!
Voltage Control:
Next go to voltage control. I'm a Bin 5 and I can use a 48mVolt undervolt without becoming unstable. Rember! Never set voltages to apply on boot until you have tested them for a few hours first! Most people can probably get away with a 36mVolt undervolt and nearly everyone should use at least a -24mVolt UV. Also remember that if you are running an over clock you may not want to undervolt that frequency. If you find yourself running into freezes or random reboots remove the undervolt!
Thermal:
This kernel comes with the latest IntelliThermal Driver from Faux123, which is a highly configurable thermal driver, as well as Franco's Thermal Driver which is the stock option. It is recommended you use IntelliThermal over Franco's if you wish to customize the values. Change this option under the Thermal Manager section of FauxClock. The optimal settings that I have found are 70 degrees for frequency throttle, and then somewhere between 70 and 80 for core throttle temp, depending on how safe you want to be. Stock is 80 degrees. Leave all cores checked for both frequency throttling and core throttling. I also leave on GPU Thermal Control, but if you encounter periodic lag in games you may wish to disable it. I also leave Core Thermal Control on as well, though I'm not entirely sure what it does lol. Also FYI, the sliders beneath those two options are showing you the current status of them, they are not sliders you can move.....trust me...I tried for like 5 minutes before I realized and felt like a moron....
I/O Settings:
For I/O scheduler select FIOPS. FIOPS is superior to the other schedulers in nearly every way. It is a scheduler designed for flash storage which is what our phones use. My testing has shown that 1536 is the best readahead buffer. Less or more is detrimental.
ZRam:
ZRam is something designed to optimize the ram of a device. What typically happens when a device runs out of space in ram is it is forced to use something called swap. Swap is normally a partition of a hard drive or ssd depending on what is available where the ram can copy some of it's contents to free up space. The problem is even the fastest SSDs are many many times slower than ram. Android by default doesn't have swap, however it does use a low memory killer which essentially goes through and clears out apps that are in ram to free space. ZRam makes a compressed partition inside the ram itself which then acts as a swap partition. Basically when ram begins to fill up. It compresses data and sticks it in a sealed off area of the ram. This let's it stuff way more stuff into ram than normal. To enable ZRam I use fauxclock. Trickster for whatever reason does not work. In FauxClock go to memory settings, then set the Zram size to 300mb and click apply disk size. Then turn it on and set on boot. You have now essentially boosted the available ram via compression!
VM Settings:
There are numerous tweaks you can do to the VM. For this I use FauxClock but IK Kernel Aduitor can do this as well. In FauxClock navigate to memory manager. The first thing to tweak is an option called swappiness. This control is used to define how aggressive the kernel will swap memory pages. Higher values will increase agressiveness. I defaulted this to 10 however the default is 60. This will use more ram but give better performance. Next is VFS Cache Pressure. This controls the tendency of the kernel to reclaim the memory which is used for caching of directory and inode objects. The default used to be 200. Its now defaulted to 10 meaning more ram usage but more performance. Next up is dirty ratio and dirty background ratio. Some things pass through ram and stay there for a bit until they get flushed to the flash storage. These controls essentially dictate how long it should wait before flushing to the flash storage. The longer you can delay it the better performance and battery you achieve, at the cost of ram. Setting these higher will increase ram usage but increase performance. I recommend a background ratio of 30 and a dirty ratio of 50, however feel free to tweak them as you desire.
Color Control:
Next you may want to adjust Screen RGB, value, saturation, hue and contrast. WrinkleFree over in the Lean Kernel thread did extensive testing with a professional grade $1000 screen calibration tool. You can use this app http://downloads.codefi.re/savoca/kcal to control the screen.
For the most truly color accurate screen at D6500K:
Red - 248
Green - 246
Blue - 255
If you prefer a slightly cooler screen and the tuning the iPhone uses which is D7400K:
Red - 237
Green - 235
Blue - 255
More info can be found about color calibration here: http://forum.xda-developers.com/showpost.php?p=57265483&postcount=620
As for saturation. I like to turn it up a bit and make the colors pop a bit more so I leave it around 65. But quite honestly saturation,value,contrast,and hue are going to come down to tweaking it and finding what you like most. Have fun!
These settings are meant to be used as a starting point. Depending on your cpu binning and desires you will probably want to tweak these slightly to fit your needs. I'll add more as new features get added, I learn more, and I think of stuff to add Hope it helps someone!
Sweet! Good work man.
Thanks for sharing.
It does support the CM Theme Engine, right ?
x0nar said:
Thanks for sharing.
It does support the CM Theme Engine, right ?
Click to expand...
Click to collapse
Yessir using it as we speak
Seems buttery enough. Will let you know the battery life on Bliss 2.0
x0nar said:
Seems buttery enough. Will let you know the battery life on Bliss 2.0
Click to expand...
Click to collapse
Good to hear so far. Don't forget to lower your min frequency . Also I recommend either Conservative or Interactive governors ATM as they hook into the new CPU boost. I'll be posting a full configuration guide probably tomorrow. Hope you like it.
New kernel , SUPER
Fauert said:
New kernel , SUPER
Click to expand...
Click to collapse
Hope you like it! No doubt I'll be hearing many bug reports when I wake up tomorrow
I've been testing this kernel on a few different Roms without any issues at all really so everyone should be happy with it.
If anyone gets any reboots though do try and get logs [emoji106]
Xileforce said:
Good to hear so far. Don't forget to lower your min frequency . Also I recommend either Conservative or Interactive governors ATM as they hook into the new CPU boost. I'll be posting a full configuration guide probably tomorrow. Hope you like it.
Click to expand...
Click to collapse
Looking forward to your guide.
Nice kernel. Jist one thing, may be is a feature i dnt know but only 2 cores online when i tried tu push all cores on, just stay with 2 or 1 core on. I changed the hotplug but still the same
Sent from my Nexus 6 using XDA Free mobile app
Bestplayer55 said:
Nice kernel. Jist one thing, may be is a feature i dnt know but only 2 cores online when i tried tu push all cores on, just stay with 2 or 1 core on. I changed the hotplug but still the same
Sent from my Nexus 6 using XDA Free mobile app
Click to expand...
Click to collapse
Are you trying to do this for a Benchmark?
Using the Faux app you can first set it to Intelliplug , then Performance (4) Cores and that should get you there.
If not, try setting it that way and reboot. I've noticed with this phone that I've had to reboot a lot for my changes to actually take correctly.
Cpu2 and cpu3 are stuck in performance...
And does anyone know where in sysfs to adjust mako hotplug?
rignfool said:
Cpu2 and cpu3 are stuck in performance...
And does anyone know where in sysfs to adjust mako hotplug?
Click to expand...
Click to collapse
Gotcha.. Well once Mr Xile wakes up I'm sure he'll have something for you, not sure myself.
Mistertac said:
Gotcha.. Well once Mr Xile wakes up I'm sure he'll have something for you, not sure myself.
Click to expand...
Click to collapse
I found it... And I learned a new Linux command in the process...
Haven't done a full battery test yet, but I seem to be getting the best I've seen so far.
Bestplayer55 said:
Nice kernel. Jist one thing, may be is a feature i dnt know but only 2 cores online when i tried tu push all cores on, just stay with 2 or 1 core on. I changed the hotplug but still the same
Sent from my Nexus 6 using XDA Free mobile app
Click to expand...
Click to collapse
Currently if you disable all hotplugs or if you use fauxclock to set it to usercontrol that enables Franco's mako hotplug. Thats why in an app such as faux you cannot easily force two cores online. However if you use Franco's updster app you can go to CPU manager then hotplug control and if you lower the load threshold it will hotplug more frequently. Setting this to 0 will force all cores online. Additionally as mistertac said. Using b intelliplug on either performance(4) mode or balanced(4) will use all 4 cores pretty frequently as well.

[Kernel] Vindicator [5.1.1] [G920/G925] [COJ2] [R5]

Vindicator Kernel
Supports F/I/S/K/L/T/W8 variants of 920 AND 925 devices
Intro:
This kernel was built to appeal to users who want something thats trimmed down as much as possible, yet still adds nice features that arent considered bloat. I spent a lot of time optimizing it and plan on spending several more hours just on optimizations. This kernel is also built with significant amounts of upstream code merged in, making it what many would deem a hybrid kernel. All credit goes to the real hard workers coming up with original ideas like Franco, Imoseyon, Ktoonsez, g.lewarne, etc. I hope you like it and I won't be offended if you hate it. All ideas are welcome and I'll try to help as best I can. If you wish to use this kernel in a rom , feel free! Although I would love it if you let me know just for my own curiosity.​
Goal:​Keep kernel as lean as possible while adding certain, desirable features, upstreaming source, and optimizing for maximum performance and battery life. The default settings should be optimal for a balance of battery and performance without a need to tweak.​
Disclaimer:​If your phone blows up, its not my fault. If your phone somehow gains perpetual battery life, I'll take full responsibility.​
Features:​-COGA Source Based
-Universal Kernel! (Thanks to G.lewarne and Ktoonsez patchset!)
-VControl Kernel Control Script(Loosely Based On lkconfig by imoseyon)
-Compiled With Graphite, Loop Nest Optimizations, Ofast And Others.
-Various Other Build Optimizations
-WLAN_RX & WLAN_CTRL Wakelocks Reduced
-GPU OC/UC
-Interactive ScreenOff Max Frequency
-Improved LMK
-Dynamic ReadAhead
-Dynamic Fsync
-LEDFade
-VMA Caching
-Calibrated Power Coefficients
-Smoothened GPU Throttling Curve
-Lz4 Compression
-Interactive Governor Patches/Mods
-Timer/RCU System Upstreamed
-SensorHub Wakelock Toggle To Remove
-A53 UnderClockable To 200Mhz Oc To 1600Mhz
-A57 UnderClockable To 200Mhz Oc To 2500Mhz
-Slub Allocator Updated To Linux 3.18
-Synapse Support
-Memory Management Updates
-Arm Efficient Unaligned Access Enabled
-Reduced Scheduler Wakeups
-Nvidia Power Efficiency Patches
-Encrypted Performance Improvements
-Deep Sleep Fix
-Disabled IO Stats For Faster IO
-Memory Leak Patches
-Sleep/Suspend Patches
-3X Faster Integer Square Root Operations
-HRTimer Optimizations
-Avoid load Average Moire
-Scheduler Optimizations
-Power Aware Scheduling
-Sound Control
-Memcopy and String Optimizations
-Use Compile Time Constants For Jiffies Conversions When Possible(Reduces CPU Overhead)
-Workqueue Updated To Linux 3.18
-Optional Power Efficient Workqueues (Expanded to more modules than normal as well)
-Moto QuickWakeup Driver
-Frandom (Efficient Random Number Generator)
-Cruft Free
-Slimmed Down
-Tons Of Debugging and Tracers Removed
-Many Misc. Optimizations
-Optimized CFQ Scheduler For SSDs
-Tons Of IO Fixes/Performance Boosts
-ROW IO Schedule(Default)
-Voltage Control For Numerous Things
-Entropy Optimizations/Tweaks
-Many Parts Pulled From Upstream
-Init.D Support
-Installs SU
-Installs Busybox
-Potentially Something I Forgot...
Downloads:
[AFH] Kernel: https://www.androidfilehost.com/?w=files&flid=35336
If Coming From Arter Kernel:
Reflash TWRP recovery if using philz and flash this zip http://www.mediafire.com/?um57p83b3cb56x4 before flashing kernel.
Credits:
Imoseyon
Ktoonsez
AndreiLux
Arter97
G.lewarne
Samsung
Flar2
anarkia
hybridmax
Franco
Faux123
Linaro
Code Aurora Foundation
Cl3Kener
Friedrich420
Google
Motorola
If I Missed You Lemme Know!​
XDA:DevDB Information
VindicatorS6-Unified Kernel, Kernel for the Samsung Galaxy S6
Contributors
Xileforce
Source Code: https://github.com/XileForce/Vindicator-S6-Unified
Kernel Special Features:
Version Information
Status: Stable
Created 2015-07-13
Last Updated 2015-12-7
Changelog:
R1:
-Initial Release
R2:
-Updated From Linux 3.10.61 To 3.10.83
-Updated Memory Management Tweaks
-Update Interactive Tunings
-Fix App Installing
-Fix Random Reboots
-Removed Overclocking For Now(Caused reboots)
-Removed Fsync Toggle(Caused app installs to fail)
-Added Asynchronous Fsync(Faster Fsync)
-Fixed Frandom Permissions
-Additional Entropy Optimizations
-Added Interactive Patches
-Trimmed More Stuff
-Interactive No Longer Scales Up The Frequency Below 5% Load(Better Battery)
R3:
-Lag Free Interactive Tweaks (Glewarne)
-Interactive Screen Off Max Frequency = (InteractiveX)
-InputBooster Removed(Touchboost)
-BOG8 Source Update
-Memory Management Update
-Better Frequency Selecting By Interactive
-Numerous Interactive Code Optimizations/Patches
-Added A Toggle To Remove SensorHub Wakelock In VControl
-Remove Task Packing
-Trimmed More Things/Debugging
-Removed Forced Full screen Updates
-Some Power Efficient Related Tweaks
-Additional Optimizations
-Many Misc Things.
-Cifs support
R4:
-COGA Based
-Compiled With Linaro 5.2 TC
-Compiled With Ofast vs Os
-Fully Tickless Kernel(faster more power efficient)
-Updated Memory Tweaks
-Added CPU OC Again!
-Fixed Big Cpu Settings Not Sticking
-More Interactive Tweaks
-Reverted Enforced Mode
-Async Fsync Replaced With Dynamic Fsync
-Power Aware Scheduling Option
-Updated To Linux 3.10.87
-Added DT2W
-Misc Patches
-Added Synapse Support
-Updated Nvidia Power Efficiency Patches
-Various Upstream Timer/RCU Updates
-Add LED Fade Patch
-Add Audio Control
-Add Various Voltage Controls
-Optimize ART
-Update VControl Options
-CFQ Optimizations
-GPU Throttling Smoothing
-Task Packing Toggle Fixed
-Task Packing Threshold Adjusted
-Added PowerSuspend Driver
-Updated Unification Patches
-Disabled Gentle Fair Sleepers(Ui Smoothness)
-Numerous Interactive Patches
-Removed InteractiveX
-Re-Added TouchBoost
-Enable Efficient Unaligned Access
R4.1:
-Reverted Back To Dynamic Ticks Kernel
-Enabled Fast No Hz(Power Efficiency)
-Enabled RCU Priority Boosting(Performance Increase)
R5:
-Honestly Almost Everything Changed But Here's Some From Memory
-Interactive screen off limited to 1ghz
-Hotplug optimizations
-Interactive Patches
-LMK Upstreamed
-GPU OC/UC
-Ramdisk and synapse updated
-DT2W Removed
-LED Fade added
-Fixed Lockscreen Crashes
-GPU Tweaks
-Strict Aliasing Optimizations
-Significant amount of power efficiency patches
-Sound Control Removed
-More garbage removed
-Optimized a few libs for A57
-Updated To COJ2
-Lots more
FAQ's
1. What Is VControl And How Do I Use It?:
VControl is a kernel tweaking "app" built into the ramdisk. It is accessed via terminal emulator. To use it simply download terminal emulator, Type "su" without quotes and hit enter. Grant terminal emulator super user permission and then type "VControl" without quotes. Please note that it is case sensitive. This will bring up a text menu and you navigate by simply entering the option number you want and hitting enter. It is currently a WIP. More will be added to VControl over time.
2. You Broke My Phone! Fix It!:
It will be quite hard for me to figure out what is going on if you don't provide details and a log of what happened. To get a log use any file manager with root support and navigate to proc/last_kmsg.
3. What Kernel Tweaking App Should I Use?:
To Tweak the kernel, currently the only apps that work well are Kernel adiutor and Kernel toolkit as well as synapse. You can also use VControl for a limited number of things. Synapse is now built into the kernel so simply install the app.
4. What Do Power Efficient Workqueues Do?:
Typically when a task is created, it is bound to the cpu it was created on. This is great for performance due to maintaining cache locality. However its not the best for battery life. Power efficient workqueues attempts to schedule tasks on already awake cpus. A quick note about awake and sleeping cpus. A sleeping cpu doesnt mean the cpu is turned off or not hotplugged, nor does this mean it has to be deep sleeping. A core can be online and still be sleeping which means it uses very little power. This is why we are able to run with all 8 cores on all the time. Most of the time the majority of the cpus are sleeping. With power efficient workqueues, jobs will attempt to schedule on awake cpus which means we dont have to wake up the cpus that are sleeping already. This means we lose cache locality so we suffer a small (very small) performance hit but we potentially save noticeable amounts of battery. Enable for battery, disable if you plan on benchmarking or just want the extra power. They are off by default.
5. What Is Strict Aliasing And Why Should I Care?:
One of the big things Linaro does with improving Android's performance is fixing violations of what's known as "the strict aliasing rule." A pointer is said to alias another pointer when they both refer to the same location of memory. This is OK and not an uncommon thing to do. The strict aliasing rule is that pointers of different types should never refer to the same location of memory (aka alias each other). Strict aliasing allows a compiler to make some assumptions when compiling and optimizing code that it otherwise couldn't. It's actually one of the biggest optimizations you can do and it is fairly hard to add which is why most people don't. Here's a nice read up on it http://cellperformance.beyond3d.com/articles/2006/06/understanding-strict-aliasing.html#benefits
6. What does Small CPU Task Packing Mean?:
Task packing Is a process done by the scheduler. What it tries to do is pack all tasks onto as few cores as possible. In this case, it only packs tasks for the low power(small) cores as we want to maintain maximum performance and spread the load out on the bigger cores. The advantage of packing tasks is that if we envision a scenario where there is a 40% load and that gets spread out across the 4 small CPUs at 10% load each all 4 small CPUs are awake and running at a low frequency. With task packing all 40% would be shoved onto 1 core and the other 3 would sleep. This provides energy savings. However there becomes a point where the frequency required to process the extra tasks becomes high enough that it would use less power to run two cores at half the speed rather than 1 core at a very high speed. In this scenario the scheduler will automatically let tasks spill over onto adjacent CPUs in order to maximize power efficiency. One down side to this is a small performance hit due to having to pull the other cores out of a sleep state in the event of needing immediate power. However I would guess most people couldn't notice a difference.
7. What is power aware scheduling?:
Power aware scheduling is a method of scheduling where we make the scheduler aware of the actual efficiency of the cores. As you know, the small cores are more efficient than the big cores. The existing method for scheduling work uses a more basic (if the load is above this point, then move it to the big cores) type of decision making. With power aware scheduling, the scheduler will schedule tasks based on its knowledge of the cores power efficiency. Typically this reduces performance, though it's likely not noticeable except for in some games. If you want more battery, enable this. If you want more performance or have lag in games disable.
More will be added as they come up and I think of them.
Annnndd 3!
Great, downloading for test, my device is i variant but should works fine, any recommend settings?
matheus_sc said:
Great, downloading for test, my device is i variant but should works fine, any recommend settings?
Click to expand...
Click to collapse
I personally use VControl to set my min freq to 200 for both, then I oc to 1600 on Apollo and 2200 on atlas. I then also disable fsync. That's it hope you like it! Let me know if you have any issues!
great job with another kernel!
I enabled CPU task packing, but when I check the current settings, it says "/sbin/VControl(239): cat: /sys/kernel/hmp/packing_enable: No such file or directory"
interestingkid said:
great job with another kernel!
I enabled CPU task packing, but when I check the current settings, it says "/sbin/VControl(239): cat: /sys/kernel/hmp/packing_enable: No such file or directory"
Click to expand...
Click to collapse
Thanks! Yea I had task packing enabled in a previous test but removed it prior to release. I decided to leave it in VControl in case I re add it. So just ignore it for now I'll probably remove it in r2
Sent from my SM-G920T using XDA Free mobile app
Xileforce said:
Thanks! Yea I had task packing enabled in a previous test but removed it prior to release. I decided to leave it in VControl in case I re add it. So just ignore it for now I'll probably remove it in r2
Sent from my SM-G920T using XDA Free mobile app
Click to expand...
Click to collapse
ok, that's fine, because this is running well for now!
---------- Post added at 09:49 AM ---------- Previous post was at 09:48 AM ----------
ok so another problem though with google account or play services, don't know which
when i tried to install an app from the play store, i get an error -504
interestingkid said:
ok, that's fine, because this is running well for now!
Click to expand...
Click to collapse
Glad to hear that! There's definitely still room for improvement.
Sent from my SM-G920T using XDA Free mobile app
Boots fine in i variant from Brazil, but dont show much option in kernel auditor. I cant change i/o for fiops too its normal?
interestingkid said:
ok, that's fine, because this is running well for now!
---------- Post added at 09:49 AM ---------- Previous post was at 09:48 AM ----------
ok so another problem though with google account or play services, don't know which
when i tried to install an app from the play store, i get an error -504
Click to expand...
Click to collapse
Weird! I had that earlier too! I cleared my play services cache, and the play store cache and rebooted and it went away so I didn't think anything of it... :/ great...well at least I've got something to do tomorrow....
Sent from my SM-G920T using XDA Free mobile app
Xileforce said:
Weird! I had that earlier too! I cleared my play services cache, and the play store cache and rebooted and it went away so I didn't think anything of it... :/ great...well at least I've got something to do tomorrow....
Sent from my SM-G920T using XDA Free mobile app
Click to expand...
Click to collapse
kk will do that
matheus_sc said:
Boots fine in i variant from Brazil, but dont show much option in kernel auditor. I cant change i/o for fiops too its normal?
Click to expand...
Click to collapse
Kernel adiutor doesn't work for IO Scheduler. I recommend trying an app called Kernel toolkit. I'll probably add IO schedulers to VControl in the next update. Also there aren't tons of options on it atm. Mostly because its tweaked to run well on interactive governor, however I'll likely add conservative and ondemand in r2 as well.
Sent from my SM-G920T using XDA Free mobile app
interestingkid said:
kk will do that
Click to expand...
Click to collapse
Hope it works! I'm not sure what in Kernel is causing it, and its gonna be a pain to troubleshoot but I can probably figure it out tomorrow.....I hope....
Sent from my SM-G920T using XDA Free mobile app
This kernel is very fast and good deep sleep 94% all perfect on my G925F
Gesendet von meinem SM-G925F mit Tapatalk
cobra11111 said:
This kernel is very fast and good deep sleep 94% all perfect on my G925F
Gesendet von meinem SM-G925F mit Tapatalk
Click to expand...
Click to collapse
That's awesome to hear! Hope it continues to work well for you.
Sent from my SM-G920T using XDA Free mobile app
Can to future implement smartassv2 or KT governor?
Gesendet von meinem SM-G925F mit Tapatalk
cobra11111 said:
Can to future implement smartassv2 or KT governor?
Gesendet von meinem SM-G925F mit Tapatalk
Click to expand...
Click to collapse
The problem with kts governor is it would require merging a lot of other stuff that I don't need in order to make it work :/ however smartass is standalone. Is there other kernels for s6 that have it? If so it would be an easy addition most likely
Sent from my SM-G920T using XDA Free mobile app
Xileforce said:
The problem with kts governor is it would require merging a lot of other stuff that I don't need in order to make it work :/ however smartass is standalone. Is there other kernels for s6 that have it? If so it would be an easy addition most likely
Sent from my SM-G920T using XDA Free mobile app
Click to expand...
Click to collapse
+1 for smartassV2 governor and maybe zzmove as an option
No others kernel got those for S6

[KERNEL] [v0.14] [MM 6.0.0 Stock ROM] Frankenclark

Introduction
This is a kernel for XT1572/XT1575 built from stock sources (marshmallow-6.0.0-release branch) with cherry picks from other kernels and some ports/mods done by me. It started as a personal build tailored to my preferences but just thought I'd share in case somebody might find it useful. My main goal is building the smoothest kernel I can get so performance is top priority.
This kernel is for stock ROM MPH24.49-18*
Disclaimer
Although I have experience with Linux kernels on desktops and servers this is my first Android kernel. I've been running this kernel on my XT1572 for a few days and seems pretty stable but that doesn't mean it's risk free. In fact I wouldn't dare to install it if you don't have a proper backup and some basic skills to deal with unexpected situations.
Features
Aroma Installer
CPU profile scripts (see this)
Color control (KCAL)
Frandom
Updated to kernel version 3.10.101
Overclocking (a53: 1536MHz a57:2016MHz)
Underclocking (302MHz)
Additional CPU governors (ElementalX, Intelliactive, Lionheart, BioShock, BluActive, Wheatley, InteractiveX/Interactive, Impulse, Zzmoove)
Additional I/O schedulers (SIO, FIOPS, Zen, BFQ, SIOPLUS)
Bricked Hotplug
Updated ZRAM driver
Updated Lowmemorykill driver
Basic init.d support
KSM and UKSM
Voltage readings
Fsync on/off
Touchboost on/off
Vibration control
KEXEC Hardboot (MultiROM support)
Patched cdrom code (DriveDroid support)
DoubleTap2Wake/Sweep2Wake/Sweep2Sleep (EXPERIMENTAL)
Power efficient workqueues
Support for additional FS: NTFS, NFS, CIFS
Additional Xpad drivers (read this)
Device as USB trackpad/keyboard driver (read this)
WiFi module optimizations
Many minor optimizations
Optimization flags
UBER Toolchain 4.9
Installation instructions
Download ZIP and flash from TWRP/Flashify. Read the following notes carefully before flashing.
Important notes:
This kernel is still experimental, make a proper backup first
You need to be rooted
DO NOT play with DT2W/S2W before reading the release notes and the update
In case you want to tune some parameters (ie: CPU frecuencies) I recommend you install EX Kernel Manager, Kernel Adiutor or Kernel Adiutor-Mod.
If you're using Kernel Adiutor to control vibration or TCP congestion read this.
Questions? Read the FAQ before posting.
Download
Latest version is v0.14 (see release notes)
https://www.androidfilehost.com/?w=files&flid=49225​
Donations
Although quite a deal of the important work has been done by the developers mentioned in the Credits section I spend many hours working on this. If you feel like helping me out I'd appreciate some tiny donations to cover some minor expenses.
​Thanks to all of you who have donated, it's very much appreciated.​
Profiles
One of the FAQ in most kernel related threads is "What are the best settings for .....?". This is the 10 million question since the usage pattern can be very different for each user. However, I understand less experienced users will appreciate some hints in this department, so that's why I'm posting some basic settings you can use as a starting point.
It's your job to further tune them to suit your needs. You should be able to modify these settings with whatever Kernel Control App you like the best, although not all settings are available in every app, in such a case tune those you can. The list is not complete (just the most importante settings) and is loosely based on Kernel Adiutor arrangement.
Please, keep in mind these are subjective values (based of personal preferences or popularity) and some people might like other settings for whatever reasons.
Performance Profile: Very smooth and responsive but average battery life
CPU
LITTLE Cluster
CPU Governor: bluactive
CPU Max Frequency: 1536MHz
CPU Min Frequency: 302MHz​BIG Cluster
CPU Governor: bluactive
CPU Max Frequency: 2016MHz
CPU Min Frequency: 302MHz
NOTE: If you get N/A or weird values when trying to change settings on BIG cores it means both have been hotunplugged. To work around this select "performance" governor, make your desired changes and then select you previous governor.​CPU Boost
Input Boost Frequency Core 1: 960MHz​
Hotplug
MSM MPDecision
Minimum CPU online: 2
Maximum CPU online: 6
Max Cores Screen Off: 2
Idle Frequency: 384MHz​
Thermal
Core Control: Off
VDD Restriction: Off
Temperature Throttle: On​
GPU
Max Frequency: 600MHz
Min Frequency: 180MHz
Govenor: cpufreq​
I/O
Scheduler: noop
Read-ahead: 1024KB​
Balanced Profile: Above average battery life with good performance on most situations
CPU
LITTLE Cluster
CPU Governor: interactive
CPU Max Frequency: 1440MHz
CPU Min Frequency: 302MHz​BIG Cluster
CPU Governor: interactive
CPU Max Frequency: 1632MHz
CPU Min Frequency: 302MHz
NOTE: If you get N/A or weird values when trying to change settings on BIG cores it means both have been hotunplugged. To work around this select "performance" governor, make your desired changes and then select you previous governor.​CPU Boost
Input Boost Frequency Core 1: 960MHz​
Hotplug
MSM MPDecision
Minimum CPU online: 2
Maximum CPU online: 5
Max Cores Screen Off: 2
Idle Frequency: 768MHz​
Thermal
Core Control: Off
VDD Restriction: Off
Temperature Throttle: On​
GPU
Max Frequency: 600MHz
Min Frequency: 180MHz
Govenor: msm-adreno-tz​
I/O
Scheduler: noop
Read-ahead: 1024KB​
Battery Profile: Good battery life at the expense of somewhat limited performance
CPU
LITTLE Cluster
CPU Governor: ondemand
CPU Max Frequency: 1440MHz
CPU Min Frequency: 302MHz​BIG Cluster
CPU Governor: ondemand
CPU Max Frequency: 1632MHz
CPU Min Frequency: 302MHz
NOTE: If you get N/A or weird values when trying to change settings on BIG cores it means both have been hotunplugged. To work around this select "performance" governor, make your desired changes and then select you previous governor.​CPU Boost
Input Boost Frequency Core 1: 960MHz​
Hotplug
MSM MPDecision
Minimum CPU online: 1
Maximum CPU online: 3
Max Cores Screen Off: 2
Idle Frequency: 960MHz​
Thermal
Core Control: Off
VDD Restriction: Off
Temperature Throttle: On​
GPU
Max Frequency: 450MHz
Min Frequency: 180MHz
Govenor: simple_ondemand​
I/O
Scheduler: noop
Read-ahead: 1024KB​
Thanks To/Credits
vadimtk
flar2
franciscofranco
nimrodsv
anarkia1976
savoca
myfluxi
AudioGod
osm0sis
nychitman1
jollaman999
imoseyon
showp1984
HashBang173
neobuddy89
rehpyc
Alcolawl
soniCron
Spasticdroid
XDA:DevDB Information
Frankenclark, Kernel for the Moto X Style (Pure)
Contributors
dirtyhank
Source Code: https://github.com/dirty-hank/frankenclark/
Kernel Special Features:
Version Information
Status: Beta
Current Beta Version: 0.14
Created 2016-01-10
Last Updated 2016-10-11
Changelog
v0.14 (2016-08-29)
Proper KCAL control (thanks to @Spasticdroid)
Updated xpad driver for compatibility with gamepads/controllers (thanks to @Spasticdroid)
Driver to use device as USB trackpad and keyboard (thanks to @Spasticdroid)
Misc minor updates (see github)
100Hz version uses stock compiler flags
v0.13 (2016-06-21)
Update to Linux Kernel 3.10.102
Misc minor updates (see github)
New start-up CPU governor profiles: bluactive, maddog and silverfish
v0.12 (2016-05-15)
Disable DT2W/S2W while phone call is in progress
New CPU governors: impulse, zzmoove
New and updated CPU profile scripts
Runtime CPU profile switcher script (see release notes)
Minor changes to Aroma installer
v0.11.1 (2016-05-01)
Aroma Installer update (see release notes)
v0.11 (2016-04-27)
Aroma Installer
Better camera focus
Less CPU usage from DT2W/S2W
Minor updates and bugfixes
v0.10 (2016-04-03)
Updated lowmemorykiller driver
BFQ and SIOPLUS I/O schedulers
Updated ZRAM driver (on by default)
User togglable WLAN wakelocks
Basic init.d support (see release notes)
Misc minor updates
v0.9 (2016-03-20)
Update to Linux Kernel 3.10.101
Bug fixes
Changes from Google update to N5X and N6P (see release notes)
v0.8 (2016-03-06)
Update to Linux Kernel 3.10.99
Power efficient workqueues
NTFS support
NFS and CIFS support (you'll probably need additional user space binaries)
v0.7.1 (2016-02-28)
Workaround for the dimmed screen upon unlock bug when DT2W/S2W is enabled
v0.7 (2016-02-21)
Hotplug thresholds tuned to keep BIG cores offline more often
KEXEC Hardboot (MultiROM support)
Patched cdrom code (full DriveDroid support)
DoubleTap2Wake/Sweep2Wake/Sweep2Sleep (HIGHLY EXPERIMENTAL, Read this)
v0.6 (2016-02-07)
Vibration control (non-haptic)
Relaxed CPU macros for better power usage
File hosting now on AndroidFileHost
v0.5.2 (2016-02-03)
Fixed USB and WiFi Tethering
Minor tweaks
v0.5.1 (2016-02-01)
Changes to installer
v0.5 (2016-01-31)
Update to Linux Kernel 3.10.95
InteractiveX governor (as patches to the interactive gov)
Bricked Hotplug
KSM and UKSM (disabled by default, use Kernel Adiutor to enable)
Many minor optimizations
WiFi module optimizations
Modules recompilation
Disabled core_ctl (due to broken module after some internal changes to kernel)
Voltage readings (any attempt to modify values is silently ignored)
v0.4.1 (2016-01-24)
Prevent msm_performance from messing with the user selected min/max CPU frequencies
v0.4 (2016-01-23)
New CPU governors (ElementalX, Intelliactive, Lionheart, BioShock, BluActive, Wheatley)
New I/O scheduler (Zen)
Default I/O scheduler set to noop with a read ahead of 1024kb
Fixed bug CVE-2016-0728
Minor optimizations
Introduce ZIP installer (Anykernel2)
v0.3 (2016-01-18)
Color control (KCAL)
frandom support
New optimization flags
ZRAM disabled by default
v0.2 (2016-01-14)
Updated to Linux kernel 3.10.94
Underclocking (302MHz)
v0.1 (2016-01-10)
First public version
FAQ
I get random reboots, what is happening?
This kernel overclocks both clusters by default (a53: 1536MHz a57:2016MHz) and although this is very safe for most devices some CPUs are in the lowest spot of the binning spectrum and can't handle O/C very well. In such a case use a kernel control app (see the OP for references) to limit the maximum CPU frequencies, play with them until you find stable values for your device.​
What are the best settings for battery life/performance/whatever?
That's hard to tell as every user is different. You can find some basic profiles in the OP you can use as a starting point. Notice the differences between then and build you own.​
Why do some BIG cluster settings display N/A?
Why can't I change some settings on the BIG cluster?
If you get N/A or weird values when trying to change settings on BIG cores it means both are offline ("hotunplugged"). To work around this select "performance" governor, make your desired changes and then select you previous governor. You can also disable hotplug, make the changes, and enable hotplug again.​
DoubleTap2Wake doesn't work sometimes. How can I get it to work all the time?
When device goes into suspend mode first tap is often missed (I suspect this is caused by Moto Sensor Hub). If you tap three times and get the timing right you'll probably make it work most of the time. As an alternative, Sweep2Wake works almost all the time​
DT2W/S2W is acting weird or disabling itself
Make sure Moto Display is disabled. Open the Moto app, click on the stars in the top right corner, select Display and set to Off​
Can I use this kernel in ROM X/Y/Z?
This is for stock ROM MPH24.49-18 only. It'll probably work on any stock based ROM but not guaranteed.​
I use stock ROM but WiFi is not working
Due to some internal changes all modules had to be recompiled (WiFi included). In order to expose the new modules without modifying the system partition I had to implement a hack that requires root. Make sure you're properly rooted.​
What's the deal with ZRAM?
ZRAM is a technique to increase memory available to the apps at the expense of CPU time. Memory space from apps not being used is compressed into a memory swap area and uncompressed on the fly whenever needed. As you can imagine this compress/uncompress process burns CPU cycles, potentially leading to worse battery life, lag and higher temperatures. Since this device comes with 3GB I can only think of one scenario where ZRAM can be beneficial: heavy multitaskers who care more about apps not reloading than battery life. For the rest of users enabling ZRAM doesn't make much sense in my opinion, and that's why it's disabled by default.
UPDATE: v0.10 includes an updated ZRAM driver that improves performance significantly. So much so that the benefits seem to outweigh the costs and it's been enabled by default.​
What's the deal with KSM/UKSM?
Since many apps use the same libraries/resources it's very likely that at any given time there are multiple copies of the same data on different memory locations. KSM/UKSM tries to take advantage of that fact by scanning memory pages periodically and consolidating that multiple copies into a single shared copy. Much as like ZRAM it can have a good effect on heavy multitasking performance but at the expense of CPU cycles, and thus it's only recommended in the same scenario as ZRAM. Disabled by default​
Ok, so do I enable ZRAM/KSM/both/neither?
I honestly think most users will be better off not using neither. If you feel like you need extra RAM I'd try KSM first, then ZRAM. Using both at the same time is overkill unless you are an ultra multitasker, in which case you should probably get a 4GB device anyway ​
How do I get WiFi on 6.0.1?
It's a modem version mismatch issue, you need to downgrade the modem. See this post.​
Love to see more options! Thanks for sharing!!
Yeah this will be very good
Only One think that would be awesome try to implement the double tap to wake
Awesome! More custom kernels are always welcome are there many governors to choose from?
krohme said:
Awesome! More custom kernels are always welcome are there many governors to choose from?
Click to expand...
Click to collapse
Right now only the stock governors are available but I plan on adding a few
Can't we install it through twrp???
guraki said:
Can't we install it through twrp???
Click to expand...
Click to collapse
Yes, TWRP supports boot image flashing
I lost root after the kernel install....
---------- Post added at 03:22 PM ---------- Previous post was at 02:39 PM ----------
Seems to work fine!!! Any battery life expectations?
guraki said:
I lost root after the kernel install....
---------- Post added at 03:22 PM ---------- Previous post was at 02:39 PM ----------
Seems to work fine!!! Any battery life expectations?
Click to expand...
Click to collapse
As I said on the OP my main goal is performance/smoothness, so I haven't specifically sought better battery life. That being said I'm getting about the same battery life as stock with better performance, that works for me.
Nevertheless, I'm very interested on how it works for other configurations and usage patterns.
@dirtyhank could you please add hotplugging to the kernel? Preferably one that allows you to select how many cores to run as well as which ones, as in run the two A57s and turn off the four A53s. Currently I'm running two A53s at 1.2Ghz and the remaining four cores are always off.
The screenshot is from Lolipop, and it is the only reason why I havent upgraded to MM. Turning off cores definitely makes a difference on battery life.
Also, if possible, adding a lower speed to the min speed. Will gladly test anything you thow my way. Thanks in advance.
Is there any chance for a CM13 version and a DT2W fork from elementalx?
sir-harlekin said:
Is there any chance for a CM13 version and a DT2W fork from elementalx?
Click to expand...
Click to collapse
DT2W maybe, CM13 unlikely.
very nice thank you! slowly slowly we getting more and more things. Just making sure this is only for stock based rom/s Thanks!!
cerobles1 said:
@dirtyhank could you please add hotplugging to the kernel? Preferably one that allows you to select how many cores to run as well as which ones, as in run the two A57s and turn off the four A53s. Currently I'm running two A53s at 1.2Ghz and the remaining four cores are always off.
The screenshot is from Lolipop, and it is the only reason why I havent upgraded to MM. Turning off cores definitely makes a difference on battery life.
Also, if possible, adding a lower speed to the min speed. Will gladly test anything you thow my way. Thanks in advance.
Click to expand...
Click to collapse
What kernel are you using on LP?
patt2k said:
very nice thank you! slowly slowly we getting more and more things. Just making sure this is only for stock based rom/s Thanks!!
Click to expand...
Click to collapse
Yep, stock ROM, I'll edit the OP
dirtyhank said:
Yep, stock ROM, I'll edit the OP
Click to expand...
Click to collapse
Awesome gonna flash this soon
I hope a port for CM based roms might be possible in the future! Thanks for sharing your work and replying so quickly!
dirtyhank said:
Yep, stock ROM, I'll edit the OP
Click to expand...
Click to collapse
Getting bootloop on TruePure rom 2.4. Anything I can try to avoid bootloops?

Categories

Resources