Remove All Ads from XDA

[Kernel] (ver 041) Mako KK 4.4 (UV/OTG/CPU/GPU OC/Hybrid Linux 3.4+) [08-02-14]

8,535 posts
Thanks Meter: 34,722
Post Reply Email Thread
NOTICE: This is COMPATIBLE with ALL Google Rooted Stock and Custom ROMs based on JellyBean 4.2!

Just a statement regarding kernel source: The Kernel Source is of course covered under GPL version 2. Free software does NOT mean no work or time was spent working on it. I have donated a large sum of my free time to hack this kernel. If you use my modified kernel source in parts or in its entirety, I kindly ask you mention its origins and to send me a github pull request or PM whenever you find bugs or think you can help improve my kernel hack further. This way the entire community will truly benefit from the spirit of open source. Thank you ![/b][/center]

Hi XDA members and fellow Nexus users:

This is my twenty-third kernel hack. I want to thank T0dbld, Turl and rest of my teammates, and several others I cannot recall for inspiring me to venture into this unfamiliar territory for me.

What is a Kernel? The Kernel is the Foundation in which everything else builds upon in any software system.
[Car Analogy]: Kernel is like the Engine, Electrical system and the Transmission to a car. The Library, Framework and the Apps [AKA ROM] are the body frame and the rest of the Car.

THIS KERNEL is BASED ON Google Source Code. So it is COMPATIBLE WITH ALL AOSP JB 4.2 Builds.

DO NOT use any task killers, they DO NOT improve performance nor battery life. They INTERFERE with your phone's stability (more crashes) and App compatibility (Forced Close).

Kernel Features:

So what type of kernel is this? Well, this kernel is based on Linux 3.4.y (says so from the version string)
Features in Magenta are identical as the latest Linux 3.4+

Memory Management subsystem:
Core Kernel:
*** RCU:
*** Scheduler:
Power Management:
File System:
Block I/O:
Kernel Features:
Device Drivers:
Library Support:

Installation Instructions:

Change Log => Change Log

Beta 4.4 Kernel => Beta kernel

Mainline 4.4 Kernel => mako kernel <== (Stock CPU frequencies, Stock GPU frequencies 400MHz)

Ultimate 4.4 Kernel => mako kernel <== (CPU frequencies up to 1.8 GHz, GPU frequencies up to 450 MHz)

Deprecated JELLYBEAN kernels:

Stock Plus Change Log => Change Log
JWR Stock Plus Kernel =>
JSS Stock Plus Kernel =>


Here's a step by step instruction to install this kernel:

1. download the above file (via phone directly or to a PC)
2. copy the downloaded zip file to /sdcard/download/
3. Open ROM Manager and select "Reboot into Recovery" and select "OK"
4. Once in recovery, select "wipe cache partition", select "Yes", then select "advanced", then select "Wipe Dalvik Cache", then select "Yes" again. Once finished, click the back button to go back to the main recovery menu. On that menu, select "Install Zip From SDCad", then select "Choose zip from SDCard", then go to /sdcard/download and select the downloaded zip file and let it run its script.
5. Once the script is done, select "reboot system now"

Note: After FLASHING, the first reboot may take longer than usual, please be patient... After the first reboot, it may lag during initial load (let everything finish loading). Once everything is loaded and phone is ready for use, reboot the phone a 2nd time and the lag will be gone and everything should be silky smooth...

[ Advanced Users: ]

[ Optional: ]

If you encountered any funny / weird / strange issues coming from other than 100% pure stock ROMs or my kernels, the following "Reset Kernel" will restore the kernel to its Original Stock Settings.
After applying the reset kernel, then load my latest kernel again.


JellyBean 4.2.x Reset kernel for STOCK ROMs ONLY (Cyanogenmod, simply reflash nightly again to reset)

*** 4.2.2 ***

*** 4.2.1 ***

Tmobile LTE Hybrid Modem hack:

[ For Kernel Devlopers ONLY: ]


Version 029 is OUT!

(lurking, no more open betas )!

Please don't hesitate to talk among yourselves and help each other out... The XDA community is what inspired me to hack kernels for everyone since everyone here is nice and helpful to each other... Keep helping each other.... Famous proverb: It's better to give than to receive...




version 0.x.x -- more to come...


See Post below...

Standard Disclaimer: Not responsible for bricking your phone, voiding your warranty, or any other pain or suffering you may feel as result of using this kernel!!!

My github Complying with GPL and XDA rulez

Follow me on :

If you find this Kernel useful, feel free to hit the [Thanks] button below

Attached Thumbnails
Click image for larger version

Name:	Screenshot_2012-11-22-10-26-28.jpg
Views:	124021
Size:	21.8 KB
ID:	1503073   Click image for larger version

Name:	Screenshot_2012-11-22-10-26-53.jpg
Views:	120032
Size:	39.0 KB
ID:	1503075   Click image for larger version

Name:	Screenshot_2012-11-22-10-26-56.jpg
Views:	118282
Size:	36.9 KB
ID:	1503076   Click image for larger version

Name:	Screenshot_2012-11-22-11-10-42.jpg
Views:	117352
Size:	46.2 KB
ID:	1503077  
The Following 997 Users Say Thank You to faux123 For This Useful Post: [ View ] Gift faux123 Ad-Free
22nd November 2012, 07:21 PM |#2  
FauxClock App recommended Settings"

CPU Control
  • Max clock - GHz 1.512 GHz for performance, 1.242 GHz for battery
  • Min clock - MHz 384 MHz for both
  • CPU Governor - Intellidemand for performance AND battery
  • mpdecision - Off
  • Snake Charmer - OFF for performance, On for Battery
  • Eco Mode - Off for performance, On for battery
  • Set On Boot - On

SOC Control
  • Set On Boot - On
  • C0 - On
  • C1 - On
  • C3 - On (Note: N4 AP modem is very sensitive to some of the deeper sleep states, if you experienced Green/Yellow AP Modem Watchdog Bark screens, I recommend disabling C2/C3 states).

Voltage Control
  • Set On Boot -
  • Global CPU Voltage - mV

intellidemand gov control
  • Up Threshold - 95 for both
  • Up Threshold Any CPU Load - 85 for both
  • Up Threshold Multi Core - 75 for both
  • Boost Frequency - 1026000 for both
  • Two Phase Freq - 1134000 for both
  • Optimal Freq - 1242000 for both
  • Synchro Freq - 756000 for both
  • Set On Boot - On

GPU Control
  • GPU Governor - Simple for both
  • GPU Clock - 400 MHz for performance and 320 MHz for battery
  • GPU Vsync Toggle - On for both
  • Set On Boot - On for both

I/O Scheduler Control
  • I/O Scheduler (eMMC) - FIOPS for both
  • Readhead Size (eMMC) - 2048 for both
  • Set On Boot - On for both

Misc Control
  • Dynamic File Sync - On for both
  • TCP Congestion Control - Westwood for both

Vibration Control
  • Set On Boot - On for both
  • Vibration Control - 70 for both

Screen Color
  • Set On Boot - On for both
  • Factory Presets - LG Presets
  • Color Adjustments - R, G, B 255, 250, 245
  • Gamma Amp Adjust 0 - R, G, B 13, 20, 22
  • Gamma Amp Adjust 1 - R, G, B 0, 2, 3

  • Set On Boot - On for both
  • ZRAM Disk size - 150~200 Megabytes (or 50 MB when disabled)
  • ZRAM Enable/Disable - Enable if you mult-task often
  • Clear VFS Cache After Boot - On
  • Auto FS Writeback Delay Mode - On
  • Swappiness - 100% if ZRAM enabled, 0% if disabled
  • VFS Cache Pressure - 100% if ZRAM enabled, 150% if disabled
  • Dirty Ratio - 20% for both
  • Dirty Background Ratio - 5% for both

Above is what I use personally. MAY NOT be optimal for all

Updated on September 6, 2013
The Following 432 Users Say Thank You to faux123 For This Useful Post: [ View ] Gift faux123 Ad-Free
22nd November 2012, 07:22 PM |#3  
Open Beta may not be stable and may cause issues with your phone!

By loading open beta you have agreed to:

1. To report all random reboots with associated /proc/last_kmsg
2. To provide feedback on errors or bugs with detail phone information such as ROM, kernel version, and apps
3. Participate in Forum discussions for the beta software with others without FLAMING each other or post useless information such as:
a) Phone doesn't boot (without providing any additional information, ROM versions etc)
B) phone is too hot (without providing any additional information, ie OC freq, UV etc)

The Open Beta system is designed to have the community help each other and the developers. This way, all potential bugs are flushed out so the final released version will be stable and error free. The more actively you participate in Beta Testing the better the final product will be (you are really helping yourself to create a better community software).

If you do NOT agree with the statements above, DO NOT load my Open Beta software.

Kernel 00x Open Beta 0x is now CLOSED!
The Following 178 Users Say Thank You to faux123 For This Useful Post: [ View ] Gift faux123 Ad-Free
22nd November 2012, 07:22 PM |#4  

1. Why don't my settings "stick" when using FauxClock App?

#1 issue with settings NOT sticking is superuser Switch to SuperSU should solve 95% of issues
UPDATE: Koush's new Superuser is also compatible with my apps!

2. Why doesn't my Max frequency settings NOT "stick" when using intellidemand governor with FauxClock App?

Intellidemand will AUTOMATICALLY UNDERCLOCK when there's a CONSTANT load for greater than 3 minutes. (Load spikes will NOT trigger the auto underclock, only CONSTANT loads). After the load is gone, it will restore back to original Max Clock. Constant load will drain the battery quite quickly, intellidemand governor will detect this behavior and automatically underclock to save more battery without ANY user intervention at all!

3. Why does the CPU freq slider move when I touch the screen?

Qualcomm's closed source mpdecision is the culprit. mpdecision raise the minimum CPU frequency to 1.026 GHz to "cheat" or increase UI smoothness. While this is a good idea, it is too aggressive and overkill causing unnecessary battery drains. And because it is closed sourced, it is NOT POSSIBLE to tweak its behaviors. I highly recommend turning off mpdecision when using my kernels in combination with intellidemand/intelli_plug

4. What is Intelli_plug? How do I use it?

Intelli_plug is my open source solution to Qualcomm's closed source mpdecision. Intelli_plug is enabled automatically upon boot, so NO need to turn on or off. However, it conflicts with mpdecsion, so I HIGHLY recommend turning off mpdecision when using my kernels! To turn off mpdecision, either use fauxclock app under CPU page or use terminal / init.d script and write "stop mpdecsion"

5. What is Eco Mode in FauxClock App?

Eco Mode is a special power savings mode part of the intelli_plug where the kernel automatically reconfigures its decisions in real time and optimizes to use only 2 out of 4 cores. Cores 3 and 4 are turned off completely.

6. My Gamma/Color settings do NOT stick when I removed FauxClock App from memory!

FauxClock app MUST be running to retain the colors. This is a limitation of the stock kernel and FauxClock app was designed to overcome this issue, so therefore it has to be running and be in memory (Avoid all Task Killers!!!)

7. If FauxClock has to be running all the time, does it CAUSE MORE DRAIN?

NO, FauxClock is a normal behaving app which does NOT HOLD or request ANY wakelocks from Android system. Therefore it does NOT cause any drain at all while running (matter of fact, it's suspended most of the time until it's needed)

8. What is "SnakeCharmer" ?

SnakeCharmer is an extension that I created to tame the Qualcomm Krait CPUs. Due to asynchronous SMP cpu design, each CPU can have its own independent min/max frequencies. SnakeCharmer allows you to set a specific max cpu frequency to all cores at the same time, so if you want to UNDERCLOCK your CPUs to a specific frequency, you should enable it under FauxClock.

9. I enabled "SnakeCharmer" but I occasionally see it still goes to max 1.512 GHz, why?

SnakeCharmer works flawlessly. FauxClock app is a Java app which runs on top of Linux. Sometimes it gets out of sync with the kernel, so it will display a frequency that's higher than the maximum "SnakeCharmer" frequency. This is a PURE DISPLAY issue with FauxClock App. SnakeCharmer works advertised! (Confirmed using CPUSpy by multiple users).

10. I have BOTH FauxClock and FauxDisplay apps but I seemed to lost the Screen Adjustment Tab under FauxClock? (Nexus 4 Only)

FauxDisplay (aka Advanced Gamma Control has full 27 controls unlocked, it supersedes the basic controls provided by FauxClock

11. What is Turbo Boost and how do I enable it? (Nexus 4 ONLY)

Turbo Boost is similar to Intel's Turbo Boost for the x86 CPUs. It increase the clock frequencies when 2 or less cores are active. (TB-U allows up to 1.9.44 GHz, TB-M allows up to 1.836 GHz). To enable turbo boost, simply slide the CPU max frequency slider all the way to the right!

12. Why can't I Undervolt below 600mv?

Ever since I created the UV interface for Qualcomm phones on 2010, 600mv minimum voltage has been chosen for a reason. There are typically 2~4 different "binnnings" for the same CPU chip (each binning has their own voltage tables) and therefore NOT ALL CHIPS are created equal. The 600mv limit was put through many different tests and was found to be stable ACROSS many many different chips/binnings combinations (No crash or sleep-of-death aka SOD) and it has been proven time and time again to be a good value for minimum voltage value.

SOC Sleep States demystified! (Corrected for incorrect information thanks for G+ comments!)

Often times users using many apps like CPU Spy will say post how much time their phone spent in "deep sleep" and thinking that "deep sleep" is only 1 state, unfortunately, it is WRONG. For many modern CPUs there are several C-States (sleep states), and the term "deep sleep" does NOT correctly describe them all.

Just like in real life, there are several stages of "sleep", the shallowest sleep is C0 State. As in real life, C0 state is very easy to wake up from with almost NO latency at all (real life will be like grogginess, so C0 is just like when you first doze off but any little distraction will instantly wake you up). The deeper the sleep, the harder it is to wake up from. It takes longer for CPU to re-initialize itself to a waking state (just like real life where once you enter REM sleep, it's very hard to wake up from it).

For most processors, C3 is the Deepest sleep state. C3 state is ALMOST like turning it off using the absolutely minimum power.

C0 - Shallowest sleep (dozing off) with instant wake up
C1 - slightly deeper sleep with slight latency when waking up
C2 - deeper sleep with longer latency when waking up
C3 - really deep sleep (like REM sleep in real life) with longest latency when waking up

My pyramid (Sensation 4G) kernel has Intellidemand Governor 2.0 (Grand daddy of the Mako's Intellidemand governor) where I disabled ALL hotplugging when screen is on (ie, both cores stays ON the WHOLE TIME) but I enabled C2 state for both processors, so even though at first you think it may draw more battery than hotplugging (turning off the core when not using), many of my users have experienced better battery life than with hotplugging (Hotplugging is VERY expensive, the act of turning cores on/off drains battery as well).

On Nexus 4 (Mako), for some reason, Qualcomm has decided to only allow for C0 state (the shallowest sleep) and so the "deep sleep" isn't really that deep. With my FauxClock app + my kernel, I give you all the "deeper" sleep states so when idling, you phone can experience deeper sleep. There's a hardware bug for Krait processors where the secondary cores, 1~3, cannot achieve deeper sleep state independently, so hotplugging is still necessary to save power for cores 1~3 but for core 0 (and core 0 is the master CPU and it's NEVER hotplugged) being able to go into deeper sleep state will help to conserve more power.

FauxClock is designed with forward compatibility. With the newer Qualcomm Krait 600/800 series, they have fixed a few of the hardware bugs from the Krait processors, and so for those newer SOCs, you can go into deeper sleep with all cores like the like older 8x60 SOCs.
The Following 284 Users Say Thank You to faux123 For This Useful Post: [ View ] Gift faux123 Ad-Free
22nd November 2012, 07:25 PM |#5  
Senior Member
Thanks Meter: 141
Yea! Glad to see you came with me from the Amaze forums! Can't wait to flash soon!
The Following 2 Users Say Thank You to dubt17 For This Useful Post: [ View ] Gift dubt17 Ad-Free
22nd November 2012, 07:26 PM |#6  
KonstantinKeller's Avatar
Senior Member
Flag Flowery Branch
Thanks Meter: 1,562
Donate to Me
I remember you from the hercules forums. Nice to see you here! Looking forward to using your kernels.
The Following User Says Thank You to KonstantinKeller For This Useful Post: [ View ] Gift KonstantinKeller Ad-Free
22nd November 2012, 07:26 PM |#7  
hev88's Avatar
Senior Member
Flag Glendale
Thanks Meter: 186
Well well well... Look who's here. Nice to see you working on This beast man. I'm excited to see what you have in store for us.

Oh and where are my manners... Happy Thanksgiving man.

Sent from the Nexus 4 Drinking Club...
"It's not drinking alone if you are with people on an internet forum"
22nd November 2012, 07:30 PM |#8  
neer2005's Avatar
Senior Member
Flag New Jersey
Thanks Meter: 122
Oh **** faux is here, now it's a party

Sent from my Nexus 4 using xda app-developers app
The Following User Says Thank You to neer2005 For This Useful Post: [ View ] Gift neer2005 Ad-Free
22nd November 2012, 07:34 PM |#9  
dankoman's Avatar
Senior Member
Flag Philly
Thanks Meter: 22,474
STFU! Faux!? Oh, it's ON now baby!!!

Sent from my Nexus 4 using xda premium
The Following 2 Users Say Thank You to dankoman For This Useful Post: [ View ] Gift dankoman Ad-Free
22nd November 2012, 07:41 PM |#10  
estallings15's Avatar
Senior Member
Thanks Meter: 2,623
Holy crap! I'm gonna cry! First kernel I ever flashed was a Faux123. My phone needs to get here....
22nd November 2012, 07:49 PM |#11  
randomblame's Avatar
Recognized Developer
Thanks Meter: 17,892
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes