[KERNEL] Bricked-Kernel Hammerhead | Sweep2wake | KnockKnock/Dt2w - Nexus 5 Original Android Development

Welcome to the most customizable N5 kernel on xda
Bricked-Kernel Nexus 5 (hammerhead)​
Features:
* Based upon Google's msm 3.4 source
* Various fixes, improvements and optimizatios (look @ github)
* Compiled with gcc4.7.2 toolchain (linaro 09.12)
* -O3+ optimized
* Snapdragon & CortexA15 optimizations
* replaced qcom's hotplug binary with msm_mpdecision (IN-KERNEL, better battery life + performance)
* Extensive sysfs interface for mpdecision with all the tuneables you want (/sys/kernel/msm_mpdecision/)
* replaced qcom's thermal binary with my IN-KERNEL solution. (/sys/kernel/msm_thermal/)
* export krait version to: /sys/kernel/debug/krait_variant
* Allow OC up to 2,5Ghz
* Allow UC to 96Mhz
* Undervolting (faux123)
* F2FS Support
* Multirom Support
* KCAL (savoca) & Gamma Control (faux123)
* Sound Control (faux123)
* Default clocks: 300 Mhz min & 2265,6 Mhz max
Zip features:
*** ON-THE-FLY-RAMDISK EDITS!
*** THIS KERNEL USES YOUR RAMDISK, it will just modify it on the fly while flashing. These changes are not creating any incompatibilities with roms/other kernels.
* removes min freq overrides from the ramdisk
* removes governor overrides from the ramdisk
* adds init.d support to your ramdisk (if not already supported)
* modifies stock ondemand settings
* add module insertion
Check the compare links for the rest ​
Where is tha Changelog???
There will be no more changelogs.
Instead the download pages were outfitted with compare links to github for each download.​
What is sweep2wake?
Disabled as default, activate through an app like KControl or over sysfs: echo 1 > /sys/android_touch/sweep2wake​
What is doubletap2wake / knock knock?
Disabled as default, activate through an app like KControl or over sysfs: echo 1 > /sys/android_touch/doubletap2wake​
How to install?
Flash through recovery. #done.​
How to uninstall?
Flash this:
http://bricked.de/downloads/kernel/hammerhead/bricked_uninstaller_hammerhead.zip
You are done. Bye.​
Where to complain about errors/bugs?
Please use the Issuetracker for bugs/errors/feature wishes!
Issuetracker @ https://github.com/showp1984/bricked-hammerhead/issues
[email protected]
IRC Chat: Freenode IRC #bricked​
Download:
No Guarantees! If it kills your grandmother or your device, I am NOT responsible! If you understand this:
(If you download, please hit Thanks below my post! Thank you!)
>>> DOWNLOAD <<<​
Donation Hall-of-Fame:​
> Hall of fame <
Thank you very much!​
Stock 4.4 Nexus5 boot.img - flash this if you come from another kernel coming with it's own ramdisk (eg: zip contains a *.img file) ONLY FLASH ON 4.4
Source:
​

What is msm_thermal?
Kernel based 3-phase thermal control!
This replaces your /system/bin/thermal-engine-hh binary which is renamed by the installer to thermal-engine-hh_bck.
It will throttle your cpu speed to keep it cool and unleash it if the cpu has cooled down enough. (3 phases: low, mid and high)
Check /sys/kernel/msm_thermal/conf/ for the thermal configuration
allowed_max_high = highest threshold (phase 3)
allowed_max_low = remove the throttling if we cooled down to this (clr_thrshold)
allowed_max_freq = max frequency if throttled (limit)
[...]mid[...] = same as above, just for phase 2
[...]low[...] = Lowest threshold (phase 1)
check_interval_ms = how often shall we check? (sampling rate)
shutdown_temp = if we reach this shut down the device!
If you want to see msm_thermal doing it's job:
Code:
adb shell
cat /proc/kmsg | grep 'thermal'
What is msm_mpdecision?
100% kernel based multi core decision! (should cpu1/2/3 be online or not?)
This replaces your /system/bin/mpdecision binary which is renamed by the installer to mpdecision_bck.
Check /sys/kernel/msm_mpdecision/conf/ for the configuration.
startdelay = time until mpdecision starts doing it's magic (20000)
delay = time between checks (130)
pause = if something else plugs in the cpu, fall asleep for 10000ms (10 secs)
scroff_single_core = if the screen is off, don't plug in cpu1/2/3. Additionally: Unplug all cpus except cpu0 when screen is turned off (1)
enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
min_cpus = min cpus to be online, cannot be < 1. Default: 1
max_cpus = max cpus to be online, cannot be > 4. (if you set it to 2 and min_cpus to 1 you will basically have a dualcore) Default: 4
idle_freq = a value against that will be checked if a core +/- is requested. (499200)
If cpu0 is below that value and a core up of another cpu is requested, nothing will happen.
If any other cpu is above that value and a core down of that cpu is requested, nothing will happen. (otherwise it would now put down that cpu even though it is still working, which isn't what we want)
Hot plug thresholds (aka now it gets 'complicated')
This small formula calculates which value will be used: (number_of_cpus_online - 1) * 2
The result of this formula will be the nwns_threshold where a new cpu is hotplugged.
The result of this formula + 1 will be the nwns_threshold where a cpu is unplugged.
nwns_threshold_x = runqueue threshold, if this is reached cpuX will be hot/unplugged
twts_threshold_x = time threshold, this amount of time must have passed for the related action to be taken (hot/unplug)
Example:
One cpu is online.
(1 - 1) * 2 = 0 ergo:
nwns_threshold_0 = cpu1 will be hotplugged at this value
((1 - 1) * 2) + 1 = 1
nwns_threshold_1 = cpu0 will be unplugged at this value
Since we can't unplug cpu0 this is '0'.
Two cpus are online.
(2 - 1) * 2 = 2 ergo:
nwns_threshold_2 = cpu2 will be hotplugged at this value
((2 - 1) * 2) + 1 = 3
nwns_threshold_3 = cpu1 will be unplugged at this value
etc...
Some values are:
NwNs_Threshold: 12, 0, 25, 20, 32, 28, 0, 35
TwTs_Threshold: 140, 0, 140, 190, 140, 190, 0, 190
Where the position and function of the number equals the result of the above explained formula.
(all times are in ms)
If you want to see the mpdecision magic happening:
Code:
adb shell
cat /proc/kmsg | grep 'MPDEC'
mpdecision's input event boost, aka project butter
This will boost your min cpu speed if you touch the screen or press a button and gives you full control.
In those events the min cpu freq will be risen to a predefined value (look below) on every online cpu. This boosts overall reaction times and smoothness a lot. (works similar to the qcom mpdecision binary)
Configuration files:
[email protected]:/sys/kernel/msm_mpdecision/conf # ls | grep boost
boost_enabled
boost_freqs
boost_time
All of them work like the usual sysfs files, except one special case:
boost_freqs will list all frequencies from cpu 0 to cpu x. Cpu 3 and any following cpu will share one frequency.
To change those frequencies echo the cpu number + the frequency in khz.
Example: To change the boost freq of cpu3 (and 4,5,6,7,8, etc) the echo would look as follows:
Code:
echo "3 960000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
for cpu0:
Code:
echo "0 960000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
Defaults:
Code:
cat /sys/kernel/msm_mpdecision/conf/boost_freqs
960000
960000
729600
576000
Why do I have no WLAN?
Due to this kernels very high optimization settings it is too big for our boot.img with WLAN included into the kernel, so it is built as a module. That means it needs to be inserted into the kernel upon boot up, which needs to be automated for maximum comfort.
The zip adds module insertion to your ramdisk, if that fails for some reason the wlan module cannot be inserted.
if
Code:
adb shell lsmod
doesn't show this:
Code:
tun 14701 0 - Live 0x00000000
cifs 275399 0 - Live 0x00000000
bcmdhd 2964650 0 - Live 0x00000000 (C)
Then something went horribly wrong.
Chances are that I broke it and this should never happen.
One post in the issue tracker will probably fix it with the next release
You can restore wlan for your current bootup by executing:
Code:
adb shell
su
insmod /system/lib/modules/bcmdhd.ko
Is there an app available to customize this pure bodacious and awesome kernel?
Yes there is: KControl. It's in the Google Playstore.
​

A few benchmark results:
Vellamo Metal:
http://vellamo2.quicinc.com/api/v2/app/plot/Metal/submission/PEE3B604B-8C49-69F5-001E-6BCA76DF491D
(usually ranges from 11xx-12xx. Depending on system background load, thermal status, air pressure, weather, world hunger, etc...)
Antutu:
https://plus.google.com/u/0/108262968419038009038/posts/VJbxpMoFJPN
(usually ranges from 28.xxx - 30.xxx. Depending on system background load, thermal status, air pressure, weather, world hunger, etc...)
3DMark Icestorm unlimited: (the others are maxed out)
https://plus.google.com/u/0/108262968419038009038/posts/N24t9ssoBcL
(17xxx)

FIRST! o yes!!! mwhahahah!! and so it begins

Finally a Bricked thread! :victory: No more F5 spamming the kernel website

Good stuff, you've finally joined the party.
Sent from my Nexus 5 using Tapatalk

Woot! first page!

+1
10 char

Ngo93 said:
Finally a Bricked thread! :victory: No more F5 spamming the kernel website
Click to expand...
Click to collapse
If you are familiar with rss, all kernel download pages have a little rss symbol, if you click it you get here:
http://bricked.de/kernelrss.php?action=krss&device=hammerhead&release=stable&type=aosp
Just something to consider instead of spamming F5
unforgivenmercy said:
Good stuff, you've finally joined the party.
Click to expand...
Click to collapse
If you take a look at the dates on my homepage you might notice that the party ended about 2 days ago. The after party on the other hand starts now!
faux123 said:
Woot! first page!
Click to expand...
Click to collapse
Indeed! Well the thread isn't that old yet

OBI ONE is here aweseome !!! Always a pleasure to hang around in ur threads

n3ocort3x said:
OBI ONE is here aweseome !!! Always a pleasure to hang around in ur threads
Click to expand...
Click to collapse
left something on github for you

I saw, many thanks for that, but i think i have to ask u a bit about this, already in bed now, but tomorrow is another day 5star and subscribed as always

show-p1984 said:
left something on github for you
Click to expand...
Click to collapse
In the op it just says to install. So no wiping of cache or D cache correct? Sorry just re assuring
Sent from my Nexus 5 using Tapatalk

Wiping cache is redundant and you don't have to do it with kernels.
Sent from my Nexus 5 using Tapatalk

Carbajal3009 said:
In the op it just says to install. So no wiping of cache or D cache correct? Sorry just re assuring
Sent from my Nexus 5 using Tapatalk
Click to expand...
Click to collapse
The zip does it for you.
However, if it gives you a warm and fuzzy feeling you are free to do it again (so twice then ^^).

Wow, finally it is here. Flashing now.

Has anyone actually demonstrated (scientifically or otherwise) anything wrong with the qcom mpdecision binary? Im not taking anything away from kernel developers who write their own mpdecision (especially those who also provides sources), but I am curious as to whether they are actually better than those provided by qcom. Surely they know more about the capabilities of their own cpus better than anyone no?

jazzor said:
Has anyone actually demonstrated (scientifically or otherwise) anything wrong with the qcom mpdecision binary? Im not taking anything away from kernel developers who write their own mpdecision (especially those who also provides sources), but I am curious as to whether they are actually better than those provided by qcom. Surely they know more about the capabilities of their own cpus better than anyone no?
Click to expand...
Click to collapse
A fair question, I imagine there is something sacrificed using either or.
Sent from my Nexus 5 using XDA Premium 4 mobile app

jazzor said:
Has anyone actually demonstrated (scientifically or otherwise) anything wrong with the qcom mpdecision binary? Im not taking anything away from kernel developers who write their own mpdecision (especially those who also provides sources), but I am curious as to whether they are actually better than those provided by qcom. Surely they know more about the capabilities of their own cpus better than anyone no?
Click to expand...
Click to collapse
It's not that complicated (there is no black voodoo magic), that's why bricked kernel was the first to introduce this feature back on the pyramid.
CPUs need to be plugged in / unplugged based on load, there is nothing more qcom can know that we can't also see inside of the kernel.
There is one HUGE thing that is wrong with qcom's mpdecision: It's closed. It's a black box. We don't have any idea what is going on in there. Literally, none. It's not even configurable. It could contain secret nsa code, or send dirty sms to your girlfriend (who might actually enjoy that, idk...)
If we would have source, hell, awesome. I wouldn't have spent over a year (first commit: Date: Thu, 21 Jun 2012 06:06:47 +0200, see here) to get my msm_mpdecision solution to the point where it is a) awesome and b) a lot better than the binary. It can be configured in any way you might need to. It features statistics on how often and how long a cpu is hotplugged. It has the input event boost. It's the full package deal.
If you compare my kernel with the stock kernel you will see huge performance improvements and battery savings on bricked. Those are not only because of my msm_mpdecision but certainly related. Furthermore: we can completely customize it, over sysfs, on a running kernel, without reflashing.
That's what I would have expected from qcom in the first place.
Another thing wrong with qcom's binary: It's static. Meaning: If you change your min freq on stock it will always reset back to defaults. Same with their thermal binary. That's just annoying.
msm_mpdecision will notice it if you change your min frequency and dynamically work with that from there on. It will also prevent hotplug wars between apps and it: eg: an app plugs in cpus to grab some cpu data (like frequencies, etc. That is only available if the cpu is plugged in). Qcom's mpdecision would now raise hell to keep that cpu unplugged, my msm_mpdecision just sits back and chills for 10 seconds to avoid those wars. (again, even that delay is fully configurable)
There are also a bunch of boring advantages as to why it is better to let something crucial to the system run in kernel space and not in user space, but that would most certainly explode the context of this thread by the factor of 4.
My solution is not inferior to that binary in any way, in fact it has been vastly superior in my testing up until now, otherwise I would a) improve it or b) ditch it. I don't keep around bad stuff just for the point of having it or because I wrote it. If it sucks I will say that and act accordingly.

Thanks for the very informative post. I suppose there are advantages in avoiding qcom's mpdecision. Though i'd like to point out that the Android framework (msm power HAL) does use some of the interfaces provided by the binary (see hardware/qcom/power/). With the nexus 4, this will spam a lot of stuff to logcat if you are missing this interface, not sure if this is the same with the nexus 5, but judging by the sources it seems it will. Maybe you could provide some notification about this side effect.
Similarly, this could apply to the thermal side of things as well.

Related

[Kernel][2.6.32][OC/UV][Up to 1.4ghz configurable][2nd Dec][Froyo][Fast Scaling]

New Directions:
As there will be more tweaks and findings out by xda members, i will not include much tweaks (unless those i run) into my kernel but to release source so others can incorporate my oc/uv into their "all-in-one" kernel threads.
im glad someone took the liberty to add voodoo kernel and hope he eventually get voodoo to merge nicely with modded cwm.
UV control version 2.1 and above
- voltage scaling
- full UV user control via sysfs
- works on all governor
- echo "50 50 150 75 75 100" > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table
- column 1 for 1.2ghz, 2 for 1ghz, 3 for 800mhz, 4 for 400mhz, 5 for 200mhz, lastly 100mhz
- values are mV
- Use latest xan's app if you dont want to mess with commands - here
Info:
- based from the jpm froyo 2.6.32.9 kernel drop
- using sztupy ramfs (it has sztupy modded cwm but i did not test all options esp lag fix)
- Mem config based from here - free 341mb
- BLN by Neldar
- sysfs user configurable Undervolt
- FS supports - ext2 / ext4 / JFS
- sourcery 4.4.1 g++ 2009q3
- linpack 16 MFLOPish
- supported frequencies 100/200/400/800/1000/1200
- rooted adb shell
Stock voltage info
1200000 - 1300 (<-added)
1000000 - 1275
800000 - 1200
400000 - 1050
200000 - 950
100000 - 950
Max vdd_arm is 1.31v according to datasheet so dont go crazy OV'ing
To-do
- a lot
How to install:
- download any latest .7z file
- extract .tar from the .7z file
- use odin, load tar file under pda and flash
Credits
- sztupy
- supercurio
- unhelpful
- hardcore
- xan
- neldar
enjoy!
OC / UV 101
This question has been asked a lot so I will try my best to answer this question to my knowledge. Our phone although uses the same hardware, they can vary in terms of stability and performance. I believed even same hardware varies because of production tolerances & variations. Our stock 1ghz system per datasheet should run at 1.2v, however, in the source code, samsung set it at 1.275v. There are a lot of speculation why this happens but my personal believe is due to production fallouts. In production environment, to increase the yield, they increased the voltage to make them more stable. This is the easiest way to increase yield and sound most logical in business standpoint.
Our phones do frequency scaling. Meaning it doesnt stay at a particular frequency all the time, the frequencies fluctuate depending on load and thresholds. At high load, it will go to high frequencies and when low load or idle mode, it will stay around 100-400 range. In this way, you get load balance and uses lesser power.
Back to how adjusting UV to suit your phone. I've enabled via sysfs (/sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table) the ability for user configurable UV, unlocking this allows for UV'ing at all supported frequencies 100/200/400/800/1000/1200mhz. In this table is an array of values in mV, column 1 for 1.2ghz, 2 for 1ghz, 3 for 800mhz, 4 for 400mhz, 5 for 200mhz, lastly 100mhz. What this means is each column allows an UV setting at you can change to suit your phone. In boot up stage, all the values in the array is zero hence no UV'ing. You can set it and here is how it works:
Taking for example, you echo "0 50 50 75 75 100" > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table, looking at the stock voltage info I've described above, you will get:
1200000 -> 1300-0 = 1300mV
1000000 -> 1275-50 = 1225mV
800000 -> 1200-50 = 1150mV
400000 -> 1050-75 = 975mV
200000 -> 950-75 = 875mV
100000 -> 950-100 = 850mV
At 1.2ghz, i disabled UV by setting the value to 0. This is because 1.2ghz is already OC'ed so some phones may not be able to run stable so UV'ing makes the situation worst. At 1ghz, i reduced by 50mV, this is trial and error, i wouldnt know if this is stable unless i do some benchmark, run some programs, etc. So the question is "how do i know the UV i set is stable?" You can do this by a few ways. For my case, this is how I do it:
1) Set the voltage for 1ghz at 25mV
2) Use SetCPU to limit max and min scaling frequency to 1ghz
3) Run test, play some media, surf the web, open market place, etc.
4) Run it for 30-45 mins and if it doesnt crash, its good.
5) Increase the mV to 50mV and repeat 2-4 until it hang or crash
6) Find the mV that you phone likes without hanging or crashing then move to 800mhz
For lower frequencies, you can "usually" have higher UV but you cannot use setcpu to test the lower frequencies as the system will run above the max scaling frequencies even if you try to limit it lower (edit: this happens only if min and max frequency is not equal). For example, you limit the max scaling frequencies to 200mhz, it wont stay max at 200mhz but jump higher. The easiest way to test the lower frequencies UV is by letting your phone standby, sleep or do less intensive stuff and see if it runs stable, I believed most phones can do 75mV at 100-200mhz range but you can try more and see how it works out for you.
You can also test the lower frequencies by setting both min and max scaling to the same frequency. However, do note that setting low frequency will be very slow especially if you try it at 100mhz. It may take several seconds just to change apps.
FAQs
Q - What is UV? Why UV?
A - UV stands for Undervolt. The idea is to run at lower than stock voltage at any frequencies hence saving battery and longer battery performance
Q - Does UV also slow down the performance?
A - Theoretically it doesnt but under certain circumstances when the voltage gets too low for the cpu to operate properly, you may encounter some glitches so the idea is not to run it at the all the way down but find a suitable voltage that it doesnt happen. For example, running 75mV is stable but sometimes see some slow down so up it to 50mV and it should run fine.
Q - I am not convinced, I do not want to OC, how can I stop that?
A - Simple, using xan's app, check the box "limit max clock to 1ghz (no overclocking)" or using adb shell echo 1000000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
Changelog
v300
- ULF v0.4pre
-frequencies supported are 1400/1360/1280/1200/1120/1000/800/400/200/100 (in this order)
- echo 0 0 0 1 0 1 1 1 1 1 > /sys/devices/system/cpu/cpu0/cpufreq/states_enabled_table
- Frequencies state can be enabled by echoing a "1" into the column position (1.4ghz - 1st column, 1.36ghz - 2nd column, 1.28ghz - 3rd column,... etc)
- examples above will enable 1200/1000/800/400/200/100
- At default stage, all the OC frequencies will be disabled so user will have to enable if they want to OC.. it will only run ONCE when scaling start (so using init.d to set the states) but i've added a trigger called /sys/devices/system/cpu/cpu0/cpufreq/update_states which by default will be 0. echoing a 1 will force an update if you want to change the state.
- There will also be UV for each frequencies same as previous version
- Stock voltage
1400000 - 1300 (<- added)
1360000 - 1300 (<- added)
1280000 - 1300 (<- added)
1120000 - 1300 (<- added)
1200000 - 1300 (<-added)
1000000 - 1275
800000 - 1200
400000 - 1050
200000 - 950
100000 - 950
Max vdd_arm is 1.31v according to datasheet so dont go crazy OV'ing
v217 UV alpha
- quick fix on corrupted /system
- /sbin/busybox mount -t rfs -o check=no /dev/block/stl9 /system
Highly Experimental 1.28Ghz / 1.4Ghz kernels v216
- Only for those that know what they are doing - no support
- BACKUP YOUR STUFF
- Disable UV and UV startup script
- Post your benchmark for bragging rights
- Linpack 17.9 (1.28Ghz) / 19.8 (1.4Ghz)
v216 UV alpha
- added BLN
- release source for 1.12ghz
v215 UV alpha (1.2ghz and 1.12ghz OC support)
- 100->400mhz fast scaling (less aggressive than v212 for better battery life)
- tweak for faster response
- bootanimation support
- do Linpack benchmark of your current kernel vs my kernel for comparison. Only benchmark 5 mins after system bootup (without USB cable attached)
- Linpack: [email protected], [email protected],[email protected]
v212 UV alpha
- hz = 300
- fast scaling speed jump
- tweak for faster response
- fix sztupy's startup script so it will run any files in /etc/init.d at startup
- may use more battery so keep track and let me know
v2.1 UV alpha debug
- full UV user control via sysfs
- works on all governor
- echo "50 50 150 75 75 100" > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table
- column 1 for 1.2ghz, 2 for 1ghz, 3 for 800mhz, 4 for 400mhz, 5 for 200mhz, lastly 100mhz
- values are mV
- Use latest xan's app if you dont want to mess with commands - here
v2.0 UV alpha
- PMIC VS UV
- user configurable UV settings (default value = 0 for UVLF and UVHF) for conservative governor only
- /sys/devices/system/cpu/cpu0/cpufreq/conservative/UVLF_mV (for 100-800mhz)
- /sys/devices/system/cpu/cpu0/cpufreq/conservative/UVHF_mV (above 800mhz)
- for example # echo 50 > /sys/devices/system/cpu/cpu0/cpufreq/conservative/UVLF_mV (will UV by 50mV for 100-800mhz)
- for example # echo 25 > /sys/devices/system/cpu/cpu0/cpufreq/conservative/UVHF_mV (will UV by 25mV for 1-1.2ghz)
- If you do not want to mess with commands, use Xan's app for easy GUI control - here
- if you tried 100mV and still doesnt crash, use command method to set higher. my phone crashed when i set 125mV @ UVLF and 75mV @ UVHF
- Hz @ 500
- source patch attached
v1.0 UV alpha
- bug fixes
- optimization flag back to O3
v1.1 alpha
- added JFS
- compile optimization level to O2 from O3
- Mem config based from here - free 341mb
- release alpha patch source code
v1 alpha
- initial release
Oc to what? xD
Sent from my GT-I9000 using XDA App
thx will give it a try!
jaju123 said:
Oc to what? xD
Sent from my GT-I9000 using XDA App
Click to expand...
Click to collapse
- supported frequencies 100/200/400/800/1000/1200
look forward to hardcore incorporating this into his kernals.
REALLY interested in this.
I'll install this when it's further in the development stage.
Will you be adding features/themes to this rom or will it be OCing only?
INeedYourHelp said:
look forward to hardcore incorporating this into his kernals.
Click to expand...
Click to collapse
Me too..! (I have 14MFLOPS with the latest hardcore´s kernel.. and with OC it can be really interesting)
Aery said:
- supported frequencies 100/200/400/800/1000/1200
Click to expand...
Click to collapse
he was right, i forgot about frequencies until he asked
Thanks, tha OC King is back
Update: functional on Doc_Kalpik 5/6 roms
http://forum.xda-developers.com/showthread.php?t=821514
maybe you can share your knowledge with those guys, they said they want to port that that kernel to every modell
But good work =)
Impressive: Linpack 17.4 ,
Quardrant, no lagfix, 1150+
ups wrong link, i meant this one:
http://forum.xda-developers.com/showthread.php?t=821514
like i said, maybe you can share knowlegde about OC
now we need the memory hack (to get back 40MB of ram)
run quadrant with ext4 on all 3 partitions, score is 1774 (previously it ranges for 1400-1500 for lagfix kernel with memory hack)
DocRambone said:
Impressive: Linpack 17.4 ,
Quardrant, no lagfix, 1150+
Click to expand...
Click to collapse
nice numbers.. i hope more can test on the cwm as i dont have time to test all options.
Kryston said:
ups wrong link, i meant this one:
http://forum.xda-developers.com/showthread.php?t=821514
like i said, maybe you can share knowlegde about OC
Click to expand...
Click to collapse
i will share the source in a bit once i know its stable enough
zenkinz said:
now we need the memory hack (to get back 40MB of ram)
run quadrant with ext4 on all 3 partitions, score is 1774 (previously it ranges for 1400-1500 for lagfix kernel with memory hack)
Click to expand...
Click to collapse
some link will be nice as i just got back into the scene and didnt get much time to read all the posts
raspdeep said:
nice numbers.. i hope more can test on the cwm as i dont have time to test all options.
Click to expand...
Click to collapse
Yes, this makes V6 rom to kick a$$
YES YES hes back!
May I make a first request:
Consider basing this kernel on sztupy's work, making it fully compatible with ext4, jfs and his CWM.
AFAIU(as far as I understand? lol) JFS is not supported in this release?
raspdeep said:
some link will be nice as i just got back into the scene and didnt get much time to read all the posts
Click to expand...
Click to collapse
no prob.
here's the config of the memory and compilation option you can take reference to
http://forum.xda-developers.com/showthread.php?p=8850760#post8850760
credits to ykk_five and hardcore for their research in the memory tweak.
xan said:
YES YES hes back!
May I make a first request:
Consider basing this kernel on sztupy's work, making it fully compatible with ext4, jfs and his CWM.
AFAIU(as far as I understand? lol) JFS is not supported in this release?
Click to expand...
Click to collapse
not sure about jfs, but this works well on my set which was previously on sztupy's kernel (and the memory-tweaked kernel that's based on sztupy)

[KERNEL]17.02.2012 test-kernels [CM7/MIUI/CM9 preview] platypus;SECURITY,VOODOO,OC/UV

I'M A SUPPORTER OF BRINGING OFFICIAL ICS TO THE VIBRANT AND OTHER GALAXY S DEVICES!
> CLICK HERE FOR MORE INFORMATION <​
Click to expand...
Click to collapse
SGS edition of the Platypus Revolutions kernel
This Project is inactive/low activity for a longer period of time
Kernel
CM7 & MIUI only
NEO series
(since May 24th '11)
Do you want to discuss on this kernel, get the news on the current state of development, or test kernels even fresher than fresh ?
connect via webchat from your browser:
http://webchat.quakenet.org/
and join #platypus-kernel
(recommended)
Fire up your IRC client, and join via client
the server (for now is) : irc.quakenet.org
port : 6667
Channel : #platypus-kernel​
(thanks to Tk for the layout idea )
before you ask for any ETAs:
The first rule of CyanogenMod [and this project]: DO NOT ASK FOR AN ETA!
---------------------------------------------------------------------------------------
First step before install & kernel switch:
Always have this cleaning script on your internal SD card ready
If you're
- switching kernels,
- have issues with auto-rotation,
- the cam,
- bootloops
- want to remove init script
- recover from a failed overclock attempt
please give either:
- lippol94's updated cleaning script (apply via CWM recovery): http://www.multiupload.com/XFH1GCK4MB
or
- WiwiPouPou's SYSTEM CLEANER SCRIPT (also apply via CWM recovery): (http://forum.xda-developers.com/showpost.php?p=14805606&postcount=21739)
a try
the kernel already applies some cleaning steps during install but sometimes that's not enough ...
---------------------------------------------------------------------------------------
Introduction:
Hi guys,
this is my first modded kernel for the SGS (CM7/MIUI only)
I first needed to test it to make sure that it'll be stable & boot at the first place
so far it's very fast & responsive & smooth
This thread shall serve as the center for my testing kernels (stability & functionality-wise)
DISCLAIMER: the kernel (binary) and driver modules are provided as is. If problems occcur they most probably are from upstream and can be fixed with the newest version. Since I'm doing this in my free spare time as a hobby (quenching my thirst for tweaks & performance) updates will occur irregularly as time permits and I see fit (most probably when new features & bugfixes arrive). YOU are responsible for the actions that you take (such as over- or underclocking), etc. You agree that I can not be held liable for any potential damage that arises from your actions in combination with or the usage of this kernel and other related parts.
Kudos:
* Google, Andy Rubin & the whole Android crew
* Linus Torvalds & the kernel hackers for upstream Linux
* cyanogen & all the devs out there hacking on this
* Supercurio for enriching our media experience of this smartphone
* codeworkx, coolya, guiper, atinm - the whole teamhacksung|cmsgsteam crew and all other hackers working on CM7
* laststufo, hardcore, nikademus, existz and all the other kernel hackers on the SGS forum
* zen-kernel team for inspiration to create a kernel, too
* all other contributors (devs, users, etc.) who make this possible
The purpose of these kernels is extensive stability testing addressing the following sticking points:
- overall stability & functioning of the kernel and phone
- call drops, missed calls, etc.
- lags (suggestions for improvements are welcome)
- auto-rotation, sensors, etc.
- Voodoo Control Plus [any crashes ? compatibility problems ?]
- working on CM7 or MIUI ?
- scheduler, sound, video synchronisation & lags: Tap Tap Revenge 4 (especially at the beginning of songs)
- scheduler, sound, video synchronisation and any other issues: doodle dash (while shooting & sound activated)
- proper pmem memory layout & settings: proper functioning of Google Googles
for those who love SAUCE (Source):
old source:
ALL MY SAUCE for QUORRA KernalZ ^^
new source:
android_kernel_samsung_aries
(fork and 1:1 update to upstream kernel source - changes in different branches)
(latest changes sometimes might not be in [yet] but in the whole repo everything should be available)
current UV & OC stable values:
Recommended apps for OC/UV:
- Pimp my CPU (also available here on XDA for those who don't have a credit card, etc.)
- Xan's VoltageControl
on stability testing:
http://forum.xda-developers.com/showpost.php?p=13255871&postcount=5
(start with "Q: I'm new in OC/OV operations so please could you explain to me how to set it in the best way?")
the following OC/UV values are only applicable for kernels with the old OC/UV implementation (max. 1.3 GHz)
my current UV (undervolt) stable Values :
old OC/UV implementation (morfic, bilboa1/kang, TheEscapist):
1300000 0 (haven't tested 1.3 GHz much yet)
1200000 -25
1000000 -50
800000 -75
600000 -100
400000 -100
200000 -125
100000 -150
edit:
1200000 -50
1000000 -75
800000 -75
600000 -225
400000 -125
200000 -150
100000 -175
thanks jetcz !
new OC/UV implementation (morfic, bilboa1/kang, TheEscapist - Tk-Glitch):
Tk-Glitch said:
Note that these UV settings will be unstable on many devices. It's only informative.
1600 MHz - 1.500v / -> That's high and many devices will fail on this frequency. Find working UV for you if any.
1500 MHz - 1.500v / -> That's high and many devices will fail on this frequency. Find working UV for you if any.
1440 MHz - 1.475v / -75mv
1400 MHz - 1.450v / -75mv
1300 MHz - 1.400v / -75mv
1200 MHz - 1.350v / -75mv
1000 MHz - 1.250v / -50mv - If you have stability issues, try to let this one by default.
800 MHz - 1.200v / -75mv
400 MHz - 1.050v / -100mv
200 MHz - 0.950v / -150mv
100 MHz - 0.950v / -200mv - (can be very different between two devices)
More volts is not always equal to more stability. Try to add more UV (less volts) if the frequency you're trying to achieve is unstable.
Considering all phones will respond differently to OC/UV, to tweak the values to suit your device will be required.
By default, no overclock/undervolt is applied. You'll need to use one of the tools below to adjust the frequencies and voltages.
Note : Never ever use SetCPU with this kernel. You could encounter many stability problems like random reboots or bootloops.
Click to expand...
Click to collapse
3D performance and games:
recommended apps:
[root] Chainfire3D
1st backup post (kernels)
Kernels:
kernels are listed in descending order
older -> newer (newest at the bottom - for now)
NEO 09
Link: http://forum.xda-developers.com/showpost.php?p=15043885&postcount=1300
NEO 10
Link: http://forum.xda-developers.com/showpost.php?p=15141399&postcount=1395
BFS kernel
http://forum.xda-developers.com/showpost.php?p=15168476&postcount=1429
(semi-broken: superuser issues, some stability issues, etc.)
NEO 10 diagnostic kernel (logcat + printk)
http://forum.xda-developers.com/showpost.php?p=15461390&postcount=1573
NEO 11
http://forum.xda-developers.com/showpost.php?p=15626582&postcount=1638
NEO 09-redux_V5
[Gingerbread bootloader support + access to external (micro)SD - no hourly battery drain anymore !]
(changelog now available - 10.08.2011)
http://forum.xda-developers.com/showpost.php?p=16285541&postcount=1844
NEO 16 codename: Beast
http://forum.xda-developers.com/showpost.php?p=16553178&postcount=2235
NEO 17 -r12 codename: Butterfly
http://forum.xda-developers.com/showpost.php?p=17339717&postcount=2986
NEO 17 -r13 codename: Butterfly
http://forum.xda-developers.com/showpost.php?p=17649946&postcount=3177
NEO 17 -r14 codename: Butterfly
http://forum.xda-developers.com/showpost.php?p=17656422&postcount=3188
for those searching kernels:
here are the posts of the 2 latest kernels:
* http://forum.xda-developers.com/showthread.php?t=1053304&page=365 [2.6.37 kernel-base, Neo XX]
* http://forum.xda-developers.com/showpost.php?p=17893986&postcount=3529 [Neo 17 r17 + BLN (voodoo color)]
edit:
* http://forum.xda-developers.com/showpost.php?p=18225623&postcount=3810 [Neo 17 r18 [still tagged 16] + voodoo color + BLN]
edit2:
even newer:
NEO 17 -r18 codename: Butterfly
http://forum.xda-developers.com/showpost.php?p=18268484&postcount=3865
NEO 18-update1 codename: funky fish
NEO XX.1-update1 codename: mighty rhino
http://forum.xda-developers.com/showpost.php?p=19343342&postcount=4200
ALL USERS MUST UPDATE (this fixes yet another potential data loss trigger)
CM9/ICS (Android 4.0.x) preview - NEO 3.0.8 alpha3/4
http://forum.xda-developers.com/showpost.php?p=20861762&postcount=4677
CM9/ICS (Android 4.0.x) preview - NEO 3.0.8 alpha5
(deep idle v2 enabled by default, upstream GPIO fixes) --> probably deep idle v2 not properly working when enabled that way
http://forum.xda-developers.com/showpost.php?p=20882024&postcount=4715
CM9/ICS (Android 4.0.x) preview - NEO 3.0.8 alpha6
(deep idle v2 disabled by default, some additional RAM testing [not user & system visible - additional stuff once no regressions] --> deep idle2 can be enabled via nstools)
http://forum.xda-developers.com/showpost.php?p=20957256&postcount=4757
2nd backup post (Changelogs)
Changelog list:
obsolete right now
3rd backup post (modems list)
modems:
Description:
Modems play a crucial role in how much battery drains in standy.
e.g. if you have a good signal area and the modem still has high
"Time without a signal" indicator under Cell standby you still will get bad standby time
make sure you have little to no "Time without a signal" in Cell standby
there also somewhat seems to be a connection between "Time without a signal" and high "Android OS" number in battery use (!)
Following modems are only compatible with new radio (modem) partition layout:
radio-cm-7-GalaxyS-JVP-signed.zip (4.29 MB)
md5sum: fb38dbf82daf0720fd2328f5f649013e radio-cm-7-GalaxyS-JVP-signed.zip
For more modems & bootloaders please go to siky_dude's Modem Thread:
[CM7/MIUI][28.08.11] Modems + Bootloaders(MD5)
4th backup post (results)
Results & FAQ/Documentation
Results:
(04/27/2011) Results for platypus-kernel_20110427_18_quorra_r1:
- broken auto-rotation & sensors for some [insert ROM (CM7 ? MIUI ?)]
- stable
(05/03/2011) Results for CM7_SGS_platypus-kernel_20110503_17_quorra-r4_exp
- high battery drain, either due to kernel config or optimization flags, fixed with >= quorra r5 (2nd update)
FAQ / Documentation
@bootloop / boot post victims ^^
Hi guys,
could you please try to replace the existing kernel on your MIUI or CM7 nightly CWM-Package with my kernel, modules and its scripts ?
then install that updated package (with the new kernel, modules and scripts)
after that all should work
the bootloops seem to be an issue with bml_over_mtd (broken sectors on the SSD on your phone)
I'll investigate this and see if anything needs to be rewritten and/or updated in that regard
Thanks !
Overclocking / Undervolting:
Q: I'm new in OC/OV operations so please could you explain to me how to set it in the best way?
A: start with -50 mV (delta from default value) other values probably are too low
my testing includes:
- Angry Birds Rio (several missions)
- Gun Bros (for some time)
- mp3 playback, (flac playback - optional)
- surfing the web via browser, opening up bit.ly links from cmsgsteam twitter feed
- watching youtube video
- watching video via rockplayer lite or mobo video player
- running benchmarks (Smartbench 2011, quadrant standard, an3dbenchXL, anTutuBench)
- Labyrinth Lite (for gravity sensor), auto-rotation (also for sensor)
when 1 GHz (1,2 or 1,3) is OK - go lower with undervolt value (e.g. -75 mV)
after it gets un-stable - go back to last known stable value
then you can limit max frequency to lower one, e.g. 800 MHz
and repeat testing for that frequency
for more info: checkout shaolin95's Mini Overclocking Guide:
Link: http://forum.xda-developers.com/showthread.php?p=12910471#post12910471
LED Support FAQ
Q: Do LED notification require an app, such as BLN, etc ?
A: No. It uses Android's and Cyanogen settings, other apps are not required, although some that are designed for regular LEDs may work.
Q: How to I turn off LED notifications, scheduled or/and complete turn off?
A: Use Cyanogen's Quiet Hours feature (settings>cyanogen>sound>quiet hours) and check "Dim the LEDs during quiet hours" (in reality it will turn them off on the SGS). If you schedule a complete day, then LED notifications will be off all the time.
Q: How do I setup per app, find other LED settings etc?
A: Settings>cyanogen>interface>LED notifications
Q: What to do with LED color settings?
A: We have only one color, so that doesn't work. Use Green as default setting. Some non-bright colors turn off notification, as it's the equivalent as diming LEDs (note that on real LEDs if you dim them too much they look like off too anyway, the difference is that it's gradual. On the SGS the LEDs can be only on or off, not gradual)
Q: How can I troubleshot my system, I can use ADB but...
A: adb logcat | grep lights (on linux) will show you Android requests to turn LED on or off. "status" tells you what we decide will be interpreted as "turn LED on" (1= on, 0 = off)
adb shell cat /proc/kmsg for live view (or adb shell dmesg if you're using adb after the issues occurs - careful the backlog is limited in size so don't be too slow)
notify_led_on and notify_led_off are requests to the kernel to turn LED on or off.
touch key write/read errors (cypress) are non-fatal failures to ask the touch key to do something (eg lit up the LED), when the hardware goes crazy or there's a logical error in the code (can be both)
touch key recovery routine or "stopped responding" are either hardware errors, either a logical error where the driver would try to write something the touchkey doesnt understand. in some occasion lock&unlock fix those as a work around, of course a permanent fix is required
Voodoo Color settings:
Q: I don't have that nice ice-ish white color on my screen anymore - you suck !
Q: my screen looks like someone pissed on the screen - you suck !
(sorry for the language ^^)
A: I love you too ^^
download Voodoo Control or Voodoo Control Plus
Screen RGB multipliers:
- Red: 321*
- Green: 321*
- Blue: 429*
Screen v1 gamma hack:
- use Alt. settings
- or if you prefer others - use: "Reset to 2.3.3 defaults", "Punchy settings" (punchy could lead to a great screen while locking the screen and having "screen off" animation disabled)
other recommended settings:
Also a lil tip for people who use voodoo color!
1 )Color Profiles: Voodoo Profile V1
2 ) Screen v1 gamma hack :
- 50 red
- 53 green
- 44 blue
3 ) SRB multipliers:
Red ="2300875360"
Green ="2300875360"
Blue ="2709919680"
With those adjustment, black colors are BLACK and white colors are WHITE. Everyone should try this.
Click to expand...
Click to collapse
SGS CM7 nightlies wiki
http://sgscm7nightlies.pbworks.com/w/page/41483487/FrontPage
Android OS bug, :
(thanks to ceriko ! and his awesome guide for DarkyROM 10.1)
If your battery drains very fast and your battery stats mentions Android OS above 10%, often between 40 and 60%, sometimes more, this is the best to do as far as I know:
- Remove the 2/3 system files as per the beginning part of this guideguide about batterie issues.
- Install WatchDog and open (I set it to "moderate", then I close it, that's all), this app will warn you whenever an app or a process miss-behaves by draining the battery excessively. It will not fix it but just flag it and you will see a notification.
- Reboot usually stops the drain for a while until it naturally comes back, so reboot whenever you see Android OS above 10% and rising or after you see WatchDog mentioning "Suspend" process using too much battery (the suspend process hanging is the Android OS bug).
- Some apps trigger it, most common are Gameloft games (blame Samsung, not the games/apps). No need to use apps or games for this drain to happen, it also happens straight after boot once phone has been fully charged.
This bug can not be fixed by anyone but Samsung. Some never see it, some will experience it everyday no matters what they do... It's just annoying and unfair but that's the same on all Gingerbread releases by Samsung (JVK, JVB, JVO, JVH). Apparently even the SGS2 has this...
screenstate scaling aka my governor won't change after screen locked:
So what is this all about ?
it's an init script that is put in to /system/etc/init.d
and switches between the configured governors in the script
depending on whether the screen is on (AWAKE_GOVERNOR) or off (SLEEP_GOVERNOR)
in most cases your phone is off - in that case it would be good to use a governor which doesn't fire up the cpu frequency too fast since you don't need it (no GUI, smooth scrolling, etc. needed while the screen is off - lol),
so conservative governor is set
when using the phone (screen on) it really depends on what you want to do: e.g. latency & smoothness is crucial: try smartass2, smartass, ondemand;
you're mainly browsing & reading stuff: try ondemandb, conservative (the screen is already burning enough battery so you don't need another component burning yet more)
only use one governor at a time
e.g.
AWAKE_GOVERNOR
# AWAKE_GOVERNOR
# AWAKE_GOVERNOR
SLEEP_GOVERNOR
# SLEEP_GOVERNOR
# SLEEP_GOVERNOR
that means lines with "#" are commented out and not used by the script
e.g.
# AWAKE_GOVERNOR
AWAKE_GOVERNOR
# AWAKE_GOVERNOR
SLEEP_GOVERNOR
# SLEEP_GOVERNOR
# SLEEP_GOVERNOR
also would work (intentionally not filled in any governors)
seriously speaking i never got any issues wid any kernel so far. maybe wid two face there was but somehow widout my efforts it got resolved
Why a new thread?
It's better in a new thread..The other one is getting chaotic Good work Zach Flashing asap
doccrow said:
seriously speaking i never got any issues wid any kernel so far. maybe wid two face there was but somehow widout my efforts it got resolved
Click to expand...
Click to collapse
thanks for your feedback
sideeffects said:
Why a new thread?
Click to expand...
Click to collapse
only test releases here
I want to make sure that my kernels achieve maximum reliability and stability for everyone
thanks !
Wow..you guys develop faster kernels then i can flash.
I stay on Alice if you don't minded
well for the first time ever auto rotation isn't working for me. even after a hard reboot. i'm going to try using lippol's script first then reflashing.
EDIT: still no auto rotation. well i'll still continue testing since i hardly use auto rotate. but i guess that means no doodle jump for me
Proximity sensor isn't working either but I'm guessing that's normal when auto rotation doesn't work.
No call dropped or reboot in a 4min outgoing call.
Definitely feels snappier than Alice though.
I have to agree with runedrune :\
No sensor is working and the lockscreen flicking problem stays.
I didn't try Alice but smoothness is the same as Whatitsname.
Hope this will help
no lockscreen flickering here... and autorotation fully works.
drowne said:
no lockscreen flickering here... and autorotation fully works.
Click to expand...
Click to collapse
cm7 or miui?
miui, rc6b.
Well my phone ran out of battery and turned off. When I turned it on autorotation was working again. Lol.
Sent from my GT-I9000 using XDA App
Dear Zach!
Has this kernel all improvements of ur stable releases?
@all:
thanks for your feedback so far !
alerems said:
Dear Zach!
Has this kernel all improvements of ur stable releases?
Click to expand...
Click to collapse
Hi alerems,
no - it's a kernel with a new base (from scratch - bilboa1's current kernel)
and I will be adding new features step-by-step
for the current changes/differences from bilboa1's kerne (it's not much right now) please take at look at post #3
thanks !
Quorra r2 is out
this test-kernel needs extensive testing:
The purpose of these kernels is extensive stability testing addressing the following sticking points:
- overall stability & functioning of the kernel and phone
- call drops, missed calls, etc.
- lags (suggestions for improvements are welcome)
- auto-rotation, sensors, etc.
- Voodoo Control Plus [any crashes ? compatibility problems ?]
- working on CM7 or MIUI ?
Click to expand...
Click to collapse
many thanks in advance !
Flashing now. But its 5am so feedback will have to wait for when I wake up. Yes I've been awake all night. Lol.
Sent from my GT-I9000 using XDA App

[KERNEL] [25/9] [LP][ KK] Carbon Kernel R5

CARBON KERNEL
Code:
#include <std_disclaimer.h>
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this KERNEL
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*
*/
R1
Bricked_hotplug
custom governors (conservative , ondemandplus , intelliactive, smartass, optimax, wheatley, n more )
new power management mode PowerSuspend for deep sleep fixes
frandom add
kernel mode NEON
LCD KCAL Color Calibration
Double Tap 2 Wake
Sweep 2 Wake+Sweep 2 Sleep
Multi Core Power Saving
Faux Sound 3.8
RAM management n optimization
Underclock upto 96 Mhz
dynamic fsync
simple algorithm for GPU from faux123
latest Linaro 5.1.1 (UBER) used for the build with full -o3 optimizations
R2
msm_hotplug and brick_hotplug (msm_hotplug enabled by default)
added state notifier
added USB fast charging
GPU overclock upload 650 Mhz
GPU underclocked to 100 Mhz
Franco Thermals added back with fixes
added governors
abyssplugv2
adaptive
badass
dancedance
darkness
hyper
intelliactive
intellimm
lazy
lionheart
nightmare
ondemandplus
optimax
pegasusq
slim
smartmax
smartmax_eps
uberdemand
wheatly
I/O schedulers added
BFQ
SIO
ZEN
FIOPS
VR
TRIPNDROID
Multicore powersaving enabled to aggressive by default
Added 10 new TCP cong
Used SaberMod 6.0 with -O3 optimizations
and much more check my github for more details
https://github.com/tarunkapadia93/android_kernel_xiaomi_armani/tree/cm-12.1
R3 :
compatible with CM R7 n Nameless R3 n the other lastest builds (that means no SystemUI FC any more )
based of caf kernels by @rebelos
few fixes
led notification light fixed
R4 BETA FINAL:
back to bricked hotplug with proper tuning this time
rebased of armani-dev kernel
video recording issue solved
dt2w & s2s+s2w added
new governor
same list of i/o
gpu max clock too 533Mhz (i dont see a real good scaling at 650 Mhz i m working on this part so pls wait)
R5:
Compiled with Linaro 4.9.4 Cortex A7 (Thanx to Christopher83)
O3 Optimizations
MultiROM support aka Kexec Patched
Works with Both KK n LP Roms
Hotplugs
Intelli_plug
Bricked_Hotplug aka MSM_MPDecision
MSM_Hotplug
Alucard_Hotplug
Governors
Intellidemand
Intellimm
Alucard
Hyper
Impulse
Pegasusq
Nightmare
Intelliactive
Yankactive
Smartmax
Zzmove
I/O Sched
BFQ
FIOPS
SIO
Zen
Vr
TripNdroid
CPU Overclock to 1.7Ghz
GPU Overclock to 590 Mhz
Double Tap 2 Wake
Simple Thermal Driver by @SultaXDA
Dynamic Fsync
Kcal Updates
Faux Sound
Much more
KNOWN BUGS :
LED NOT BLINKING SOMETIMES N STAYS SOLID
How to Install :
Boot into recovery
Wipe cache
Wipe dalvik cache
Flash kernel
Reboot and enjoy!
*use Kernel auditor(best) or Aero Kernel Control (full native sysfs best if you know what you are doing) to activate or tweak with kernel settings
## NOTE ##
After Flashing any Kernel Or Rom let you Phone Cool down to normal temp before you start using it. Pls dont complain the phone is heating n lagging. Flashing n things have heavy CPU usage so if will Heat.
Disable "Enable per-app Profile" if you are running benchmarks like Antutu
Downloads
Carbon kernel downloads
CARBON_KERNEL_LP_KK_25092015_1734.zip - 8.29 MB
its can be flashed on all aosp and cm based roms​
Thanx to everyone with helped me all the dev who i cherry-picked from thanx alot :angel:
XDA:DevDB Information
[KERNEL] [25/9] [LP][ KK] Carbon Kernel R5, Kernel for the Xiaomi Redmi 1S
Contributors
Tarun93, fellow kernel dev (kD a.k.a thewisenerd, zeroblade1984, LuffyXDA, armani-dev )
Source Code: https://github.com/tarunkapadia93/android_kernel_xiaomi_armani
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: R5
Stable Release Date: 2015-09-25
Current Beta Version: R4 BETA Final
Beta Release Date: 2015-06-19
Created 2015-01-23
Last Updated 2015-09-25
Setting n tweaks
daily use settings
governor = alucard
i/o scheduler = BFQ
cpu = 300 min 1689 max
Alucard Hotplug
gpu mac clk = 450
DT2W will drain battery so think before you tweak around with the kernel n end up telling me your kernel is giving me **** Battery packup
Faux Sound
dont complaint if sound distorts at loud profile
loud profile is mean for full size cans (headphones) n similar things where you need a little more power
dont switch it on if you are using IEM (in-ear earphones) or normal earphones
i normally keep a setting of
digital output gain = 3
analog output gain=5
Hope that this clears some questions n helps you guys :fingers-crossed:
msm_mpdecision
show-p1984 said:
What is msm_thermal?
What is msm_mpdecision?
100% kernel based multi core decision! (should cpu1/2/3 be online or not?)
This replaces your /system/bin/mpdecision binary which is renamed by the installer to mpdecision_bck.
Check /sys/kernel/msm_mpdecision/conf/ for the configuration.
startdelay = time until mpdecision starts doing it's magic
delay = time between checks
pause = if something else plugs in the cpu, fall asleep for 10000ms
max_cpus_online_susp = if the screen is off, how many core should be active when the screen is off
enabled = enable(1) or disable(0) mpdecision. This does not affect max_cpus_online_susp
min_cpus = min cpus to be online, cannot be < 1. Default: 1
max_cpus = max cpus to be online, cannot be > 4. (if you set it to 2 and min_cpus to 1 you will basically have a dualcore) Default: 4
idle_freq = a value against that will be checked if a core +/- is requested. (300000)
If cpu0 is below that value and a core up of another cpu is requested, nothing will happen.
If any other cpu is above that value and a core down of that cpu is requested, nothing will happen. (otherwise it would now put down that cpu even though it is still working, which isn't what we want)
Hot plug thresholds (aka now it gets 'complicated')
This small formula calculates which value will be used: (number_of_cpus_online - 1) * 2
The result of this formula will be the nwns_threshold where a new cpu is hotplugged.
The result of this formula + 1 will be the nwns_threshold where a cpu is unplugged.
nwns_threshold_x = runqueue threshold, if this is reached cpuX will be hot/unplugged
twts_threshold_x = time threshold, this amount of time must have passed for the related action to be taken (hot/unplug)
Example:
One cpu is online.
(1 - 1) * 2 = 0 ergo:
nwns_threshold_0 = cpu1 will be hotplugged at this value
((1 - 1) * 2) + 1 = 1
nwns_threshold_1 = cpu0 will be unplugged at this value
Since we can't unplug cpu0 this is '0'.
Two cpus are online.
(2 - 1) * 2 = 2 ergo:
nwns_threshold_2 = cpu2 will be hotplugged at this value
((2 - 1) * 2) + 1 = 3
nwns_threshold_3 = cpu1 will be unplugged at this value
etc...
Some values are:
NwNs_Threshold: 12, 0, 25, 20, 32, 28, 0, 35
TwTs_Threshold: 140, 0, 140, 190, 140, 190, 0, 190
Where the position and function of the number equals the result of the above explained formula.
(all times are in ms)
If you want to see the mpdecision magic happening:
Code:
adb shell
cat /proc/kmsg | grep 'MPDEC'
mpdecision's input event boost, aka project butter
This will boost your min cpu speed if you touch the screen or press a button and gives you full control.
In those events the min cpu freq will be risen to a predefined value (look below) on every online cpu. This boosts overall reaction times and smoothness a lot. (works similar to the qcom mpdecision binary)
Configuration files:
[email protected]:/sys/kernel/msm_mpdecision/conf # ls | grep boost
boost_enabled
boost_freqs
boost_time
All of them work like the usual sysfs files, except one special case:
boost_freqs will list all frequencies from cpu 0 to cpu x. Cpu 3 and any following cpu will share one frequency.
To change those frequencies echo the cpu number + the frequency in khz.
Example: To change the boost freq of cpu3 (and 4,5,6,7,8, etc) the echo would look as follows:
Code:
echo "3 960000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
for cpu0:
Code:
echo "0 960000" > /sys/kernel/msm_mpdecision/conf/boost_freqs
Defaults:
Code:
cat /sys/kernel/msm_mpdecision/conf/boost_freqs
960000
960000
729600
576000
Why do I have no WLAN?
Due to this kernels very high optimization settings it is too big for our boot.img with WLAN included into the kernel, so it is built as a module. That means it needs to be inserted into the kernel upon boot up, which needs to be automated for maximum comfort.
​
Click to expand...
Click to collapse
enabling n disabling a hotplug is simple
1 = enabled
0=disabled
to disabling a hotplug here is a example via terminal
Code:
echo "0" /sys/kernel/msm_mpdecision/conf/enabled
you can use third party apps too to make it a macro
i like aero kernel control available in the playstore
goto misc settings
tap "+" sign
navigate to the path you want n set the parameter as a macro
msm_hotplug
enabling n disabling msm_hotplug
/sys/module/msm_hotplug/enabled
other parameters
/sys/module/msm_hotplug/
msm_mpdecision
enabling n disabling the msm_mpdecision
/sys/kernel/msm_mpdecision/conf/enabled
other parameters
/sys/kernel/msm_mpdecision/conf/
intelli_plug
enabling n disabling the intelli_plug
/sys/module/intelli_plug/parameters/intell_plug_active
other parameters
/sys/module/intelli_plug/parameters/
MAKE SURE YOU DISABLE THE OTHER HOTPLUGS BEFORE YOU ENABLE ONE
if you enable intelli_plug make sure bricked_hotplug and msm_hotplug are disabled
if you enable msm_hotplug make sure bricked_hotplug n intelli_plug are disabled
bricked_hotplug is enabled by default as i feel its the best daily driver for max sot n battery life without compromising on performance
The zip adds module insertion to your ramdisk, if that fails for some reason the wlan module cannot be inserted.
if
Code:
adb shell lsmod
doesn't show this:
Code:
tun 14701 0 - Live 0x00000000
cifs 275399 0 - Live 0x00000000
bcmdhd 2964650 0 - Live 0x00000000 (C)
Then something went horribly wrong.
Chances are that I broke it and this should never happen.
One post in the issue tracker will probably fix it with the next release
You can restore wlan for your current bootup by executing:
Code:
adb shell
su
insmod /system/lib/modules/bcmdhd.ko
Thanks. Downloading. Gonna try asap. Will leave feedback.
bhu1 said:
Thanks. Downloading. Gonna try asap. Will leave feedback.
Click to expand...
Click to collapse
which rom are you trying it out on ??? pls mention the ROM if you can guys
Tarun93 said:
which rom are you trying it out on ??? pls mention the ROM if you can guys
Click to expand...
Click to collapse
Flashed it on cm11 RC16 for now, everything seems swift and smooth for now. Gonna leave more feedback soon on CM11 RC16.
Tomorrow I'll move to carbon RC6, will provide more feedback then.
Now, I'm gonna go and play around with the settings. Heh.
---------- Post added 24th January 2015 at 12:07 AM ---------- Previous post was 23rd January 2015 at 11:35 PM ----------
So, I played around with some settings and I found a bug. Sweep2Sleep (Also Sweep2Wake) isn't properly implemented, neither is it working nor are its settings proper. https://app.box.com/s/q58sztnn0y8eizuu0go99jlizyngnn3m
Edit : So, I tried the wake settings in trickster mod and when I selected s2w+s2s then s2s is working but s2w is just not working, I tried swiping in many ways, many many times but Its just not working. Also, if u select just s2s then it just reverts back to s2w+s2s probably because s2s isn't working.
I did a standard test I do with all kernels that I try (I have tried all the latest versions of all kernels that are currently available), I close every app that is running in background using greenify, CPU is set to 1.6ghz - 300 MHz, intelliplug (eco mode disabled in urs, no other has eco mode, I use mp-decision on those which doesn't have intelliplug), on demand governer, GPU set at Max (550 on urs and beast kernel and 450 on others) and I play a 720p hevc video, on ur kernel i was getting the smoothest playback among all (It was lagging for the least amount of time, same lag times as beast kernel, so might be just cause of OCd GPU). But in any case, currently this kernel is the best performing and feature rich kernel available. Period.
I'll try other settings (especially eco mode), and will leave further feedback soon.
Thanks, I await further updates. Loving the increasing amount of kernels on our forums.
bhu1 said:
Flashed it on cm11 RC16 for now, everything seems swift and smooth for now. Gonna leave more feedback soon on CM11 RC16.
Tomorrow I'll move to carbon RC6, will provide more feedback then.
Now, I'm gonna go and play around with the settings. Heh.
---------- Post added 24th January 2015 at 12:07 AM ---------- Previous post was 23rd January 2015 at 11:35 PM ----------
So, I played around with some settings and I found a bug. Sweep2Sleep (Also Sweep2Wake) isn't properly implemented, neither is it working nor are its settings proper. https://app.box.com/s/q58sztnn0y8eizuu0go99jlizyngnn3m
Edit : So, I tried the wake settings in trickster mod and when I selected s2w+s2s then s2s is working but s2w is just not working, I tried swiping in many ways, many many times but Its just not working. Also, if u select just s2s then it just reverts back to s2w+s2s probably because s2s isn't working.
I did a standard test I do with all kernels that I try (I have tried all the latest versions of all kernels that are currently available), I close every app that is running in background using greenify, CPU is set to 1.6ghz - 300 MHz, intelliplug (eco mode disabled in urs, no other has eco mode, I use mp-decision on those which doesn't have intelliplug), on demand governer, GPU set at Max (550 on urs and beast kernel and 450 on others) and I play a 720p hevc video, on ur kernel i was getting the smoothest playback among all (It was lagging for the least amount of time, same lag times as beast kernel, so might be just cause of OCd GPU). But in any case, currently this kernel is the best performing and feature rich kernel available. Period.
I'll try other settings (especially eco mode), and will leave further feedback soon.
Thanks, I await further updates. Loving the increasing amount of kernels on our forums.
Click to expand...
Click to collapse
Hey plz comment on the battery life, SOT also.... Thnx
bhu1 said:
So, I played around with some settings and I found a bug. Sweep2Sleep (Also Sweep2Wake) isn't properly implemented, neither is it working nor are its settings proper. https://app.box.com/s/q58sztnn0y8eizuu0go99jlizyngnn3m
Edit : So, I tried the wake settings in trickster mod and when I selected s2w+s2s then s2s is working but s2w is just not working, I tried swiping in many ways, many many times but Its just not working. Also, if u select just s2s then it just reverts back to s2w+s2s probably because s2s isn't working.
Click to expand...
Click to collapse
This is what happens when you don't read the phuxking documentation.
thewisenerd said:
This is what happens when you don't read the phuxking documentation.
Click to expand...
Click to collapse
What do u mean by 'Documentation' ? If u inferring that I didn't read the OP, then I'll inform that I properly read it before flashing the kernel, it says nothing about this. I did notice that the feature list says 'Sleep 2 Sleep' instead of 'Sweep 2 Sleep' but nothing else. What am I missing here, buddy ?
bhu1 said:
What do u mean by 'Documentation' ? If u inferring that I didn't read the OP, then I'll inform that I properly read it before flashing the kernel, it says nothing about this. I did notice that the feature list says 'Sleep 2 Sleep' instead of 'Sweep 2 Sleep' but nothing else. What am I missing here, buddy ?
Click to expand...
Click to collapse
S2w work from bottom left to right,while s2s work from bottom right to left
press thanks if i helped you
Hsmetric181 said:
S2w work from bottom left to right,while s2s work from bottom right to left
press thanks if i helped you
Click to expand...
Click to collapse
I know that, S2W isn't working in any case.
Great Work.
Using this kernel currently with CM R16, everything is working fine.
Battery life is excellent for me. After nearly 15h - there is still 72% battery left. Usage: Screen on: 30 min, Wifi, Bluetooth always enabled.
Only thing so far is that Netflix is not working, but this might be totally Rom related, as it was also not working with the orginal kernel.
bhu1 said:
I know that, S2W isn't working in any case.
Click to expand...
Click to collapse
only s2w wouldnt work s2s n s2w both with be enable together
Thanks for this kernel tarun...really a great one...every thing works awesome...just by using trickstar mod...and this kernel is working for me on PAC latest nitly...just have to flash kernel comparability patch updated!!! Lol
little warm
is this only for me or not, but i feel little warm when using this kernel on carbon. and thats make battery reduce faster.
justian said:
is this only for me or not, but i feel little warm when using this kernel on carbon. and thats make battery reduce faster.
Click to expand...
Click to collapse
fir the first start yes it is let it cool down for a while n you are good to go it wont heat there after
is this working on Mokee 4.4.4 Nightly?
I cant turn the zram off. If i turn it off and save it emidiately gets turned on again. Am i doing something wrong?
everything is working for me guys.
bhu1 said:
I know that, S2W isn't working in any case.
Click to expand...
Click to collapse
S2W is also working properly for me. I am on CM11 RC16.
Tarun93 please mention the settings for best battery and best performance separately please coz I play games a lot and I want to get max battery when I'm not gaming .

[Kernel][August 9] Electroactive Kernel 2.52 (Lollipop) Electroactive 3.10 (AndroidM)

{
"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"
}
+Electroactive Kernel
FEATURES
Overclocking/underclocking options
Electroactive default CPU governor with dual-phase frequency, boost_sampling factor, and boostpulse
Many other popular CPU governors including UberDemand(Cl3Kener), Badass(Dennis Rassman), Impulse(neobuddy89), and much more.
MSM MP-Decision Hotplug
Full KCAL support
Bleeding-edge CAF updates
Full Gamma reverse engineering support
Synapse + script & runparts built-in
Optional improved Cpu optimization level 'l2' and bus overclocking
Power Aware CPU Scheduling
Partial-Resume
Full voltage control
Wake gestures
Kernel Samepage Merging
CPU Deferred Timers
Msm-Thermal-X thermal driver
Optional sweep2wake and doubletap2wake
Optional USB fastcharge
Optional backlight dimmer
Kernel compressed with LZ4-r127, GZIP for faster boot times
Several I/O controls with ROW as default
Optional cooler color
Advanced color and gamma control
Power-efficient workqueues ported from 3.18 mainstream - improves power efficiency
3.4.x updates and fixes from upstream
Build with optimized Toolchains
Use Android device as USB keyboard/mouse
Full -O3 & graphite and -pthread support
Optional max screen off frequency at 1190 MHz
Charge light support
Optional disable fsync
Enhanced TCP with wifi and network enhancements
Optimized AES, SHA1, and RWSEM
OTG flash drive support FAT32
NTFS r/w, CIFS, and exFAT support
Fastest ZRam backported from Linux 3.18 kernel
Enhanced LMK
Tuned virtual memory
MultiROM support
init.d support
/dev/frandom support
DriveDroid compatible
electroactive.conf support
F2FS support
Linaro enhancements
Thermal throttling control: elexcool, extracool, and stockcool options
Compatible with TricksterMOD, Device Control, Kernel Tweaker, Franco Display Control and FauxSound Control, and Synapse Kernel manager
Vibration strength tunable
FSTRIM built-in kernel
NOTES & INFORMATION
Electroactive governor
The Electroactive CPU governor has been created to get some of the best balances between battery life and performance that you will see on a device. It is a hybrid class governor, using a unique way to merge the best of both interactive and ondemand. It includes some extra additions and enhancements to be more battery saving than interactive governor and some boost tunes and additions that allow better power management and performance in games as well as better power saving when in normal use. CPU boost, graphics boost, fast_start deep_sleep and detection features are built in as well as 300 MHz clock speed in suspend. This governor performs extremely well in games, normal use, battery performance, and just about everything. Some tunables available in the governor:
boostpulse: Immediately boost speed of all CPUs to hispeed_freq for min_sample_time, after which speeds are allowed to drop below hispeed_freq according to load as usual.
boosted_sampling_down_factor: This custom made parameter's set default setting will give several 0.4 second bursts of full throttle CPU to programs. It's about the time that user interface has to produce some meaningful response to your input so to feel smooth, especially while gaming. Besides better responsiveness, this setting will also give better overall speed to many programs which often interchange high CPU demand with IO waits and then suffer because the CPU governor too eagerly throttled down the frequency during those waits.
default_freq_boost_time: this is the default time that the CPU will spend in 'boost mode' before scaling down to normal frequencies, such as when in normal use.
ui_sampling_rate: when you touch the screen, the sampling rate changes temporarily to whatever you set it to.
down_differential: After spending sampling_down_factor*sampling_rate micro seconds at maximum frequency on high load, governor samples the load again to calculate an approximate targeted frequency to scale-down-to which should not trigger up_threshold in the next sample. (Triggering up threshold may cause jumping to max frequency again). Max_load_freq is checked against (up_threshold - down_differential) * current frequency. If found to be smaller, CPU is scaled down to a target frequency as described above. Down_differential also act as the factor to prevent aggressive scale down. Higher value of down_differential corresponds to delayed scaling down.
two_phase_frequency: Two-phase is a battery saving technique where even during max cpu frequencies, there are still gaps of inactivity so instead of running @ max frequency all the time, the two phase will alternate between busy/idle phase. Accepts four frequency values separated by comma, for cores 0, 1, 2, and 3.
input_event_min_freq: takes four values separated by comma. These are the input boost frequencies for cores 0, 1, 2, and 3.
input_event_timeout: this is the length of time in milliseconds that the input boost will be active (default 500). Setting this to 0 disables input boosting.
powersave_bias: this parameter takes a value between 0 to 1000. It defines the percentage (times 10) value of the target frequency that will be shaved off of the target. For example, when set to 100 -- 10%, when ondemand governor would have targeted 1000 MHz, it will target 1000 MHz - (10% of 1000 MHz) = 900 MHz instead. This is set to 0 (disabled) by default. When AMD frequency sensitivity powersave bias driver -- drivers/cpufreq/amd_freq_sensitivity.c is loaded, this parameter defines the workload frequency sensitivity threshold in which a lower frequency is chosen instead of ondemand governor's original target. The frequency sensitivity is a hardware reported in a value between 0 to 100% that tells software how the performance of the workload running on a CPU will change when frequency changes.
ignore_nice_load: this parameter takes a value of '0' or '1'. When set to '0' (default), all processes are counted towards the 'cpu utilisation' value. When it's set to '1', the processes that are run with a 'nice' value will not count aka ignored in the overall usage calculation. This is useful if you are running a CPU intensive calculation that you do not care how long it takes to complete as you can 'nice' it and prevent it from taking part in the deciding process of whether to increase your CPU frequency.
freq_for_responsiveness: up threshold considered for sampling load is up_threshold_at_min_freq. Also during the part where CPU is at maximum load frequency, governor need to find the optimal frequency as the next frequency - which should not trigger up_threshold in the next sampling. When such a frequency_next is found to be a) less than freq_for_responsiveness b) will not trigger down_threshold in the next sample, then the optimal frequency is set to freq_for_responsiveness.
Electroactive Configuration File
Kernel defaults are used to build a configuration file, based off of elementalx's original config file. The config file is found at /etc/electroactive.conf. You can edit this file to change kernel settings. Whatever is set in this file will take effect when the device is booted (unless other scripts or apps interfere).
If settings are not sticking:
Make sure you have busybox installed correctly and updated to the latest version
Make sure the file permissions for /sbin/electroactive.sh are set to execute.
Check to see if any scripts or apps are interfering with your settings.
To execute the script file:
Install Terminal Emulator from the Play Store if you haven't already and open it.
In the emulator type: "su" and press enter
Type: "cd sbin" and press enter
Type: "sh electroactive.sh" and press enter
The values should now be applied, with no need to reboot
As always, you can also edit the values using the Synapse app or reboot to apply.
fsync
fsync can be disabled if you're looking for the last ounce of performance. If you disable it however there is a slight risk of data loss if your phone shuts off unexpectedly before the filesystems are synced.
Max screen off frequency
The default max screen off frequency is 1190MHz, which is a good balance between limiting the voltage/frequency and the time required to complete tasks while the screen is off. This can be changed manually at /sys/devices/system/cpu/cpu0/cpufreq/screen_off_max_freq
NTFS and exFAT support
This is for anyone who wants to use OTG cable to connect a USB stick or portable hard-drive formatted with Microsoft's NTFS or exFAT filesystems. (Useful for installing and transporting files from your device) You will need Stickmount or a similar app
F2FS support
F2FS support is built into the kernel. No need to flash any other support patches before installing Electroactive.
Color preset
Some users complain that the Nexus 5 screen has too 'warm' colors, so there are two color presets: stock and slightly cooler. You can edit /etc/electroactive.conf to change the setting on boot.
/sys/module/mdss_dsi/parameters/color_preset
0 = stock color
1 = slightly cooler color
Sweep2wake (flar2)
Sweep2wake allows you to turn on your phone by swiping your finger across the screen. There are four sweep actions that will work
Gesture........Value
Sweep right......1
Sweep left........2
Sweep up.........4
Sweep down....8
Add up the values for each gesture you want to enable and put the total in /sys/android_touch/sweep2wake. For example, to enable all gestures, the value is 15 (1+2+4+8). To enable sweep right, sweep left and sweep up, the value is 7 (1+2+4)
/sys/android_touch/sweep2wake
Doubletap2wake
DoubleTap2Wake (DT2W) allows you to wake the device by double tapping anywhere on the screen. This causes significant battery drain, so you choose at your own choice if you want it enabled or not. You can edit /etc/electroactive.conf to change the setting on boot.
/sys/android_touch/doubletap2wake
0 = disabled
1 = enabled (bottom of screen only)
2 = enabled (full screen)
Sweep2Sleep
Sweep2Sleep allows you to put the device to sleep by sweeping your finger across the navigation bar area. You can choose different directions to swipe. Unlike Sweep2wake, this does not cause any battery drain. You can edit /etc/electroactive.conf to change the setting on boot.
/sys/android_touch/sweep2sleep
0 = disabled
1 = sweep right
2 = sweep left
3 = sweep left or right
Backlight dimmer
Backlight dimmer allows you to adjust the LCD screen brightness lower than is possible with stock. You can edit /etc/electroactive.conf to change the setting on boot.
/sys/module/lm3630_bl/parameters/backlight_dimmer
0 = disabled
1 = enabled
USB fast-charge
This will allow you to charge at a faster rate when connected to a USB port. The default limit for USB ports is 500ma, this increases it to 900ma. This only works on laptops/desktops/any computer but not the phone's charger. You can edit /etc/electroactive.conf to change the setting on boot.
MSM Thermal-X Driver Options
MSM Thermal-X will throttle your cpu speed to keep it cool and unleash it if the cpu has cooled down enough. The input-event boost will temporarily boost the cpu frequency to prevent any lag while not hogging up battery.
Check /sys/kernel/msm_thermal/conf/ for the thermal configuration
allowed_max_high = highest threshold (phase 3)
allowed_max_low = remove the throttling if we cooled down to this (clr_thrshold)
allowed_max_freq = max frequency if throttled (limit)
[...]mid[...] = same as above, just for phase 2
[...]low[...] = Lowest threshold (phase 1)
check_interval_ms = how often shall we check? (sampling rate)
shutdown_temp = if we reach this shut down the device!
MSM MP-Decision Hotplug Options
MP-Decision Enabled
Enables/Disables the hotplug. On disabled the backup cpu-control will be stock Qualcomm mp_decision
# 1 for enabled
# 0 for disabled
echo "1" > /sys/kernel/msm_mpdecision/conf/enabled
Touch Boost
Touch-boost will temporarily raise cpu_min to a frequency determined by an mp_decision algorithm.
# 1 for enabled
# 0 for disabled
echo "1" > /sys/kernel/msm_mpdecision/conf/boost_enabled
Idle Frequency
If the first core is below this frequency, then don't plug the other cores.
echo "300000" > /sys/kernel/msm_mpdecision/conf/idle_freq
EcoMode
Ecomode tries to limit cores to just 2 unless there is a very heavy workload in which cores 3 and 4 are temporarily brought online and won't kick on until both CPUs are maxed out then it will allow for all 4 cores to come temporarily online.
echo "99" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_4
StrictMode
Strict mode functions so only 1 CPU tries to be online at first before bringing up cpu1 and cpu2 online.
echo "85" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_2
echo "99" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_4
Max CPUs online
Max cpus to be online, cannot be > 4. (if you set it to 2 and min_cpus to 1 you will basically have a dualcore).
echo "4" > /sys/kernel/msm_mpdecision/conf/max_cpus
Min CPUs online
Min cpus to be online, cannot be < 1.
echo "1" > /sys/kernel/msm_mpdecision/conf/min_cpus
Screen-off Single core
If the screen is off, don't plug in cpu1/2/3. Additionally: Unplug all cpus except cpu0 when screen is turned off.
echo "1" > /sys/kernel/msm_mpdecision/conf/scroff_single_core
Pause
If something else plugs in the cpu, i.e. CPU-Governor or Thermal, fall asleep for <#>ms.
echo "10000" > /sys/kernel/msm_mpdecision/conf/pause
StartDelay
Time until mpdecision starts to work.
echo "20000" > /sys/kernel/msm_mpdecision/conf/startdelay
Delay
Time between checks.
echo "130" > /sys/kernel/msm_mpdecision/conf/delay
Hot plug thresholds
This formula calculates which value will be used: (number_of_cpus_online - 1) * 2
The result of this formula will be the nwns_threshold where a new cpu is hotplugged.
The result of this formula + 1 will be the nwns_threshold where a cpu is unplugged.
nwns_threshold_x = runqueue threshold, if this is reached cpuX will be hot/unplugged
twts_threshold_x = time threshold, this amount of time must have passed for the related action to be taken (hot/unplug)
Example:
One cpu is online.
(1 - 1) * 2 = 0 ergo:
nwns_threshold_0 = cpu1 will be hotplugged at this value
((1 - 1) * 2) + 1 = 1
nwns_threshold_1 = cpu0 will be unplugged at this value
Since we can't unplug cpu0 this is '0'.
Two cpus are online.
(2 - 1) * 2 = 2 ergo:
nwns_threshold_2 = cpu2 will be hotplugged at this value
((2 - 1) * 2) + 1 = 3
nwns_threshold_3 = cpu1 will be unplugged at this value
echo "#" > /sys/kernel/msm_mpdecision/conf/nwns_threshold_X
echo "#" > /sys/kernel/msm_mpdecision/conf/twts_threshold_X
etc...
Some values are:
NwNs_Threshold: 12, 0, 25, 20, 32, 28, 0, 35
TwTs_Threshold: 140, 0, 140, 190, 140, 190, 0, 190
Where the position and function of the number equals the result of the above explained formula (all times are in ms).
INSTALLATION
If you come from another kernel, dirty-flash your ROM first without wiping any data
If you are an F2FS user, flash the F2FS support patch found below
Flash Electroactive kernel in recovery
Reboot
*F2FS users:
THIS KERNEL USES YOUR RAMDISK, it will just modify it on the fly while flashing. These changes are so to not create any incompatibilities with ROMs or other kernels. Some things to consider when using F2FS:
Use F2FS in only r/w partitions (/data and /cache).
F2FS in /system does not make any difference and requires selinux to be set to permissive, and Electroactive kernel is enforcing by default, although you can change this in the .config file found in /etc/electroactive.conf, but is still not recommended.
DOWNLOADS
Android M Preview/2
Electroactive-N5-3.10-M
Android 5.1/5.1.1
Electroactive-N5-2.50
Please consider a donation to support the Electroactive Kernel Project, and support for more devices.
Donors Hall of Fame
Send me a PM or email me if I didn't add you after you donated and I'll add you to the list
- danmaman
- Chirag7
- Zidane23
XDA:DevDB Information
Electroactive Kernel, Kernel for the Google Nexus 5
Contributors
Electrex
Source Code: https://github.com/Electrex/Electroactive-N5
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: 2.50/3.10
Stable Release Date: 2015-08-09
Current Beta Version: 2.52
Beta Release Date: 2015-09-27
Created 2015-04-10
Last Updated 2015-09-27
Changelog:
August 9, 2015 - Electroactive-N5-2.50/3.10-M
-MSM-Thermal-X input/output control, 3-phase, inputboost
-MSM MP-Decision Hotplug
-Electroactive CPU Governor Revision 2
-Set FIOPS default io scheduler
-Add Zen io scheduler
July 21, 2015 - Electroactive-N5-2.45/3.05-M
-MSM-Thermal-X
-KSM-Kernel Samepage Merging
-CPU Deferred-Timers
-Power Efficient Workqueues
-Cortex-A15 target architecture overhauls
-Merge Android M Prev2
-Linux 3.4.108
-Resolve some memory leak issues, more like a band-aid until Google gets their game up
-Fix performance regression in vfs
-push readahead value to 512 kb
-Back to ROW i/o scheduler w/change of params
-Revert PM-Suspend Freeze to prevent processes from running when device is idle.
-Add suspend_again mechanism to Partial Resume
-linaro-4.9.4 toolchain
-Remove android logger
-Use Android device as USB keyboard/mouse
June 29, 2015 - Electroactive-N5-2.40/3.00-M
-CPU Power Aware Scheduling
-Partial-Resume Framework
-Merged android M sources
-Fix cpu sticking issue
-Introduce PM Suspend Freeze
-Remove compiler warnings to prevent any issues in installation
-Re-add fsync control
-Add GPU sysfs reporting in pwrctrl
-Add 8974 support for enabling GPU GDHS
-Use new global screen-off detection variable
-Electroactive cpu governor: Introduce powersave-bias
-Greatly improve memory access performance
-Skip sensor_ind wakeup source activation via sysfs to prevent wakelocks
June 2, 2015 - Electroactive-N5-2.10
-Major Update. Getting close to second major release.
-More chrome fixes, should be almost completely gone. General UI speed-up and smoothness optimizations.
-Memory leak issue fixes, a bit better memory efficiency.
-Fix issues with any previously installed kernel files not being removed/reappearing after installation.
-Battery life issues with wake-locks and screen power consumption are fixed, GPU and CPU drivers updated.
-2 different versions of kernel: TC-DEF and TC-TEST. Only differences are the compiler toolchains and GCC. Try both and report which is better. TC-DEF uses the default old style build compiler and TC-TEST uses the new test compiler.
-Update advanced color control
-Kernel sources updated back to 3.4.107 from 3.4.0, some backports from Linux 3.18+ kernel sources.
-F2FS Support Built-In to ramdisk. No need to flash any F2FS support patch before installing kernel.
-More focus on optimization.
May 19, 2015 - Electroactive-N5-2.00
-Kernel Rebased
-Removed unneeded/unwanted commits and left all the good stuff in new base
-Add deeper incremental overclocking up to 2.95 GHz. Still boots at stock frequency
-Min CPU frequency down to 96 MHz, options for 192 and 249 MHz. Still boots at stock frequency
-Built with -O3 CFLAGS Makefile variables for extreme optimization
-Add MultiROM support
-exFAT support built-in to kernel rather than a module
-Add some speed and stability updates
-Add additional thermal driver settings
May 14, 2015 - Electroactive-N5-1.56
-Add sanity check to avoid unregistering the driver twice (therefore preventing kernel panic)
-Add optimized SHA-256/224
-Update kernel sources to linux 3.4.107
-Move VFP init to an earlier boot stage
-CAF sound codec driver
-Fix voltage tables and scripts
-Specifically modified PVS voltage tables per each unique device. Stock voltages now set
differently depending on your CPU binning.
-Update msm-kernel sources to android-5.1.1_r0.10
-Update Documentation & arch to 3.4.104
-Fix SMD packet sync loss issue
-lmk tune up
-Fix kernel script errors
-Chrome freeze issues gone
-Overclocking up to 2.9 GHz (experimental)
-Min CPU frequency down to 96 MHz
-Can have different frequencies for each CPU core
-Ramdisk updated to be more compatible and better performance on more ROMs
-FSTRIM now built-in: trims /data and /cache to discard any unused data blocks on boot, no more lag (only f2fs)
April 30, 2015 - Electroactive-N5-1.47
-optimize memory allocation in check_partition()
-Fix changes not applying on boot
-Add electroactive.sh script support
-Thermal throttling set to Cooler by default for less heat
April 25, 2015 - Electroactive-N5-1.45
-Add Optimax governor and Electrodemand
-NEW GOVERNOR: Electroactive (Hybrid: Interactive + Ondemand) with two-phase frequency and over 20 tunables
-Fix kernel, governor, and cpu tables. More .config functionality
-Stability improvements
-Synapse integration built-in
April 17, 2015 - Electroactive-N5-1.40
-More options in the .config file. Customize ALL hotplug settings
-Fix hotplug compatibility issues
-Update clock vote for improved performance
-Removed some unneeded governors
-Stability improvements
-First major release
April 11, 2015 - Electroactive-N5-1.35
-Add new improved default hotplug: Intelli_Plug, (much more added features and functionality)
-Update kernel sources to 3.4.106 from Kernel.org
-O3 graphite and -pthread optimizations/improvements
-LZ4 compression for much faster boot times
April 9, 2015 - Electroactive-N5-1.30
-Initial release
-Use UBERTC Compiler for kernel
-Add fixed PCI i/o mapping
Just hit the thanks button, he doesn't bite your finger. Try it.
Thanks!
Feature Requests
If anyone wants any feature requests, please post them in the feature requests tab at the top of the page. I will try my best to add the most features that I can without sacrificing stability or performance.
Seems stable und fast so far, pretty good work ... A few governors for my taste to much, but the default one is a beast
Bricked Cataclysm
---------- Post added at 09:39 PM ---------- Previous post was at 09:37 PM ----------
I really like ElementalX as a base
Bricked Cataclysm
Notechis said:
Seems stable und fast so far, pretty good work ... A few governors for my taste to much, but the default one is a beast
Bricked Cataclysm
Click to expand...
Click to collapse
Thanks,
If you have any features you want me to add to my kernel them feel free to ask.
Everything is fine, unleashed kernel uses alucard hotplug, this would be an unique feature
Bricked Cataclysm
Notechis said:
Everything is fine, unleashed kernel uses alucard hotplug, this would be an unique feature
Bricked Cataclysm
Click to expand...
Click to collapse
Uses Intelli_Plug much more tunables and configurations
Electrex said:
For now I am using the msm_sleeper hotplug. In the future there should be a new one.
Click to expand...
Click to collapse
Good to know that msm_sleeper is a hotplug... I think u missing the all thing.
Hi Electrex,
1st thanks for your awesome work!
2nd your kernel is ukm compatible? (or trickster or elementalx app?)
Tia!
Trickster works fine but due to the config file you did not need such apps
Bricked Cataclysm
idkidk said:
Hi Electrex,
1st thanks for your awesome work!
2nd your kernel is ukm compatible? (or trickster or elementalx app?)
Tia!
Click to expand...
Click to collapse
Yes, in the description, I posted all of the compatible kernel managers. I'll put them here too, as my OP is a bit cluttered:
Compatible with ElementalX Kernel app, TricksterMOD, Device Control, Kernel Tweaker, Franco Display Control, FauxSound Control, and Synapse Kernel manager.
You can also edit the .config file in /etc folder without an app to change kernel settings.
Electrex said:
Yes, in the description, I posted all of the compatible kernel managers. I'll put them here too, as my OP is a bit cluttered:
Compatible with ElementalX Kernel app, TricksterMOD, Device Control, Kernel Tweaker, Franco Display Control, FauxSound Control, and Synapse Kernel manager
Click to expand...
Click to collapse
My apologies. I see, thanks!
Kudos!
Hello,
This is a really nice piece of work, the responsiveness is excellent and battery life is great! Using stock settings. Has all the features i need.
Thank you for sharing your work with us!
Ok so does it work on cm 12 based roms? Blisspop and all?
i'm using "Semaphore Manager" is that okay??
maybe i'm missing on features.
kingserpent said:
Ok so does it work on cm 12 based roms? Blisspop and all?
Click to expand...
Click to collapse
Yes, it works on any 5.1 Lollipop ROM and ONLY 5.1 lollipop versions. Do not use this build for earlier versions of lollipop.
Your kernel is blazing fast and rock solid the last days. Cool project
Bricked Cataclysm
I agree. Great work!

LG H440N 4G LTE battery & performance tweaks

LG H440N 4G LTE kernel performance tweaks
FINAL VERSION
any other tweaks I find useful will be posted in the "init.d" section
{
"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"
}
​Changelog:
27. December 2015 - added FINAL values. Everyone should use these. "They are nice!" - says Borat.
28. December 2015 - added a changelog. Heh!
29. December 2015 - added a super secret, secret testing zone. I dare you to find it. Note that it's well hidden!
30. December 2015 - new tcp tweaks in init.d section, screenshot how it should look like, Recently tweaks.
31. December 2015 - added a link to a web site with an excellent article on battery care. Added Kernel Adiutor tips by jonathansmith.
1. January 2016 - Added 7+ hours SOT settings in the testing zone. Happy New Year!
3. January 2016 - Since I achieved what I aimed for, I am taking a break from this thread. It will stay open, so feel free to keep on discussing.
18. January 2016 - Testing settings became default settings, with a few changes.
29. January 2016 - Low Memory Killer & swappiness value updated.
BATTERY CARE - a must read for everyone!
Disclaimer:
I am not to be held responsible if anything goes wrong. Simple as that. You do these mods of your own free will.
Warning:
Please, do not report issues or complain about lousy battery times/performance, if you've used any of those pre-made scripts that promise godly battery or performance - they often cause more trouble than they're worth, and are mostly snake oil. And often, you cannot easily undo those changes. If you run a lot of background apps ( for example, five different messengers that cause wakelocks or increased battery usage ), then this guide is not for you. Do not report issues if you've modded your phone with any audio scripts ( like v4a ), xposed, or anything like that! Do not report if you did any permanent system mods, period! These kernel are for CLEAN & STOCK phones, that are rooted ONLY. To summarize, I will not bother replying if you did anything to your phone besides the tweaks I recommend.
Nothing done here is permanent. Everything can be returned to stock in a matter of minutes, if you prefer so, just by uninstalling Kernel Adiutor, unfreezing the bloatware and power cycling the phone.
And hugs to all that pushed the "Thanks!" button. Hell, hugs for everyone!!!
●▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬●
BEFORE WE START...
●▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬●​
Must be done before modifying CPU values:
Open your hidden system menu by dialing 277634#*#, go down to Power, find items "High temperature property" and "Thermal mitigation daemon", and set them like this:
High Temp Prop OFF
Disabled
Thermal Mitigation
Disabled
After that, turn phone off, wait 15-20 seconds and turn back on.. The screen will not dim in hot conditions anymore. Benchmarks are higher, games run smoother. And we can tweak our CPUs.
●▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬●
KERNEL ADIUTOR SETTINGS
●▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬●​
Apply on boot time is to be decided by the user. Although Kernel Adiutor waits for boot complete, I noticed ( on few occasions ) that it takes more time to apply the settings properly. Why? Who knows. Depends on the number of apps you have running on boot, version of the firmware or how lazy it is on boot... Safest setting is 40 seconds, but 20 should cause no issues and is preferred. 10 can be a problem.
CPU:
CPU Maximum Frequency: 1209
CPU Minimum Frequency: 800
CPU Governor: interactive
*note: Minimum frequency is set to default 800, since Snapdragon 410 draws the same voltage on 200, 400, 533 and 800. That's the reason I set the frequency back to 800 idle. No need to go lower for absolutely no gain in battery life or performance.
CPU Governor Tunables subsection:
above_hispeed_delay: 20000 1094400:40000
go_hispeed_load: 80
hispeed_freq: 998400
min_sample_time: 40000
timer_slack: -1
DEFAULT ( 7+h SOT ) - target_loads: 1 800000:75 998400:80 1094400:85
PERFORMANCE ( smoother, few hours less SOT ) - target_loads: 1 800000:75 998400:80 1094400:80 1152000:85
timer_rate: 20000
max_freq_hysteresis: 40000
*note: Reason for system lags is found in the cheaper and slower memory LG has used for H440N ( my guess is, to cut cost ). You can test that yourself by running various I/O benchmark tools and noting speeds of random and sequential reads/writes. I did not manage to make that better in any way by tweaking the I/O schedulers, be it deadline, cfq or row - even testing some examples from Franco's Dev Team. Seems that it's best to leave it on cfq and cut overhead with the flashtweaks init.d script found later mentioned in this post.
Frequency changes happen VERY fast. So fast that CPU widgets or passive frequency readers have a lousy time keeping up. Only values you can trust are found in Kernel Adiutor's Frequency Table.
Those values found above are the best possible values for H440N's CPU for performance & battery saving, and I stand by them. If anyone else cares to try and do some tweaking to improve on those, by all means, please do so. If in the future I decide to add new CPU values, they will be strictly performance based, hence no battery saving.
Reason for the CPU frequency sticking to 1209600 is caused by the LG Home launcher. It contains a system call where, if you open up your apps drawer, it immediately ramps up the frequency to the max for almost 8 seconds or until you close the app drawer! That sucks, and is a lazy way for LG to provide smooth app drawer opening/swiping/closing! Bad LG, bad!!!
Two ways to solve that:
1. Spend less time listing through your apps drawer, since the frequency drops as soon as you stop swiping through it, or...
2. Freeze LG Home and use another launcher ( like Nova or Apex ), if you don't mind losing Double Tap to Wake, or work around that problem with launchers that support double tap gesture and link that gesture with a screen off app like this. Do not freeze any LG Home system apps, besides Easy Home. No need. System will automatically kill the unneeded launcher. Just follow my frozen bloatware list. Nothing more, nothing less.
Low Memory Killer values ( top to bottom ):
48
60
72
84
96
120
Virtual Memory:
vfs cache pressure: 100
swappiness: 80
Build prop Editor
dalvik.vm.heapsize: 174m
dalvik.vm.heapminfree: 512k
dalvik.vm.heapstartsize: 8m
dalvik.vm.heapgrowthlimit: 128m
dalvik.vm.heaptargetutilization: 0.75
dalvik.vm.heapmaxfree: 8m
*note: Dalvik tweaks are based upon Intel's recommended Dalvik tweaks for Lollipop phones with 1 GB RAM and xhdpi displays.
Init.d
1. Turn on "Emulate Init.d" and click that big "+" to create a new script.
2. Name the new script: flashtweaks
Contents of the "flashtweaks" script are:
Code:
#!/system/bin/sh
echo 0 > /sys/block/mmcblk0/queue/nomerges;
echo 2 > /sys/block/mmcblk0/queue/rq_affinity;
echo 512 > /sys/block/mmcblk0/queue/nr_requests;
echo 0 > /sys/block/mmcblk0/queue/iostats;
echo 0 > /sys/block/mmcblk0/queue/add_random;
echo 0 > /sys/block/mmcblk1/queue/nomerges;
echo 2 > /sys/block/mmcblk1/queue/rq_affinity;
echo 512 > /sys/block/mmcblk1/queue/nr_requests;
echo 0 > /sys/block/mmcblk1/queue/iostats;
echo 0 > /sys/block/mmcblk1/queue/add_random;
2. Name the new script: tcptweaks
Contents of the "tcptweaks" script are:
Code:
#!/system/bin/sh
#more reasonable tcp tweaks
echo 1 > /proc/sys/net/ipv4/tcp_low_latency;
echo 0 > /proc/sys/net/ipv4/tcp_timestamps;
echo 900 > /proc/sys/net/ipv4/tcp_keepalive_time;
echo 5 > /proc/sys/net/ipv4/tcp_keepalive_probes;
echo 156 > /proc/sys/net/ipv4/tcp_keepalive_intvl;
Example of properly added scripts. I just named them differently:
Ignore the "99SuperSUDaemon" script unless you know what it is. It's not needed for our tweaks, and if you don't have it, it's perfectly fine.
Here are some screenshots on clearing / checking Kernel Adiutor's Frequency Table, by our fellow XDA member jonathansmith:
How to clear timers?
Check correct frequency usage.
Now, since you've finished with Kernel Adiutor, power cycle the phone. You're almost done. All that's left are:
●▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬●
OTHER SETTINGS
●▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬●​
In Developer options, set animation scale values to OFF.
In Settings / Display / Brightness enable Night Brightness. Who needs anything over 0% brightness from midnight to six in the morning?
Visit Play Store and install these apps:
Recently by Chainfire
Trimmer (fstrim)
Recently! settings ( preferred ):
Age limit: No limit
Entry limit: 12
Apply on boot: Yes
Freeload: Checked ( yeah, we're cheapskates )
EVERYTHING ELSE DISABLED / UNCHECKED.
Recently! settings ( much faster version ):
Age limit: Running apps only
Entry limit: Running apps only
Apply on boot: Yes
Freeload: Checked ( yeah, we're cheapskates )
EVERYTHING ELSE DISABLED / UNCHECKED.
Do a "Clear all" in recent apps list after a reboot. It will make things faster. Believe me.
As for Trimmer (fstrim), run that every week or so, on "/data", "/cache" and "/system". No need to run it daily.
Apps frozen with Titanium Backup ( freeze bloatware, do not delete it - you'll thank me later ):
Chrome
Drive
E-mail
EasyHome
Gmail ( I am using Aqua Mail. )
Google Play Books
Google Play Games
Google Play Movies
Google Play Music
Google Play Newsstand
Google Search
Google+
Hangouts
HTML viewer ( do not disable if using stock browser or Chrome )
Internet ( I am using this version of Opera. It's the best one.
LG Keyboard ( disable only if already using another keyboard. I am using Smart Keyboard. )
LG Keyboard Black Theme ( disable only if already using another keyboard. I am using Smart Keyboard. )
LG MLT ( disable LG MLT in the hidden service menu before freezing it! Menu code is 277634#*# )
Live Wallpaper
Music ( both widget and app - I am using PlayerPro. )
Trusted Face
Weather
Weather Theme
WeatherPlatform
Do not touch anything else! Don't say I did not warn you.
If you prefer blocking ads on web sites, like I do... then download AdAway from XDA forum, and enjoy ad-free surfing.
That's it. Have fun, and enjoy your buttery smooth phone. One of this year's best-buy smartphones. Too bad it doesn't get the attention it deserves. Really, an unsung hero if there ever was one.
Although there are a lot of other CPU tweaking values throughout the thread, these values are the standard ones you should use. Other ones are experiments, or just plain testing values.
H440N is compatible with DriveDroid - in case you want to boot an operating system or a Linux distro off of it.
●▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬●
SUPER SECRET, SECRET TESTING ZONE
●▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬●
by WellHidden™​
THESE SETTINGS BECAME THE DEFAULT SETINGS. SEE ABOVE.
With the latest test settings I achieved 7+ hours SOT. And yes, it can be done! You got the proof below.
Everything else besides these TESTING values below stays the same as in FINAL values ( dalvik, init.d, etc. ).
CPU:
CPU Maximum Frequency: 1209
CPU Minimum Frequency: 400
CPU Governor: interactive
CPU Governor Tunables subsection:
above_hispeed_delay: 20000 1094400:40000 1152000:20000
go_hispeed_load: 82
hispeed_freq: 998400
min_sample_time: 40000
timer_slack: -1
target_loads: 72 998400:82 1094400:85 1152000:86 1209600:90
timer_rate: 20000
max_freq_hysteresis: 40000
Virtual Memory:
Swappiness: 60 ( I recommend 100, but go back to 60 if you feel the memory gain is not worth a slight performance drop. )
Vellamo 3.2 scores:
My phone was originally set at frequency max 1200 and min 1200. After all the changes you suggest, do you set the min cpu frequency at 200 or leave it on 1200?
polfrank said:
My phone was originally set at frequency max 1200 and min 1200. After all the changes you suggest, do you set the min cpu frequency at 200 or leave it on 1200?
Click to expand...
Click to collapse
Min 200 Max 1200
Interactive / Noop
Other values as suggested.
But, damn. Those original settings must've drained the battery like hell... Are people at LG crazy?
EDIT: Sometimes, SetCPU will show the lowest frequency as 1200, but don't worry. Set it to 200, and verify it's at 200 in Times in state on the last SetCPU tab. It seems to be a bug in the app. That's why I used Kernel Adiutor.
ondemand + noop + lmk set to agressive and the phone flies like never before! looks like constant 60 fps. Thanks op!
Always glad to help out. Like I mentioned before, this phone has good hardware and is capable of stellar performance. Only problem is LG did not pay much attention on the tweaking side of things.
It's easy for them to tweak flagships
EDIT: Just found out about another gem! The app is called Recently by chainfire.
Installed, tried and it's marvelous even on default settings. I encourage everyone to try it. It's what Recent cards were supposed to be, in my opinion.
So I installed Busybox and Kernel Adiutor, set CPU min frequency to 200 Mhz, cpu governor to interactive and and I/O scheduler to noop. I've set both to apply on boot. Is that everything I need to do?
Fobos531 said:
So I installed Busybox and Kernel Adiutor, set CPU min frequency to 200 Mhz, cpu governor to interactive and and I/O scheduler to noop. I've set both to apply on boot. Is that everything I need to do?
Click to expand...
Click to collapse
It is, if you don't mind the default Interactive values. Otherwise, go a bit lower to "CPU Governor Tunables". Click that and set values as mentioned in first post. Those give a much better battery life.
After that, my recommendation is to visit the Low Memory Killer section and set that to Aggressive and apply on boot.
I can say that, after a bit of tweaking, this phone rocks! Glad to have bought it. Still hoping for a unlocked bootloader and maybe a CM port
Can you please take a screenshot of your CPU Governor Tunables section? I'm not completely sure that I did it right.
No problem, my good man. Here they are:
http://imgur.com/yDbXHE3
http://imgur.com/3uDi04u
holy ..! this really does make a difference. is it ok if i set cpu to "performance" and dont mess anything else with it? i dont care about battery life that much. cuz it seems that with agressive setting for ram, and changing to "noop" made wonders for me performance wise
Performance governor forces 1200, so that's not desirable.
For the best performance with lowest idle, set it to Ondemand / Noop. You will lose a bit more battery with those, but the phone will fly.
Otherwise, set as I've set it. Tweaked interactive.
userspace,powerspace hotplug and performance is what i have in karnel auditor.. which one should i choose then? tyvm!
p.s. thanks again for these tips man
That's strange. Are you using the LG Spirit H440N or some other variation?
See here ( list of governors ):
http://imgur.com/hxZOoDz
ah right. that could be a reason.. i use 3g version, with mediatek cpu
* moved to first post *
Tomo123 said:
Performance governor forces 1200, so that's not desirable.
For the best performance with lowest idle, set it to Ondemand / Noop. You will lose a bit more battery with those, but the phone will fly.
Otherwise, set as I've set it. Tweaked interactive.
Click to expand...
Click to collapse
amazing speed and multitasking (with Recently), thank you for this
Can you help me with target loads? Is this ok?
Sent from my LG-H440n using Tapatalk
String seems to be written ok, but my guess is it will clash with go_hispeed_load value.
If go_hispeed_load has a value of 85, then your initial value in target loads can't be "1". It must be higher than 85.
We're using our hispeed frequency ( 400000 ) as idle. It often drops to 200, so I see no reason of adding 200 to target loads.
Did you check out my post above?
Also, take a look at my KA frequency table:
http://imgur.com/BikoQk2
It seems that ive messed up something. Now my phone wont go deepsleep. This is the result over night.
Sent from my LG-H440n using Tapatalk
Can you make a screenshot of your target loads. Im having a hard time making it work. Performance is on point but i get a lot of battery drain.
Sent from my LG-H440n using Tapatalk

Categories

Resources