Related
{
"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"
}
Click to expand...
Click to collapse
"This is your last chance.
After this, there is no turning back.
You take the blue pill -
the story ends, you wake up in your bed and
believe whatever you want to believe.
You take the red pill
- you stay in Wonderland and
I show you how deep the rabbit-hole goes."
- Morpheus, The Matrix
(Copyright belongs to the Wachowski Brothers... Larry and Andy)
Click to expand...
Click to collapse
Kernel Source: RedPill Source Based on N7100 Source Drop (until Rev1.00). Rev1.01 and beyond are currently based on N8000 sources. This Kernel is for the N7100 International Version Only!!!
MatrixPills Image by Corinne Wilger. Visit her site HERE.
What Some HyperDroid RedPill Users Have Said:
"so far this the only kernel which gives me the least wakelocks.. or hardly any.... good job..
i dont care about benchmarks which ppl are whining about.. i would say this kernel rockz" - xinfinityoO
Click to expand...
Click to collapse
"Batterywise the best kernel on my device - had not encountered just 2% loss in 7 hours at night for a very long time"- zikarus
Click to expand...
Click to collapse
"first impressions... blazing fast...smooth... hopefully no issues
(well never had one with previous releases anyways)...cheers pongster!"- jermitano
Click to expand...
Click to collapse
"I am stunned. The battery life looks great. Very smooth and stable and great response. Great work guys."- mariosraptor
Click to expand...
Click to collapse
"Awesome work! That's the least I could say. Real development and all that done during free time.
I've made donations but that won't be enough to show my gratitude. I know you don't do that for money but
that's the only way I can think of tell you all how grateful I am."- mbutandola
Click to expand...
Click to collapse
Click to expand...
Click to collapse
RedPill Features
Highlights
Exynos-Abuse Secured (Thanks to AndreiLux for the original low level patch & Samsung for the Official Fix)
SDS patch included
Ramfs from Stock Kernel + Busybox and its various functions in /sbin
Versions up to Rev1.00 were Based on Samsung Galaxy Note 2 N7100 Source Drop Release 1; Rev1.01 and up are based on N8000 Sources
Included patches for performance, stability and battery life
Init.d support
SetCPU, ROM Toolbox and Voltage Control Support
CPU Overclocking and Undervolting Support (Thanks to AndreiLux)
GPU Overclocking and Undervolting Support (Thanks to AndreiLux)
Enable or Disable File Syncing
(fsync disabled by default as I've tweaked the system for optimum latency designed for Flash Storage)
CFS Autogroup by Mike Galbraith Enabled
CPU Topology and Sched_MC enabled
AFTR and LPA enabled
A lot of tunables via sysfs included (Use ROM Toolbox or similar Utility to easily change it)
Git Implementation of SHA-1 for 12% faster boot time
CPU set at 1.6Ghz at Boot for faster boot time (Thanks to Imoseyon)
LZO compressed kernel using optimized values for the size of the kernel for faster boot time (Using faster lzo code from mainline)
CIFS Support (cifs.ko located in /lib/modules) | Tweaked Ext4 Filesystem
(Patches + Mount Options + Tweaked IO Schedulers leaning towards latency for Flash Storage)
sio | zen | row | noop | deadline (tweaked for better latency and balanced throughput for Mobile NAND based devices)
Tweaked the mount options for Ext4 to adapt to the current focus on latency
pegasusq CPU Governor (Thanks to AndreiLux for the some of the new governor specific logic he added)
WiFi Multicast Blocked (Thanks to Entropy512)
Using Google Toolchain 4.7 + compiler optimizations specific for that version (Thanks Google & Linaro)
Power Saving Features:
AFTR + LPA enabled
sched_mc enabled (set at 2 by default)
ARM CPU Topology enabled
No HZ enabled
Boot Time Features:
Used git Implem of SHA-1 for 12% Boot time improvement
Added [PATCH] arm: remove "optimized" SHA1 routines by Linus Torvalds
Added [PATCH] arm: remove stale export of 'sha_transform' Linus Torvalds
Set Clockspeed at 1.6Ghz at Boot time to ensure all critical tasks have enough power to perform them while
the governors/maxfreq isn't set yet. (Thanks to Imoseyon for this hack)
CPU Features
Supports CPU Overclocking and Undervolting (Thanks to AndreiLux)
Supports GPU Overclocking or Undervolting (Thanks to AndreiLux)
pegasusq CPU Governor pegasusq set as default (obviously)
Filesystem Features (Currently Supported)
ExFat (Using Proprietary Samsung Modules) *Stock based RedPill only
Fat32
Ext2/3/4
CIFS (cifs.ko is in /lib/modules)
Ext2Int for N7100 (Thanks to mattiadj for idea and base script that I used to get it fully working on N7100 and RedPill) (ExFAT and FAT32 only) *Stock based RedPill only
I/O Schedulers
SIO (2012 0.2 version) (tweaked for Flash) Set as Default
deadline (tweaked for Flash)
zen (Thanks to bbedward)
noop
row (Thanks to Tanya Brokhman)
Tweaked values in deadline and SIO I/O scheduler to give better than average throughput while attemting to improve latency (if not more aggressive). Based on our initial (indicative, not conclusive... yet) testing, having these in line with the vm dirty, expire, writeback values + ext4 mount options to "schedule" write outs as fast as the system can handle it works quite well to balance throughput with latency expected in a mobile device. We took the big picture view and tested our tweaks instead of copy pasting random "known" good values and challenged some assumptions even we had at the start. The result is a mobile device tuned for average throughput and balanced battery life with good latency (not the lowest latency out there, but given the benefits of better I/O throughput and potential battery savings + extending the lifetime of NAND Based storage I think it was a compromise worth taking) I could have tweaked it for extremely great throughput and battery savings but that wouldn't be fun to use. I hate micro-lags myself.
Our Test Data regarding I/O schedulers and Kernel Tweaks can be found HERE.
The blog post that describes what we are trying to do can be found on my blog post HERE. (Thanks to s2d4)
Memory Features
Custom minfree values tweaked for 2GB RAM
Tweaked vm values in sysctl that's optimized for latency
Display Features
Stock mdnie values for more vivid details on the current generation of AMOLED Displays
Performance Patches Enabled
Mike Galbraith's Ultimate CFS Performance Patch (CFS Autogroup)
*More info on this here: https://lkml.org/lkml/2010/11/20/91
Added the CGroup Patch:*Added [PATCH] cgroup: Provides a way of tasks grouping by timer slack value
by Kirill A. Shutemov Based on patch by Jacob Pan. Introduces per cgroup timer slack value
which will override the default timer slack value once a task is attached to a cgroup. It's useful in mobile devices where
certain background apps are attached to a cgroup and minimum wakeups are desired.
Experimental Latency Related Patches
Disabled "fsync disabled" by default
(can be enabled by doing an echo "0" > /sys/class/misc/fsynccontrol/fsync_enabled
in a terminal emulator or as a script for gscript or scriptmanager) (Or use STweaks to toggle it) (Thanks to Ezekeel)
Using the tweaked Ext4 filesystem + scheduler and mount options leaning towards latency + vm values in the kernel
makes the most of the speed of Flash Storage based devices. At the speed at which the data is written to and from the kernel
to the Fast Storage devices, you would only lose up to 1 second worth of data at most IF the kernel crashes.
I don't plan on that happening so I enabled the system to get the maximum possible performance in this area.
Tweaked Ext4 Filesystem (Patches + Mount Options + Tweaked IO Schedulers leaning towards latency)
Tweaked the mount options for Ext4 to adapt to the current focus on latency
3rd Party Kernel Apps Support
STweaks by gokhanmoral
ROM Toolbox by jrummy
SetCPU by michaelhuang
System Tuner
Voltage Control | ExTweaks by xan
Credits and Disclaimer
Credits: (Huge props to all the devs I've learned from by reading and studying their code)
faux123
Ezekeel
franciscofranco
supercurio
hardcore
Netarchy
Hacre/Ninpo
Chainfire
Erasmux
Imoseyon
gokhanmoral
Tegrak
Entropy512
AndreiLux
cattleprod
dvtonder
All the hardworking Kernel Devs at lkml.org
(Linus Torvalds, Jens Axboe, Mike Galbraith, etc.)
Special Mention to the following:
To my mates at the HyperDroid Dev Team: (who help me test and refine the features of our kernel for our ROM)
D.O.C. (formerly doctorcete) (for the friendship and being an example of diplomacy in
dealing with usual ****storm of questions from users who refuse to search and read)
kristofpetho (for his excellent work on the HyperNote and his patience with dealing with bugs that destroy the user experience)
Arighi (for the initial guidance on how to get the kernel booting and working & a lot of battery driven patches)
AF974 (for the Overcome based Recovery on S2 that's so bad ass I want to stay in recovery all the time.)
petsasj (for his great work on HyperDroidParts for S2 and all future Apps that are just pure awesomesauce!)
sicopat (for letting us use his server and helping us out with a lot of things smali)
s2d4 | phly-phantom | amerikian (for testing everything at the risk of the potentially time sucking Soft Brick...)
Disclaimer: I made this for my personal use and has been personally tested by me and my team (HyperDroid Dev Team).
While it may work for other N7100 International ROM's, we have not tested it personally.
You have the liberty to choose to use this Kernel and by flashing this Kernel you will have
surrendered your right to complain that you lost your Warranty. If you're smart enough to figure
out WHY you need a Custom Kernel, you SHOULD be smart enough to undo it if you need your
device serviced officially. If your device explodes, melts or otherwise disintegrates from its awesomeness
I shall NOT be held responsible.
Reposting the Kernel: Please don't repost this kernel anywhere else.
Keep the download links intact as I have taken the effort to provide fast links for everyone.
If you can't understand English well enough and feel the need to re-post this kernel on
a foreign language web site or forum, please let me know first and link to this page...
(Google Translate can make it easier to read in your Native Language)
RedPill Stable Change Log
Current and Future Changelogs can be found HERE.
Rev1.01
Completely Rebased on N8000 Source
Use newest and official Exynos-Abuse patch from Samsung (Thanks to AndreiLux for the additional patches re: static cma regions)
Fix Freezes for some Devices when transferring large files via USB
Fix SOD for some Devices
Change CPU Idle Settings back to stock
Remove Dynamic FSync (Ability to enable or disable FSync is still available)
Removed ROW I/O as sio/deadline/zen perform better in our tests
USB Charging Rate increased to 1700
Tweaked pegasusq for battery life (limit sampling rate in suspend)
Removed Conservative (as new tweaked pegasusq can save battery with the right settings)
Added Dynamic STweaks XML Implementation by AndreiLux (Thanks to AndreiLux)
Updated STweaks (Thanks to Gokhan Moral)
use get_random_int() to fix entropy depleting (Thanks to Jeff Liu)
Updated sensorhub driver, device sensors
SDS patch included (Thanks to AndreiLux)
Rev1.00
Exynos-Abuse Secured thru the low-level fix by AndreiLux (Thanks to AndreiLux)
Using Official Google Toolchain 4.6.x
Added the latest (v5.4) of the "faster crc32 algorithm" by Bob Pearson and Darrick Wong (Thanks to both of them)
Added faux123 Dynamic fsync (Thanks to faux123)
Enable Dynamic FSync and FSync Control to co-exist (Please read STweaks option to gain a better understanding)
Backported ROW I/O scheduling algorithm (Thanks to Tatyana Brokhman)
Revert to using original N7100 source bcmdhd drivers to fix WiFi for some users
Added ability to increase brightness to 255 (Thanks to nebkat)
Tick and workqueue updates from upstream kernel source (Please see commit log for details)
Remove ntfs auto mounting since people use ExFAT and FAT32 while NTFS can be loaded by 3rd party tools
Tweaked Ext2Int mount options
Tweaked System mount options
Rev0.10
Revert ExtSdCard mount points to default (To enable Ext2Int Tweak by mattiadj to work)
Added bbedward's zen i/o scheduler (Included in Stweaks options as well)
Added Option to OC to 1.8GHz after several weeks of testing for stability (Thanks to AndreiLux)
Added AndreiLux's STweaks Dynamic Config for CPU_UV, min/max freq and i/o scheduler (Thanks to AndreiLux)
Added updated pegasusq logic from newer Samsung sources (Thanks to AndreiLux for Original Port)
Added option in STweaks to swap internal and external sdcard (Thanks to mattiadj for original idea and script, which I then took and edited to ensure Full compatibility with N7100)
Added Proportional Rate Reduction for TCP (Thanks to faux123)
Tweaked deadline i/o scheduler
Rev0.9
Added Scoobydoo Sound (gokhanmoral's port of supercurio's Voodoo) (Thanks to gokhanmoral)
Added Scoobydoo specific Stweaks presets (Thanks to gokhanmoral)
Added sjkoon's Scoobydoo Sound fixes (Thanks to sjkoon)
Added android logging as a module (Use STweaks to toggle)
Rev0.8
Added STweaks support (Thanks to gokhanmoral)
Custom STweaks Entries specific to RedPill Features
Using Latest 201211 Linaro 4.7.3 Toolchain
Added NTFS Automounting support (for sdcard formatted as NTFS only, not OTG) Please Test if this works as I use FAT32
Added led blinking or fading choice from CM10 (Thanks to codeworkx and XpLoDWilD)
Rev0.7
Added UV Capability (arm voltages only) Implementation by AndreiLux (Thanks to AndreiLux)
Increase USB Charging rate by AndreiLux
Increased it even more to match AC charging rates (Experimental)
lowmemorykiller patches by Cyanogen Steve Kondik
Experimental optimizations to try and fix ZK camFW bug
Loads of Samsung OSRC updates c/o AndreiLux (Thanks to AndreiLux)
Wacom, Firmware, epen, sensorhub, camera firmware among others c/o AndreiLux (Thanks to AndreiLux)
Bug Fixes by AndreiLux on sound related source files
Rev0.6
Wakelock patch to save power (Thanks to Andrea Arcangeli)
Apply SCHED_FIFO to kthreadd (Thanks to Steve Muckle )
Testing latest Linaro 4.7 Toolchain
Camera Fix for ZKFI07 camFW (Thanks to nebkat)
Experimental Hotplug Awareness based on Load for Other Governors (Thanks to franciscofranco)
Updated lzop compression from current upstream version for a significant speed improvement (Thanks to Markus F.X.J. Oberhumer )
ARM: disable preemption in machine_shutdown (Thanks to Mike J. Chen)
Check source on github for detailed commit logs and messages
Rev0.5
Applied Vermagic patch to enable proper loading of proprietary modules (Thanks to jt1134)
Improved Latency of schedulers
Removed cfq and enabled sio as default io scheduler
Tweaked Pegasusq for smoother performance (Can be changed using SetCPU)
Ext4 patches from mainline for optimization and stability
Workqueue patches from mainline
Timer patch from mainline
Sched Race in Task Group Patch from mainline
Busfreq back to default voltages (for public release)
Fixed ExFat Loading Error (SLUB instead of SLQB)
LZO compressed kernel for more more speed
No Screen Sharpening (Only AndreiLux's Black crush fix which is in fact for the S3. Thanks for the Heads up AndreiLux)
Removed Auto EFS Backup to speedup boot process (You have an EFS Backup already, right?)
Rev0.4
Blocked multicast (Thanks to Entropy512)
Tweaked Pegasusq to start early in the boot process
CIFS built-in (no modules)
Tunneling built-in
Testing Out ezterry's 4.6.3 Toolchain
Fsync control by Ezekeel
Increased mmc timeout (Thanks to AndreiLux)
Added a few compiler optmizations for 4.6.3 Toolchain
Rev0.3
Sharpness Tweak by Hardcore (Thanks to hardcore)
Black Crush Fix by AndreiLux (Thanks to AndreiLux)
XZ Tweaked for faster boot and more efficient RAM
Enable 1.6Ghz at Boot time to speed it up just a bit more (Thanks to Imoseyon)
Various ARM topology patches
Enabled Timer Slack Controller
Rev0.2
Adjust tweaks in ramdisk
Tweaked CFQ
SMP fixes by Russel King
XZ compressed kernel (fast and small)
ARM topology
Sched_mc set at 2
Disabled Mali State Tracking
CIFS as a module
Rev0.1
Used N7100 source drop
Tweaked deadline and sio for throughput and better battery life
Tweaked conservative and pegasusq for slightly more aggressive performance
No UV
No OC
Using new SHA-1
Enabled Cleancache
Enabled Mike Galbraith's Sched Autogroup
Applied AndreiLux's sensor hub fix (Thanks to AndreiLux)
Using SLQB
CFQ by default
Using RWSEM Algorithm by Code Aurora
Tweaked kernel values using the redpill.sh in the ramdisk
Enabled init.d
Auto Backup of EFS
Using Toolchain 4.4.3
--------------------------------------------------------------------------------------
Naming convention:
x.y.z
"x and y" means they are stable releases tested by peers worldwide and have proven to be good enough to be a daily driver.
"z" is added to connote its an unstable release that is currenty being tested for new features introduced. Not for the faint hearted.
e.g. 0.2 is a stable release; 0.2.1 is an unstable test release
features in 0.2.1 that make the cut will make it 0.3 or the next stable release and so on...
RedPill Ultimate & AOSP Changelog
**AOSP (Will work with CM10 Based ROM's only)
Current and Future Changelogs can be found HERE.
Rev0.5
RedPill Stable PLUS:
AOSP specific Ramfs Tweaks
r3p0 mali
SLQB
jRCU instead of Tree Preempt RCU (Better for low latency and designed with small SMP systems like mobile devices in mind) (Thanks to Joe Korty)
mdnie, haptic, leds and touch leds patches by codeworkx and XpLoDWilD (Thanks to codeworkx and XpLoDWilD)
Added UV Capability (arm voltages only) Implementation by AndreiLux (Thanks to AndreiLux)
Increase USB Charging rate by AndreiLux (Thanks to AndreiLux)
Check source on github for detailed commit logs and messages
Rev0.6
Added gokhanmoral's additional bcmdhd-cm for CM10 (Thanks to gokhanmoral)
Experimental optimizations to try and fix ZK camFW bug
Rev0.7
Loads of Samsung OSRC updates c/o AndreiLux (Thanks to AndreiLux)
Wacom, Firmware, epen, sensorhub, camera firmware among others c/o AndreiLux (Thanks to AndreiLux)
Bug Fixes by AndreiLux on sound related source files (Thanks to AndreiLux)
Rev0.8
Added STweaks support (Thanks to gokhanmoral)
Custom STweaks Entries specific to RedPill Features
Using Latest 201211 Linaro 4.7.3 Toolchain
Added NTFS Automounting support for sdcard (Please test this as I use ExFAT)
Rev0.9
Added Scoobydoo Sound (gokhanmoral's port of supercurio's Voodoo)
Added Scoobydoo specific Stweaks presets (Thanks to gokhanmoral)
Added sjkoon's Scoobydoo Sound fixes
Remove Debugging but keep kallsyms for Scoobydoo
Rev0.10
Added bbedward's zen i/o scheduler (Included in Stweaks options as well)
Added Option to OC to 1.8GHz after several weeks of testing for stability (Thanks to AndreiLux)
Added AndreiLux's STweaks Dynamic Config for CPU_UV, min/max freq and i/o scheduler (Thanks to AndreiLux)
Added updated pegasusq logic from newer Samsung sources (Thanks to AndreiLux for Original Port)
Added option in STweaks to swap internal and external sdcard (Thanks to mattiadj for original idea and script, which I then took and edited to ensure Full compatibility with N7100)
Added Proportional Rate Reduction for TCP (Thanks to faux123)
Tweaked deadline i/o scheduler
Updated ramfs to 4.2.1
Rev0.11
Exynos-Abuse Secured thru low-level fix by AndreiLux (Thanks to AndreiLux)
Using Official Google Toolchain 4.6.x
Added Dynamic Writeback from 3.1 (Thanks to franciscofranco for the port)
Added the latest (v5.4) of the "faster crc32 algorithm" by Bob Pearson and Darrick Wong (Thanks to both of them)
Enable Dynamic FSync and FSync Control to co-exist
Backported ROW I/O scheduling algorithm (Thanks to Tatyana Brokhman)
Added ability to increase brightness to 255 (Thanks to nebkat)
Tick and workqueue updates from upstream kernel source (Please see commit log for details)
Remove ntfs auto mounting since people use ExFAT and FAT32 while NTFS can be loaded by 3rd party tools
Tweaked System mount options
Disable Ext2Int while I find a way to get around the new emulated mounts for multiuser support 4.2.1 brings (You can still use directory bind for some games and apps with large data requirements)
--------------------------------------------------------------------------------------
ULTIMATE VERSION HAS BEEN DISCONTINUED & DEPRECATED SINCE MOST FEATURES ARE FOUND ON STABLE
**Ultimate (Will not work with ExFat since I used SLQB)
Rev0.7
RedPill Stable PLUS: (New Features In Development will be on this Release)
SLQB
Busfreq Undervolting (less 100 mV)
LCD Undervolting
Touch LED Undervolting
jRCU instead of Tree Preempt RCU (Better for low latency and designed with small SMP systems like mobile devices in mind)
Added UV Capability (arm voltages only) Implementation by AndreiLux | gokhanmoral
lowmemorykiller patches by Cyanogen Steve Kondik
Check source on github for detailed commit logs and messages
Rev0.8
Experimental optimizations to try and fix ZK camFW bug
Loads of Samsung OSRC updates c/o AndreiLux (Thanks to AndreiLux)
Wacom, Firmware, epen, sensorhub, camera firmware among others c/o AndreiLux (Thanks to AndreiLux)
Bug Fixes by AndreiLux on sound related source files (Thanks to AndreiLux)
Remove all Debugging
Added STweaks support (Thanks to gokhanmoral)
Rev0.9
Using 201211 Linaro 4.7.3 Toolchain
Added led blinking or fading choice from CM10 (Thanks to codeworkx and XpLoDWilD)
Added NTFS Automounting support
Custom STweaks Entries specific to RedPill Features
Rev0.10
Added Scoobydoo Sound (gokhanmoral's port of supercurio's Voodoo) (Thanks to gokhanmoral)
Added Scoobydoo specific Stweaks presets (Thanks to gokhanmoral)
Added sjkoon's Scoobydoo Sound fixes (Thanks to sjkoon)
Added back android logging (Use STweaks to toggle)
ULTIMATE VERSION HAS BEEN DISCONTINUED & DEPRECATED SINCE MOST FEATURES ARE FOUND ON STABLE
--------------------------------------------------------------------------------------
FAAAQ's
Kernel Frequently Asked & Answered Questions (FAAAQ)
What exactly IS the RedPill?
The RedPill is a custom kernel for the Galaxy Note 2 (N7100) International version. It's aptly named to provide users a choice. This is how I would have built Samsung's stock kernel. So, I used the Samsung Source from their site as a base and added relevant patches that are built on the shoulders of giants... such as arighi, gokhanmoral, Entropy512, AndreiLux, codeworx, netarchy, hacre, franciscofranco, Ezekeel, imoseyon, Erasmux, cattleprod, hardcore, faux123, etc. and all the kernel hackers of the world that work on making this usable for all of us... I claim nothing to be original or created by myself... I simply put together features others have created that I personally would like to see and use in my own device and share it with the world because I can AND choose to do so... While I do bugfix the occasional compile error and test for near perfection, it's nothing compared to those who write most of the code for the Linux kernel. Major props to all of them!
Where is the source for building this Kernel?
You can find the source HERE. I love GPL and We should all support Open Source Software and its Developers. Please Note that Open Source doesn't mean all of this magically wrote and patched itself... it takes a lot of FREE time to do this and would appreciate if you let us know how you've improved the code.If you know what you're doing, you can easily build your own kernel too. *Please let me know if you have any improvements you feel should be included and send me a pull request. *If it tests okay, it may be included in the next release.
FYI, I'm not particularly fond of devs who release their source as tarballs. (I'm looking at 'ya Samsung!) I'm pretty sure you use a tool like git internally to manage all the changes and revisions. Why do you have to make it so hard for those that want to play with the source by releasing it in a tarball instead of publishing it on github or bitbucket? If you're a kernel dev that does this I consider you "open-forced" NOT "open source". If you don't want to use git and can't be bothered with it why not make a patch and upload that instead?
Does the RedPill support ROMs for N7105 and other N7100 variants?
As of the current Revision Released, I will not be working to making it work on a device I don't currently own. I only build kernels I can actually test myself. While "building blind" might work, I prefer to break my own device before someone else's as they probably paid good money and worked hard/smart to be able to afford the device. FYI, I'm also not in favor of devs who build blindly then ask for donations so they can support the device. I want to own my device, not let it be owned by those who donated their hard earned money to get you the device. I've seen too many "devs" build blindly then ask for a donation so they can support the device, only to find a newer, better and faster device comes out and then chooses to buy that instead of the device he built blindly for and actually got donations to buy it. Talk about Bait and Switch!
Why doesn’t the RedPill have high benchmarks?*
That’s done on purpose to keep YOU away. Seriously. The way the VM system is tweaked (dirty ratio’s, minfree values, etc.) + the focus on better latency in any type of load + a lot of other small tweaks all lead to good performance and battery drain in actual use (I like using my device and not keep it sleeping to bloat my battery stats, thank you). This may not give you the benchmark scores you want to be able to show off… which is good since it means YOU stay away from this kernel and continue to rely on benchmarks rather than actual usage.
Why should I even ROOT my device? Is a custom kernel more secure?
With the Exynos-Abuse Exploit out for ANYONE to use, you're probably better off rooting and installing a custom kernel that includes the fix of AndreiLux. (RedPill and Perseus as of this writing) Now I know it will void the warranty, as you all are aware of, but if the only way to secure your device and your personal data (You don't want anyone to see your google search terms and results as well as those "private" moments that you may have kept for yourself just like any normal person) is to root and install a secured kernel, what choice is Samsung giving you?
Can you imagine what a nefarious and talented malware developer could do with this? They could break your system and have a pop-up that says "Pay up to free your system from being one of my mobile drones"... OR "Donate to get the full features of your device" (This one actually happens a lot on XDA... some talented dev gives you partial features to lure you in... then WHAM, BAM, THANK YOU MA'AM... If you want the full features, please donate yada yada yada...) I digress, as always.
Now, would you rather wait till Samsung officially patches this exploit and run the risk of exposing yourself to the risks this exploit opens you up to? Don't assume malware devs aren't rushing their current code to try and pry their way into your system using this exploit. For all we know, they're busy trying to cover up a similar exploit and currently awaiting Play Store approval. Yes, even the Play Store Apps can compromise your system. Even if Samsung does act fast, (not as fast as AndreiLux since he fixed it in a jiffy) how sure are you that your system hasn't been compromised? You wouldn't even know it.
The best reason to root RIGHT NOW is to completely secure your system, now more than ever. If you need to claim a warranty, you can tell them:
a. I had no choice, you messed up, xda-devs cleaned it up.
b. Flash back stock kernel and remove any trace of root and your use of a custom binary.
c. Completely brick your phone and tell Samsung that the exynos-mem exploit was actually used by malware that zapped your system dead.
I'm not a fan of any of these choices since I believe warranties should be honored by the manufacturer, especially if the bug they created was the reason for the claim for warranty in the first place.
How do I know I'm secured from the Exynos-Abuse Exploit?
Don't rely on apps that tell you whether you're vulnerable or not as the low level kernel fix AndreiLux implemented doesn't need to change the permissions of the /dev/exynos-mem.
Try running Chainfires Exploit APK and try getting the exploit to say anything else but "FAILED"... or head over to the thread HERE and download the exynos-abuse binary and run it from a terminal.
$./exynos-abuse
Click to expand...
Click to collapse
If your shell changes from $ to # then the exploit was successful, if not then you're safe.
Can the RedPill be OC'd and UV'd?
It can be UV'd and OC'd.By default, I've decided to keep all voltages and clock speeds stock as experience has taught me that NOT ALL DEVICES ARE CREATED EQUAL. You can UV the CPU arm voltages and OC using 3rd party Apps that do that. (SetCPU, VoltageControl)
Can the RedPill GPU be OC'd and UV'd?
Yes. Thanks to AndreiLux. You'll need to use STweaks to fully configure this. YMMV as always.
Why a tweaked deadline and SIO I/O scheduler?
The deadline I/O scheduler by Jens Axboe has proven itself as a low overhead, high throughput and acceptable latency I/O scheduler. *When tweaked for NAND based Mobile devices, it does even better. *While it "starves" writes by default with a 2:1 Read:Write ratio, this can easily be tuned via sysfs.
Why is my favorite governor (whichever it is) not available?
Simplicity is the Ultimate Sophistication, as Leonardo Da Vinci eloquently said. *Based on extensive testing and user feedback, we gathered that these 2 governors included gave the best performance and battery life on our device. Simple choice to have only the best ones available based on actual testing and feedback. *I included only these governors so you all have a simple choice to make in finding your favorite one. *These are all tunable via sysfs so you can skew it towards battery or performance based on what is important for you. *Don't expect uber smoothness and 16 hours screen-on time though... *there will be compromises when leaning towards any of the two factors most users consider important in a kernel.
Why LZO Compression for the Kernel?
It decompresses much faster than any other, bar none. Since the kernel size and compression speed is not an issue when using LZO in the kernel. (You only decompress the zImage when booting. Compression is done when building the kernel) Don't believe me, believe the data right HERE.
Why ARM Topology and sched_mc?*(From linaro.org)
"The sched_mc function adds a power saving awareness to the Linux scheduler which is tuned for performance by default. When sched_mc is enabled, the scheduler tries to gather the running processes in a minimal number of cpus and clusters. This choice of the location of a process is done thanks to the cpu topology function which describes the affinity between cpus."
(more info HERE)
Why is my AndroidOS usage so high?
This is most likely a reporting error from Android itself. Use Better Battery Stats to closely watch what really eats your battery. That has shown to be more reliable. (If I were Android, I'd fold buy out BBS and fold its code in by default) If you still have doubts, do a real world battery test, as some have done, and they saw that their battery consumption actually remained the same or in some cases even improved. YMMV, of course. Let's not fall for "placebos" here and say that "hmmmm.... since AndroidOS must be high than my battery doesn't last as long!"
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Ultimate Version FAAAQ DEPRECATED SINCE MOST FEATURES ARE FOUND ON STABLE
Why SLQB? (According to its author, Nick Piggin)* (Only for the Ultimate Revision)
”SLQB is a slab allocator that focuses on per-CPU scaling, and good performance with order-0 allocations. Fastpaths emphasis is placed on local allocaiton and freeing, but with a secondary goal of good remote freeing (freeing on another CPU from that which allocated).” Using this on the Stable version breaks ExFat from working properly. Thus, the Ultimate version is for those who don't need ExFat support.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
HyperDroidDevs FAAAQ
Where do I report Issues or Get Community Support?
Use this thread to report issues, preferably with a last_kmsg, dmesg in a text file or a logcat. How do you do those? I'll let you use XDA's brilliant search function. And no, it's not broken, the search function that is. (I've heard that so many times... "Search isn't working so I posted a question here instead...")
Where are the HyperDroidDevs and their Team from?
We are an international team of crazy people who all have real life day jobs that are mostly not related in any way to Android Development. We're crazy enough to spend sleepless nights trying to make our devices (which we all personally own and have NOT been donated) better than how we received it. We come from all over. I am from the Philippines, where it's always FUN to be! We have Devs and Team members from Spain, Greece, France, Finland, Germany, Italy, Netherlands, Canada, USA, India, Poland, Philippines and even more countries.
How do I show my appreciation? Can I donate to you?
You can show your appreciation concretely in several ways:
Pressing the "Thanks" Button on XDA
Follow me on Twitter @sarcastillo and "Like" our Facebook Page
Report issues politely and completely
Donating any amount is completely up to you. *I look at donations as a "tip" for a job well done, rather than a "wage" or a "bounty" to get things done. *And Tipping is always up to you... the tipper. *I won't stop development if you don't donate, that's for sure, as I do this mainly for myself and my HyperDroid mates to begin with. I make more money running my own business than this hobby so “tips” are not a necessity… it just tells me how many people actually find the work useful enough to say thank you via a financial gesture.
This Kernel will ALWAYS be FREE to Download and USE, even if the time spent making it IS NOT FREE. *That's Open Source. (The time people spend on open source projects could have been used to spend more time with their families, for example. But the Devs commitment to get something done right is almost always tugging at him to Dev just a little bit more) *
*I've personally donated to Devs who've done things I would never have been able to figure out at the time they did figure stuff out. *Learning anything new takes time and time, in my book, is more important than money as I can't turn back time, while I can always earn money. SO I donate to Devs who spend their free time making Stuff better and easier for those of us who haven't figured out how to get it done.
Download Links
Download Links: (CWM/TWRP Version Only)
I've put the links down here to ensure you at least TRY to read the IMPORTANT info posted above.
Don't forget to enjoy the RedPill; it's Awesomeness Delivered!
RedPill
RedPill Stable Revision 1.42:
Click to download RedPill Rev1.42 (For Samsung Based ROM's for N7100) (DEPRECATED | NOT SUPPORTED)
RedPill Stable Revision 1.47:
Click to download RedPill Rev1.47 (For Samsung Based ROM's for N7100)
RedPill AOSP
RedPill AOSP Revision 1.47:
Click to download RedPill AOSP Rev1.47 (FOR CM10.1 and 4.2.2 based AOSP ROM's for N7100) (DEPRECATED | NOT SUPPORTED)
RedPill AOSP Revision 1.52:
Click to download RedPill AOSP Rev1.52 (FOR CM10.1 and 4.2.2 based AOSP ROM's for N7100)
One more for good measure
Really. One more.
Last one for me.
pongster said:
One more for testing
Click to expand...
Click to collapse
Mine again.
you had said that you would delete it in 5 minutes ,but what time is now?
Although my English is not good, I like xda forums very much, like the each friend! I hope you can point out my grammar mistakes to improve my English, thank you very much!
Thanks!!!
C-C-C-C-C-Combo breaker!
Edit: fail. Thanks guy above me -_- lol
Sent from my Galaxy Note II using Tapatalk 2
Y test thread??
Nice to see u here..looking 4ward to great themes now..
5 minutes over
Sent from my GT-N7100 using Tapatalk 2
Me
Sent from my GT-N7100 using xda premium
Woooooohhhhhooooo
Finally d kernel I was waiting for..
(Also waiting for siyah 2 b true)
Thank you so much pongster..
Used 2 loooove ur work on s2 and now on sn2..
Thank you very much..
Sent from my GT-N7100 using Tapatalk 2
Can use the kernel on hyper Rom? Thx
Sent from my GT-N7100 using xda premium
Obviously, this isn't really a test thread. I simply named it as such for the first 5 minutes so I could reserve the necessary posts I need to establish the HyperDroid RedPill Kernel thread.
DamBadz said:
Can use the kernel on hyper Rom? Thx
Sent from my GT-N7100 using xda premium
Click to expand...
Click to collapse
On HyperNote and other Samsung Based ROM's for the N7100
hiack said:
you had said that you would delete it in 5 minutes ,but what time is now?
Although my English is not good, I like xda forums very much, like the each friend! I hope you can point out my grammar mistakes to improve my English, thank you very much!
Thanks!!!
Click to expand...
Click to collapse
Please see my response in Post#18
I would never open Off-Topic threads anywhere. On any forum.
Hey guys,
This is the Lollipop version of the Matr1x kernel and it works on 5.0/5.0.1.
Features:
Code:
- Based on Linux kernel version 3.4.0
- Built with GCC 4.8 from Google
- Voltage Control Interface (by faux123)
- Gamma Control Interface (by faux123) with PA tweaked colors and bundi22 iPhone 5 color preset
- FauxSound (by faux123)
- Speaker amp control (by faux123)
- Simple GPU governor (by faux123)
- Dynamic fsync Control (by faux123)
- Accuracy Filter Control (by stratosk)
- GPU OC to 487.5 Mhz
- UV by 75mV for all frequencies and cores
- SIO, ROW, and FIOPS I/O Schedulers
- Wheatley governor (by Ezekeel)
- Thermald and mpdecision removed
- 192 Mhz frequency for better battery when idle
- Fast Charge (thanks to franciscofranco)
- BLX (Originally by Ezekeel and ported to Nexus 4 by me)
- Double tap to wake and touch wake support (by stratosk)
- ARM hotplug driver (by _thalamus) with min_online_cpus value (by me) and max_online_cpus value (thanks to _motley)
- MultiROM support (by Tasssadar)
- USB OTG "usb-host" mode support (by ziddey)
- MSM Sleeper Mod (Max screen off frequency) (by flar2)
- Various performance tweaks
Changelog:
v1.0 Initial release: stock 3.4.0 kernel with added deadline I/O scheduler tweak.
v1.5 Added overclocking capabilities to 1.728 Ghz.
v2.0 Removed OC capabilities, added GPU OC to 450 Mhz, 100mV UV across the board, ARM CPU Topology (which improves the efficiency of multi core devices), and various performance tweaks.
v2.5 Added SIO I/O Scheduler, touch screen improvement tweaks (see http://forum.xda-developers.com/showthread.php?t=2027476 and extra tweak by faux123), UV'ed all cores and frequencies by an extra 50mV for a -150mV overall, and switched to the AnyKernel template. (thanks _motley!)
v3.0 Reverted the extra 50mV of UV that caused instability and added faux123's voltage control interface for manual voltage adjustments.
v3.5 Added the reduced msm_hsic_host wakelock tweak, ROW I/O Scheduler, removed thermald to allow kernel to manage the heat using its own drivers, some ondemand governor tweaks, tweaked ARM CPU topology, and lowered the minimum voltage for voltage control interface (test your phone's limits).
v4.0 Reduced the minimum voltage for voltage control interface even more (test your phone's limits), added the CPU Voltage table for "faster" binned chips (still -100mV UV), added Fast Charge, added a 288 Mhz CPU step for better battery when idle, and added the BLX mod (see here: http://forum.xda-developers.com/showthread.php?t=1257497).
v4.5 Added the proper reduced msm_hsic_host wakelock tweak, fixed the "faster" CPU table (users who have "faster" chips should have no trouble now), added showp1984's Sweep2Wake, and partially reverted a display tweak from Google (this should provide a bit better display color than stock).
v5.0 Added Sweep2Wake gestures by faux123 with the touch events patch (no more frozen touch screens), switched to the GCC 4.7 compiler from Google, removed mpdecision and added _thalamus hotplug driver, and added the min_online_cpus module capability for the hotplug driver.
v5.5 Removed the 450 Mhz GPU OC and bumped it up to 487.5 Mhz, added thermal tweaks (to manage phone temperature) by franciscofranco, updated the interactive governor and ROW I/O scheduler to the latest version, and tweaked the auto hotplug driver for better battery life.
v6.0 Fixed the msm_hsic_host wakelock once and for all (You may still see it but it shouldn't be running that much), added PGM support (thanks to bponury), and added faux123's gamma control interface.
v6.5 Tweaked auto_hotplug to try to further improve battery life, removed Sweep2Wake (attempt to solve any touchscreen freezing issues), updated ROW I/O Scheduler, removed some CPU frequency steps (only kept the useful steps), added the FIOPS I/O Scheduler, and added the PA tweaked display colors.
v7.0 Merged the Android 4.2.2 kernel code, added the final PA colors from molesarecoming, added _motley's generic color control interface to allow easier scripting, and _motley's tweak to allow color changes to be "refreshed" automatically.
v7.5 Fixed the PGM touch control issue, added faux123's speaker amp control mod, added franciscofranco's accuracy filter control mod, updated the ROW I/O scheduler to the latest version, and added several ondemand governor update patches.
v8.0 Added fix for sporadic WiFi drops, added faux123's FauxSound mod, removed sweep2wake completely (attempt to fix power button issue), and added data drop fix (by faux123).
v8.5 Added the max_online_cpus mod by _motley (You can make your device single core, dual core, etc.), added a 192 Mhz CPU step (This should help with battery), and added the Wheatley governor by Ezekeel (#23 on http://www.alliance-rom.com/community/wiki/governors-explained/).
v9.0 Added USB OTG by ziddey, updated the FauxSound to v2.1, added the idle drain patches, updated the ROW I/O Scheduler to the latest version, added Touch Wake by stratosk, and got rid of the touch_boost errors in the logcat.
v9.5 Removed Touch Wake by stratosk and brought back Touch Control by bponury, removed USB OTG, and added MIUI support.
v10.0 Fixed the screen on lag, added some performance patches, added faux123's Simple GPU governor, and fixed the bluetooth issues some users were having.
v10.5 Added support for Android 4.3 (JSS15J).
v11.0 Switched to the Anykernel zip template, updated Fauxsound to the latest driver, added faux123's dynamic sync control mod, and added support for bponury's touch control.
v11.5 Added support for Android 4.4.
v12.0 Merged mako 4.4.1 kernel source, added s2w fixes from showp1984, and added the FIOPS I/O scheduler.
v12.5 Added Tasssadar's kexec patch (for multirom), added ziddey's USB OTG (http://m.androidcentral.com/android-advanced-usb-otg-nexus-4), put in bundi22's iPhone 5 color preset by default, and updated Fauxsound to the latest driver.
v13.0 Fixed the bundi22 iPhone 5 colors to match the real preset, added flar2's MSM sleeper mod (max screen off frequency), updated the Interactive governor to the latest version, and updated the ROW I/O scheduler to the latest version.
v13.5 Reverted the Interactive governor updates due to issues (back to v12.5 Interactive governor), added mrg666's Linux 3.6.11 workqueue backport patches in order to improve hotplug efficiency, and added CyanogenMod based ROM support (CAF).
v14.0 Added support for Android 4.4.3, raised voltages across the board by 25mV (this will help those with slower CPU bins), and added stratosk's double tap to wake and touch wake mods.
v14.5 Added support for Android Lollipop and updated the FauxSound driver.
Link to Lollipop version:
http://matr1xkernels.com/
Link to source: https://github.com/mathkid95/linux_lg_lollipop
What's up guys... this is the first release of the Matr1x kernel for N4. I am starting off real simple (I set deadline as the default I/O scheduler and tweaked some values)
There is much more to come!
Also, I will start posting the kernels at www.matr1xkernels.com soon... for now please use the mediafire link. You can flash this in recovery.
Spammer.
Where's the punchline good jerb math kid
brainmaster said:
Spammer.
Click to expand...
Click to collapse
Just so everyone else doesn't have to view op's profile, this is not a spammer and he's pretty well established on xda. Wasted a few seconds of my life trying to verify that...
Wow great to see you here man!
Sent from my Nexus 4 using Tapatalk 2
mathkid95 said:
Hey guys,
This is the JB version of the Matr1x kernel and it works on 4.2.
Features:
Code:
- Based on Linux kernel version 3.4.0
Changelog:
v1.0 Initial release
Links to JB version:
http://goo.gl/zVlm4
Link to source: https://github.com/mathkid95/linux_lg_jb.git
Click to expand...
Click to collapse
Wow look whoz here.. I'm waiting for my N4 and to have your work on it..
Loved the Matrix kernel on my nexus s.. Now it's the turn for N4
Always appreciate your work Math kid
Hung0702 said:
Just so everyone else doesn't have to view op's profile, this is not a slammer and he's pretty well established on xda. Wasted a few seconds of my life trying to verify that...
Click to expand...
Click to collapse
I confirm he's done a wonderful job since Nexus S, and i'm pleased to see him there now
Btw, flashed this and it is very nice so far : snappy and smooth. We'll see about battery life...
Ok kid. I'm awake. I'm awake, I'll flash it now. Hit me up later today so we can discuss the future of this kernel lol. Happy Thanksgiving everyone
Sent from my Nexus 4 using xda premium
Happy Thanksgiving everyone !!!
Got it flashed. Very smooth. According to system tuner only 2 cores are being used though.
I'm running a super top secret test rom and I was getting flickering unlocking the screen. It's gone after flashing this.
Sent from my Nexus 4 using xda premium
Great to see you here MK! Looking forward to entering the Matr1x with my N4.
Sent from my Nexus 4 using xda premium
Just flashed. Smooth so far. Will report back if any issues. Thanks!
Hey Mikey mind sharing super top secret test ROM
Happy Thanksgiving To All!!!!
Sent from my Nexus 4 using xda app-developers app
mikeyinid said:
Got it flashed. Very smooth. According to system tuner only 2 cores are being used though.
Click to expand...
Click to collapse
Wooooooooahhhh! What? Two cores only?
The ONDEMAND governor either shuts down two of them, or it has Hotplug enabled, or there's just some kind of a mistake. I don't know, might be a bit of a noobish comment.
Can anyone solve this for us?
DonJuan89 said:
Wooooooooahhhh! What? Two cores only?
The ONDEMAND governor either shuts down two of them, or it has Hotplug enabled, or there's just some kind of a mistake. I don't know, might be a bit of a noobish comment.
Can anyone solve this for us?
Click to expand...
Click to collapse
I wouldn't worry about it. I'm sure it's running as intended.
Sent from my Nexus 4 using xda premium
---------- Post added at 05:49 AM ---------- Previous post was at 05:48 AM ----------
buddahlou said:
Hey Mikey mind sharing super top secret test ROM
Happy Thanksgiving To All!!!!
Sent from my Nexus 4 using xda app-developers app
Click to expand...
Click to collapse
Haha. Sorry I can't. It'll be available to all very soon. It's worth the wait, trust me.
Sent from my Nexus 4 using xda premium
Yea seems like it been checking the tweets
Sent from my Nexus 4 using xda app-developers app
You can check if all 4 cpu's are used properly by starting Geekbench and than have a look. While geekbench is running, all 4 cpu's should be used.
Here we go! Love me some Matr1x. Accidentally fell asleep last night...sorry kid. Happy Thanksgiving!
Sent from my Nexus 4 using XDA Premium HD app
Hey mathkid, nice to see you here. Will have a look at this and report back
Gesendet von meinem Nexus 10 mit Tapatalk 2
{
"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.
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
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: 302MHzBIG 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: 302MHzBIG 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: 302MHzBIG 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?