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

Search This thread

faux123

Senior Member
Dec 16, 2010
8,536
34,426
West Los Angeles
www.canonspike.com
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:
Init:
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 => http://faux.romhost.me/mako/sp/mako-SP-JB43-JWR_r2.zip
JSS Stock Plus Kernel => http://faux.romhost.me/mako/sp/mako-SP-JB43-JSS_r2.zip


Mirrors ;) http://androidhosting.org/Devs/Faux/

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 -- RESET KERNEL (FOR STOCK BASED ROM ONLY. FORC CM SIMPLY REFLASH THE LATEST NIGHTLY, then FLASH my KERNEL AFTERWARDS) ***

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

*** 4.2.2 ***
http://faux.romhost.me/mako/mako_422_reset_kernel.zip

*** 4.2.1 ***
http://faux.romhost.me/mako/mako_421_reset_kernel.zip

Tmobile LTE Hybrid Modem hack:

http://xdaforums.com/showpost.php?p=43926154&postcount=12988


[ For Kernel Devlopers ONLY: ]

NEWS BULLETIN:

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...

BUGS:

Not All CHIPS ARE CREATED EQUAL


TO DO:

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

History:

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


 

Attachments

  • Screenshot_2012-11-22-10-26-28.jpg
    Screenshot_2012-11-22-10-26-28.jpg
    21.8 KB · Views: 124,131
  • Screenshot_2012-11-22-10-26-53.jpg
    Screenshot_2012-11-22-10-26-53.jpg
    39 KB · Views: 120,139
  • Screenshot_2012-11-22-10-26-56.jpg
    Screenshot_2012-11-22-10-26-56.jpg
    36.9 KB · Views: 118,392
  • Screenshot_2012-11-22-11-10-42.jpg
    Screenshot_2012-11-22-11-10-42.jpg
    46.2 KB · Views: 117,454
Last edited:

faux123

Senior Member
Dec 16, 2010
8,536
34,426
West Los Angeles
www.canonspike.com
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

Z-Control
  • 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 :fingers-crossed:

Updated on September 6, 2013
 
Last edited:

faux123

Senior Member
Dec 16, 2010
8,536
34,426
West Los Angeles
www.canonspike.com
DUE TO MY EXTREMELY BUSY SCHEDULE BOTH @ WORK AND @ HOME, I WILL ONLY MAKE MAJOR ANNOUNCEMENTS ONCE PER WEEK
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!
 
Last edited:

faux123

Senior Member
Dec 16, 2010
8,536
34,426
West Los Angeles
www.canonspike.com
FAQ:

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
https://play.google.com/store/apps/...51bGwsMSwxLDEsImV1LmNoYWluZmlyZS5zdXBlcnN1Il0.
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.
 
Last edited:

hev88

Senior Member
Dec 15, 2010
583
185
Glendale
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"
 
Last edited:

estallings15

Senior Member
Apr 22, 2011
6,201
2,547
Holy crap! I'm gonna cry! First kernel I ever flashed was a Faux123. My phone needs to get here....
 

r2DoesInc

Senior Member
Dec 8, 2010
1,577
811
doesnt boot

edit:
well, boots, but not into your kernel.
using fastboot flash causes no boot.


edit the edit:
wtf. works now. right on man.
 
  • Like
Reactions: CrypticRook

r2DoesInc

Senior Member
Dec 8, 2010
1,577
811
Also, doesnt run @ 1.8. Itll reboot and then hang till you reflash the kernel.

Pesonally I'd suggest staying away from this until it was a bit more tested.
 
  • Like
Reactions: mikeyinid

sarni84

Senior Member
May 17, 2011
3,066
676
Levittown, PA
Damn faux anyway way we can get a flash able after u get some time? Not near a comp right and want to try this bad boy! Thanks
 

r2DoesInc

Senior Member
Dec 8, 2010
1,577
811
got a lockup at 1.7 and reboot loop after till i flashed the kernel again

---------- Post added at 03:13 PM ---------- Previous post was at 03:13 PM ----------

you do realize that not every CPU is going to be able to oc that high? Some won't oc at all. Some will go higher. Just saying......

...yes
derp
 

Top Liked Posts

  • There are no posts matching your filters.
  • 990
    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:
    Init:
    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 => http://faux.romhost.me/mako/sp/mako-SP-JB43-JWR_r2.zip
    JSS Stock Plus Kernel => http://faux.romhost.me/mako/sp/mako-SP-JB43-JSS_r2.zip


    Mirrors ;) http://androidhosting.org/Devs/Faux/

    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 -- RESET KERNEL (FOR STOCK BASED ROM ONLY. FORC CM SIMPLY REFLASH THE LATEST NIGHTLY, then FLASH my KERNEL AFTERWARDS) ***

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

    *** 4.2.2 ***
    http://faux.romhost.me/mako/mako_422_reset_kernel.zip

    *** 4.2.1 ***
    http://faux.romhost.me/mako/mako_421_reset_kernel.zip

    Tmobile LTE Hybrid Modem hack:

    http://xdaforums.com/showpost.php?p=43926154&postcount=12988


    [ For Kernel Devlopers ONLY: ]

    NEWS BULLETIN:

    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...

    BUGS:

    Not All CHIPS ARE CREATED EQUAL


    TO DO:

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

    History:

    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


    429
    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

    Z-Control
    • 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 :fingers-crossed:

    Updated on September 6, 2013
    284
    FAQ:

    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
    https://play.google.com/store/apps/...51bGwsMSwxLDEsImV1LmNoYWluZmlyZS5zdXBlcnN1Il0.
    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.
    177
    DUE TO MY EXTREMELY BUSY SCHEDULE BOTH @ WORK AND @ HOME, I WILL ONLY MAKE MAJOR ANNOUNCEMENTS ONCE PER WEEK
    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!
    112
    Forgive my ignorance, but can you explain what a CAF, or CAF clone means? This is interesting to me.

    I may be wrong, so don't take my word for it. I will attempt to answer.

    CAF is code that isn't in AOSP. It is from Code Aurora (https://www.codeaurora.org/). At first, CM was basing their kernels with AOSP, which made it easier for faux to create kernels for AOSP ROMs. Now that CM is switching to CAF, it makes it harder for faux, since I think not all CAF code is open source (don't quote me on that. I thought I read it somewhere...maybe I read it from faux). AOSP is all open source.

    snip...

    Geek Talk Below:

    CAF == Qualcomm's open source branch.

    CAF's kernel sources are 100% open as required by GPL. Their libraries, however, are under Apache which means you can use them as you see fit, but not all are open (some are strictly as proprietary lib files).

    For ALL NON-Nexus Qualcomm devices, CAF's kernel + libraries will be the closest to AOSP experience (Even Google's AOSP still depends heavily on these proprietary libraries from various vendors including Qualcom/CAF).

    Historically, Qualcomm often creates a separate less optimized version of their proprietary libraries for Google to use on Nexus devices (I guess because Google didn't pay them to be their premium partners like Samsung, HTC and LG), but this didn't stop Google from turning these basic libraries and create amazing experiences on their Nexus devices (HTC's Nexus One, Google's Nexus 4, Google's Nexus 7 2013 and the upcoming Nexus 5).

    So now you know there are two distinct branches of libraries, AOSP and CAF's own version. Although both were created by CAF, but there exist some differences between the two (These differences are what creates bugs when you mix match the libraries and kernel source).

    For reasons unknown, CM has decided to ditch the less optimized libraries and opted for CAF's own libraries for Nexus 7 2013... This created a massive headaches for many novice users and developers. If you load the AOSP kernel on CM ROM, you now have a mismatching kernel / library combination which led to video glitches and broken Slimport on Nexus 7 2013.

    It looks like for Nexus 4, they are slowly doing the same thing by replacing the AOSP libraries with CAF versions... over time, the AOSP kernel will no longer be 100% compatible with CAF based ROM... This will eventually lead to fragmentation of Nexus kernels (just like Nexus 7 2013 :( )

    I am HIGHLY AGAINST this move towards CAF for pure Nexus devices. Nexus devices already work quite well with what's given, and it enjoyed wide compatibility with ALL AOSP derived ROMs. By moving towards using CAF libraries on Nexus devices creates unnecessary FRAGMENTATION and incompatibilities within a Nexus device family!

    Also I am not sure about the legality of using CAF libraries... Basically if you build a ROM based from it, you are redistributing the Qualcomm proprietary blobs and Qualcomm has EXTREMELY strict redistribution clause with their binary blobs (basically they need to grant you explicit permissions) where as AOSP it is less stringent than Qualcomm. Whenever you deal with proprietary libraries in general, you are in the gray area of legality and you have to tread very carefully. (This legal issue was what kept Nexus 7 2013 from releasing their factory images for a while between Qualcomm and Google. This is also what eventually led to JBQ leaving Google).