[KERNEL][GB SENSE][05/10-2011]tristan202-gb-desire v05 (OC/UV/HAVS/BFS/CFS/V(R)) - Desire Android Development

This is my personal kernel, that I decided to release now. It is extremely lean to minimize memory footprint and optimize perfomance. It is built from HTC official GB sources, with some of bananacakes, siberes, snq-s and my own patches. I intend to keep it at 2.6.35.10, as I see more problems than advantages in upstreaming to newer revisions.
Features:
-Hybrid adaptive voltage scaling (HAVS)
-V(R) i/o scheduler
-TinyRCU
-Overclock up to 1190
-Undervolt
-Ondemand, Virtuous and SmartassV2 governors (I use Virtuous for wake and Ondemand for sleep)
-AXI
-Lowered WiFi voltage
-EXT4 support
-snq-'s Autobrightnessmod (Enable all 10 levels)
-sibere's Battfix
-USB fast charge
-Optional 2 way call recording
-Hardcoded SD Speed Patch to 2048. No need for init script anymore
-Hardcoded highly tweaked Lowmemkiller (3584,4096,8192,20992,23040,25088). Throw away Autokiller and/or init scripts.
To make it more lean, I have disabled EXT2 support. SWAP isn't supported either, as I find it completely useless.
I have added CIFS and TUN as modules. To install, download and extract the file and push it to /system/lib/modules like so:
Code:
adb remount
adb push cifs.ko /system/lib/modules/cifs.ko
adb push tun.ko /system/lib/modules/tun.ko
And add the following line to your modules init script:
Code:
insmod /system/lib/modules/cifs.ko
insmod /system/lib/modules/tun.ko
The kernel comes in 2 flavors. BFS and CFS. Differences between them are here:
BFS - Brain F**k Scheduler
The scheduler essentially handles CPU resource allocation. It controls how the CPU ramps up in frequency and down again when not needed. The BFS version is generally very snappy (possibly more so than CFS) but is an older scheduler. It is designed to minimise latency on low spec'd machines (desktops generally)
Further details here:
http://en.wikipedia.org/wiki/Brain_****_Scheduler
CFS - Completely Fair Scheduler
This particular scheduler is newer than BFS. It is designed to make the best of High end machines (desktops again). In the early days, CFS seemed much laggier than BFS but now there is not too much in it. I am quite happily running a modern CFS kernel and I don't experience any lag issues.
Further details here:
http://en.wikipedia.org/wiki/Completely_Fair_Scheduler
I am aware that the BFS version throws some errors about 'bad cgroup data' in logcat, I haven't been able to get rid of them. I have disabled everything cgroup related in the kernel, but vm still throws the errors. Don't know why. Doesn't seem to impact performance.
I personally use the BFS version, as I find it somewhat faster than the CFS one. I have absolutely no wake lag, and I get good battery time.
Thanks go out to: snq-, bananacakes, sibere, tobi01001, thalamus, eviollet. If I forgot anyone, pls inform me.
CHANGELOG:
V05:
XZ compression
Fixed Wifi sleep
Tweaked OJ settings for better responsiveness (bananacakes)
Changed ramdisk compression method to gzip.
Rebuilt tun.ko and cifs.ko
v04b:
Fixed WIFI. (My bad. Forgot to adapt install script after including new ramdisk.)
v04:
Added Lowmemkiller tweak to ramdisk (3584,4096,8192,20992,23040,25088) No need for Autokiller or init scripts anymore. Over time I will move more tweaks into the ramdisk to minimize the need for init scripts.
Updated BFS to 0.406
Reverted battery gauge polling to 60 secs.
Added Virtuous governor. Virtuous is a highly tweaked SmartassV2.
Removed Lagfree governor again, as I found OndemandX better.
v03:
Hardcoded SD Speed Tweak to 2048. No need for init script anymore
Made 2-way call recording optional. Check downloads
Reduced battery gauge polling from 60 to 5 secs. (Untested)
A few bits more, can't remember it all.
v02:
Added Lagfree governor. Gives me a wee bit better battery, but sometimes lags when listening to music. Maybe I'll remove it again. Tell me what you think.
Added a minor change from tobi01001 to the lightsensor driver. Details here
Hopefully fixed USB fast charge.
Compiler optimizations
Link to my github: https://github.com/tristan202

Earlier i heard lot's of people complaining about reboots / hang up's when browsing internet with lowered WIFI voltages, i will give it a try today anyway thanks.

k3lcior said:
Earlier i heard lot's of people complaining about reboots / hang up's when browsing internet with lowered WIFI voltages, i will give it a try today anyway thanks.
Click to expand...
Click to collapse
I have been running with lowered wifi voltage for a few days without any problems at all. Doesn't browse much though, but market another wifi stuff have been working fine.

I'll give you feedback soon.
Thx and congratz.
Tapatalking.

tristan202 said:
I have been running with lowered wifi voltage for a few days without any problems at all. Doesn't browse much though, but market another wifi stuff have been working fine.
Click to expand...
Click to collapse
I've been using your kernel for several weeks now (tried all the rest) is this the same as your other one or have you tweaked it some more? and is there any chance you can add Sib's battfix?

Thanks a lot mate the combination of HAVS, BFS, 1190 OC with UV to 825 working very nicely for me
beanbean50 said:
is this the same as your other one or have you tweaked it some more? and is there any chance you can add Sib's battfix?
Click to expand...
Click to collapse
Just ask HTC they know everything about your phone

beanbean50 said:
I've been using your kernel for several weeks now (tried all the rest) is this the same as your other one or have you tweaked it some more? and is there any chance you can add Sib's battfix?
Click to expand...
Click to collapse
siberes battery fix is included, and I have been making some tweaks to since the last release. Some minor stuff, but still some improvement.

tristan202 said:
siberes battery fix is included, and I have been making some tweaks to since the last release. Some minor stuff, but still some improvement.
Click to expand...
Click to collapse
wow, many thanks....
is there much difference between the 2 governors ondemandx and smartassV2...?

Autobrighness mod is included (10 positions in arrays.xml)???
Tapatalking.

ziggy1001 said:
Thanks a lot mate the combination of HAVS, BFS, 1190 OC with UV to 825 working very nicely for me
Just ask HTC they know everything about your phone
Click to expand...
Click to collapse
haha...!
Yes, HTC, Google and every other Tom, **** and Harry...

beanbean50 said:
wow, many thanks....
is there much difference between the 2 governors ondemandx and smartassV2...?
Click to expand...
Click to collapse
Ondemand:
The ondemand governor is the default option used by Android. It scales the CPU speed between the minimum and maximum speeds depending on CPU load. If the system needs more speed, the kernel will rapidly scale up the CPU speed. This is available in most kernels, and the default governor in most kernels. When the CPU load reaches a certain point, ondemand will rapidly scale the CPU up to meet demand, then gradually scale the CPU down when it isn't needed.
Smartass:
This is based on the concept of the interactive governor. This is included in some custom kernels. The smartass governor effectively gives the phone an automatic Screen Off profile, keeping speeds at a minimum when the phone is idle.
Interactive:
The 'interactive' governor has a different approach. Instead of sampling the cpu at a specified rate, the governor will scale the cpu frequency up when coming out of idle. When the cpu comes out of idle, a timer is configured to fire within 1-2 ticks. If the cpu is 100% busy from exiting idle to when the timer fires then we assume the cpu is underpowered and ramp to MAX speed.
If the cpu was not 100% busy, then the governor evaluates the cpu load over the last 'min_sample_rate' (default 50000 uS) to determine the cpu speed to ramp down to.
This is available in newer kernels, and becoming the default scaling option in some official Android kernels. The interactive governor is functionally similar to the ondemand governor with an even greater focus on responsiveness.

ironjon said:
Autobrighness mod is included (10 positions in arrays.xml)???
Tapatalking.
Click to expand...
Click to collapse
tobi's autobrightnessmod is included. Adding to OP.

Thanks, I'll be testing this! I've been using snq-'s kernel builds but since the OC/UV ones have freezing problems, and gingercakes won't work for me without MASSIVE lag, I look forward to seeing how this works out.
ironjon said:
Autobrighness mod is included (10 positions in arrays.xml)???
Tapatalking.
Click to expand...
Click to collapse
It seems to work, yes. I've just pushed my patched framework-res.apk, and auto-brightness seems to do exactly what it did on snq-'s patched kernel.
EDIT: Ah, ninja'd. Well, there you have it then.

tristan202 said:
Ondemand:
The ondemand governor is the default option used by Android. It scales the CPU speed between the minimum and maximum speeds depending on CPU load. If the system needs more speed, the kernel will rapidly scale up the CPU speed. This is available in most kernels, and the default governor in most kernels. When the CPU load reaches a certain point, ondemand will rapidly scale the CPU up to meet demand, then gradually scale the CPU down when it isn't needed.
Smartass:
This is based on the concept of the interactive governor. This is included in some custom kernels. The smartass governor effectively gives the phone an automatic Screen Off profile, keeping speeds at a minimum when the phone is idle.
Interactive:
The 'interactive' governor has a different approach. Instead of sampling the cpu at a specified rate, the governor will scale the cpu frequency up when coming out of idle. When the cpu comes out of idle, a timer is configured to fire within 1-2 ticks. If the cpu is 100% busy from exiting idle to when the timer fires then we assume the cpu is underpowered and ramp to MAX speed.
If the cpu was not 100% busy, then the governor evaluates the cpu load over the last 'min_sample_rate' (default 50000 uS) to determine the cpu speed to ramp down to.
This is available in newer kernels, and becoming the default scaling option in some official Android kernels. The interactive governor is functionally similar to the ondemand governor with an even greater focus on responsiveness.
Click to expand...
Click to collapse
but we only have the first two governors to choose from, Interactive is not an option (in setcpu) or am I being stupid as per usual ...?

is usb fast charge enabled?

ZeGuitarist said:
Thanks, I'll be testing this! I've been using snq-'s kernel builds but since the OC/UV ones have freezing problems, and gingercakes won't work for me without MASSIVE lag, I look forward to seeing how this works out.
It seems to work, yes. I've just pushed my patched framework-res.apk, and auto-brightness seems to do exactly what it did on snq-'s patched kernel.
EDIT: Ah, ninja'd. Well, there you have it then.
Click to expand...
Click to collapse
where can I find the patched framework ?

beanbean50 said:
where can I find the patched framework ?
Click to expand...
Click to collapse
You have to patch your own framework-res
Tapatalking.

ironjon said:
You have to patch your own framework-res
Tapatalking.
Click to expand...
Click to collapse
can you guess my next question ...? hehe

Here you go i like helping the aged especially when, poor eyesight, liver damage, and tropical diseases have taken their toll
[How to] Adjust auto-brightness on GB Sense ROM

beanbean50 said:
where can I find the patched framework ?
Click to expand...
Click to collapse
You can't find it anywhere, you need to patch your own framework. The framework apk differs for each ROM, and contains each individual user's UOT kitchen mods too... So to be safe, you really shouldn't use someone else's framework.
Anyway, here's how to do it:
http://forum.xda-developers.com/showthread.php?p=17713587
It's pretty easy, as long as you know where your ROM's framework apk is (in internal /system, or in /sd-ext). Also, the thread suggest you put your framework mod in a flashable zip, but it's easier to just boot in recovery, and use adb to remove your old framework and push the new one.

Related

[AOSP/CM7 Kernel] 11/01/2012 ManU 2.1 - 2.6.35 based battery efficient kernels

I'm listing here 2 different 2.6.35 based kernels :
The 1.x series exist for Froyo and Gingerbread. They are based on a 2.6.35.8 linux kernel. They are CFS only (no BFS version), and forked from Richard Trip's kernels (https://github.com/richardtrip/cm-kernel)
The 2.x series are for GingerBread only. They have CFS and BFS versions. They are based on a 2.6.35.13 kernel and forked from _thalamus' kernels (https://github.com/thalamus/kernel)
All of my kernels have the following characteristics :
Go from 128Mhz to 1190Mhz. If your phone crashes at those speeds, then don't use them. Not all phones are equal and they won't all accept these frequencies.
The noop IO scheduler is defined as default. I think that all the other schedulers are unnecessary with flash disks. They are too complex and consume more CPU for the same result.
Two-way call recording thanks to avs333 (http://forum.xda-developers.com/showthread.php?t=993793)
The following characteristics are available in some kernels :
BFS. Brain F*ck Scheduler. Only available on the 2.x kernels.
CFS. Completely Fair Scheduler. Choose which scheduler suits your needs the best. Check here for a description of both : http://www.stackednotion.com/2010/06/04/what-are-bfs-and-cfs
AXI. AXI optimisation is available in some kernels : http://forum.xda-developers.com/showthread.php?t=665110. When it is enabled, the AXI bus speed is lowered to 64Mhz instead of 128Mhz when the screen is off. In the other kernels, the AXI bus speed is throttled according to the current CPU speed.
HAVS. Hybrid Adaptive Voltage Scaling. Dynamically changes the phones voltage. Should use up less battery than SVS. In comparison with Richard's original kernel, I upped the maximum voltage in the overclocking frequencies to 1350mV instead of 1300mV because it didn't seem enough (at least on my phone). I also set the minimum voltage to 900mV. I feel it's a good compromise between 875 and 925...
SVS. Static Voltage Scaling.
On the ManU kernel series, it is possible to change the voltages table on the fly using the following method. On the SVS kernel, the following method was used : http://forum.xda-developers.com/showthread.php?t=821372. See the post below for a simpler description of this
The following kernels are based on an OLD version of the Android kernel. The main advantage is the battery usage : it's very low compared to the latest kernels. The source code is available at http://github.com/eviollet/cm-kernel.
As of versions 2.1, SVS versions are no longer supported. Only HAVS versions are available.
2.6.35.13 ManU-Version 2.1 - Gingerbread ONLY
Gingerbread-HAVS-CFS ----------------
Gingerbread-HAVS-AXI-CFS ----------------
Gingerbread-HAVS-BFS ----------------
Gingerbread-HAVS-AXI-BFS ----------------
2.6.35.8 ManU-Version 1.4
Froyo-HAVS-CFS ---------------- Gingerbread-HAVS-CFS ----------------
Froyo-SVS-CFS ---------------- Gingerbread-SVS-CFS ----------------
Froyo-HAVS-AXI-CFS ---------------- Gingerbread-HAVS-AXI-CFS ----------------
Froyo-SVS-AXI-CFS ---------------- Gingerbread-SVS-AXI-CFS ----------------
Many thanks to Richard Trip for helping me out with the 1.4 kernel, and to thalamus for help on the 2.0 kernel.
Version history :
11/01/12 ManU-V2.1:
HAVS only. The voltages run from 1000mV to 1350mV which means that they should be stable on all phones. Feel free to play around with the voltages using a script, or IncrediControl
LED notification should now work on GingerVillain 2.8 and upwards thanks to Richard Trip.
Added smartassV2, thanks to erasmux.
Fixed VPN on MIUI (and perhaps other ROMs) thanks to [email protected]
Fixed "adb devices" id name bug
Fixed battery calibration
Added lazy governor thanks to Ezekeel : http://forum.xda-developers.com/showthread.php?t=1276092
Added system files to display the current state of the vdd levels
Optimized onDemand governor: ondemand: Remove the iowait-is-busy tunable code. Thanks to someone (I don't know who, sorry...)
Changed the Lazy governor default values to the ones recommended by Dr Byte (80/30000)
Added debug information in the AVS module when voltage changes occur. Especially if they fail.
Added working VPN back again (credits go to mondilv)
Started changing the AVS vdd changing logic. Now only changes the frequencies that are directly impacted.
Add WiFi screen off power level switch
Fix sound issue when using voice commands when bluetooth is connected (??)
28/05/11 ManU-V2.0:
kernel rebased on V2.6.35.13
07/04/11 ManU-V1.4:
added 2-way call recording thanks to avs333 (http://forum.xda-developers.com/showthread.php?t=993793)
updated the battery driver to be compatible with "Battery Calibrator" (https://market.android.com/details?id=net.jonrichards.batterycalibrator.ui)
ZIPs are now signed
128Mhz is now available even when the screen is on with AXI kernels
Higher BlueTooth audio sound
ManU-V1.3:
added CPU Vdd levels sysfs interface for HAVS kernels as well
changed the audio settings
changed the modules location
ManU-V1.2:
added CPU Vdd levels ("undervolt") sysfs interface for SVS kernels (http://forum.xda-developers.com/showthread.php?t=821372)
fixed video recording crashes
updated most of the drivers to most recent versions
changed the kernel name in the Android about box (now reports version number as well)
changed the zip flash to (hopefully) fix problems when flashing on phones with bad sectors
fixed some kernel versions having CPU governor performance by default
ManU-V1.1:
fix battery charging issue between 90% and 100%
disable 128Mhz when the screen is on, in the AXI kernels
ManU-V1.0: Kernel based on an old version (approx. October 2010)
V1 : Fix for IPV6 on MIUI. 6.1 and 6.1se kernels
V0 : First version : 6.1 and 6.1se kernels
FAQ:
How do I know which version I'm running? : Look at the "About the phone" screen at the kernel version. It should display which options you're currently using.
Which kernel do you recommend? : I'd say ManU-HAVS-AXI-CFS. On my phone on idle, I'm using up approx. 2-3ma/h instead of 6-7 with the default kernels with this kernel. So I'm very happy with it, and am currently using it as my main kernel. If you do any testing, feel free to tell us about your own experience!
Do you recommend any settings with SetCPU? : I currently use 128-440 conservative governor when the screen is off, and 128-1130 interactive when the screen is on and it gives good results.
After some time my phone feels sluggish. Why? : Apparently there seems to be an issue when switching governors, especially with "interactive". I recommend not to use it, or stick with it and don't change. This may be fixed in the future.
*Something* doesn't work with this kernel. Can you fix it? : First of all, my knowledge of the current state of the kernel is very limited. I just changed a few things in the DeFrost kernel to suit my taste and thought that this kernel may be of interest to some other people. If you have a problem, try explaining it, and give the following details : Name and version of your current ROM, previous kernel that worked, which version of the kernel you are now trying and any other details that may be of interest. I can't guarantee that I'll be able to fix it, because I don't develop the kernel, but I can try to help.
If you have a problem, try disabling the 128Mhz and overclocking options. They may be the culprits.
If 128Mhz saves battery, why isn't it enabled by default in other kernels? : Good question, and I don't know exactly. why. Apparently it causes issues on some phones. So, if you have a problem, try disabling 128Mhz. Also, 1190Mhz is a very high value and can also cause issues. So try lowering the maximum frequencies if you have issues.
On which ROMs do these kernels work? : 1.x series work on DeFrost 6.1, probably earlier versions as well, MIUI and GingerVillain, Redux, and probably others. The 2.x series only work on GingerBread.
On which ROMs do these kernels NOT work? : Oxygen 2. I recommend directly using _thalamus' kernels for Oxygen 2 : http://thalamus.ineige.org/kernels/2.6.35/
Here is a description of how to use the sysfs interface to configure voltage levels :
For SVS kernels, the file name is "/sys/devices/system/cpu/cpu0/cpufreq/vdd_levels" and on HAVS kernels, the file name is "/sys/devices/system/cpu/cpu0/cpufreq/vdd_levels_havs".
This file is used to read the current voltage state of write new voltage settings.
How to read the settings with the HAVS interface:
connect to the phone using a terminal, or adb shell, and type "cat /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels_havs". The phone will display the frequencies and the associated high and low voltages.
If you want to change the voltages, just send "echo 128000 875 1000 > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels_havs". This will configure the minimum voltage to 875mV and max to 1000mV for the 128000 frequency.
Another useful command is "echo -25 +25 > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels_havs". This will lower the minimum voltage by 25mV and raise the maximum voltage by 25mV on ALL frequencies.
As for the SVS interface, the commands are similar.
"cat /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels" will display the frequencies and the voltages, and "echo 128000 900 > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels" will set the voltage to 900mV when the CPU is at 128Mhz.
Please note that voltages are multiples of 25mV. So, accepted values are 800, 825, 850, etc. Other values will be rounded.
There is also the possibility to visualize how the kernel is managing the HAVS voltages by using the following system files: /sys/devices/system/cpu/cpu0/cpufreq/vdd_table_havs and /sys/devices/system/cpu/cpu0/cpufreq/vdd_tables_havs
The first file lists the voltages being used for each frequency at the current temperature range.
The second file first displays the current temperature range index (starting at 0) and then the voltages being used for each frequency and for each temperature range.
The WiFi screen off power level can be configured by modifying the following file: /sys/module/bcm4329/parameters/wlLowPower
By sending 'echo 1 > /sys/module/bcm4329/parameters/wlLowPower' the WiFi will switch to low power level when the screen is switched off. By default maximum power is used at all times.
Test versions:
The following section contains test materiel. This means that I need feedback on this version, as it may (or may not) become the next official version.
For the moment, no beta/test version available.
Bien joué/Well played
difference between base and "se" version?
I'd be interested in seeing the AXI patches please, if not I'll go the hard way and fix up the ones off that thread
vivmar said:
difference between base and "se" version?
Click to expand...
Click to collapse
The base version is the current state of the art of Richard Trip's kernel, as used in DeFrost 6.1. However there seems to be battery drain issues for some using this kernel, so he put up a 6.1se version that removes all the latest patches/addons to fix the drain.
I find the normal version quite stable and works well for me, but some may prefer the se version...
I hope this answers your question?
EViollet said:
The following characteristics are available in the different kernels :
HAVS. Hybrid Adaptive Voltage Scaling. Dynamically changes the phones voltage. Should use up less battery than SVS. In comparison with Richard's original kernel, I upped the maximum voltage in the overclocking frequencies to 1350mV instead of 1300mV because it didn't seem enough (at least on my phone). I also set the minimum voltage to 900mV. I feel it's a good compromise between 875 and 925...
Click to expand...
Click to collapse
Boooo my phone works fine at 875 and 1300... but I want to try your kernels for axi....
I'll have to start work on that /proc/havs interface, since no-one else seems to want it. At least I'll have a week over xmas
Incidentally, the AXI thread you mentioned suggests that the modification is already in HTC's Desire kernel... what do they do at 128MHz?
coutts99 said:
I'd be interested in seeing the AXI patches please, if not I'll go the hard way and fix up the ones off that thread
Click to expand...
Click to collapse
I just enabled the AXI patches in the kernel. Apparently the functionnality is already included in the kernel.
Am I missing something? I must admit that I didn't look any further than that. Perhaps what I wrote is completely wrong...
EViollet said:
I just enabled the AXI patches in the kernel. Apparently the functionnality is already included in the kernel.
Am I missing something? I must admit that I didn't look any further than that. Perhaps what I wrote is completely wrong...
Click to expand...
Click to collapse
Did you patch the kernel or was it already in? Did richardtrip patch it?
Marsbar said:
Boooo my phone works fine at 875 and 1300... but I want to try your kernels for axi....
I'll have to start work on that /proc/havs interface, since no-one else seems to want it. At least I'll have a week over xmas
Incidentally, the AXI thread you mentioned suggests that the modification is already in HTC's Desire kernel... what do they do at 128MHz?
Click to expand...
Click to collapse
Do be honest, my phone also works fine at 875mV. But I had a few issues with the latest kernel that were fixed by setting it to 900mV. So I believe that 900mV is a little bit more stable. I don't intend on compiling 2 versions of the HAVS kernels, so 900mV seemed a nice compromise. Especially as quite frankly I don't see a difference in battery usage between 875 and 925...
I don't think it's worth the bother...
And as for the higher voltage for the higher speeds, it's just that I allowed HAVS to go higher. It doesn't mean that it will though. It depends on your hardware and what HAVS decides to do with it. If your phone works fine @1300mV it won't try to go any higher. HAVS adapts the voltage automatically by using 2 boundaries (high and low), and it works it's way between them...
As for the 128Mhz... the thing is that the AXI patch lowers the AXI bus to 63Mhz instead of 128Mhz. The problem is that in order to lower the CPU speed to 128Mhz, the kernel relies on the AXI bus speed. So if the AXI bus is lowered, so will the CPU. And, it will crash. Because it can't really go below 128Mhz.
That's why you can't use 128Mhz AND the AXI patch.
In any case, that's what I figured out by looking at the source code and trying it myself (I had a few crashes before understanding why... )
Regards,
coutts99 said:
Did you patch the kernel or was it already in? Did richardtrip patch it?
Click to expand...
Click to collapse
It's already in it. I doubt that Richard added it because he doesn't use it.
I guess it's already in the Cyanogen kernel (which is the base for Richard's)
EViollet said:
It's already in it. I doubt that Richard added it because he doesn't use it.
I guess it's already in the Cyanogen kernel (which is the base for Richard's)
Click to expand...
Click to collapse
Ah ok no problem, thanks
great work man, i was looking forward a kernel with hvas/bfs/noop and max freq 1190. min freq of 128 and axi are welcome!
only thing i dont like is the min freq, but its ok.
are you building straight from richard's repo? can you share the sources? and the config file?
thx!
@EViollet
First of all excellent work!
But I have one question.
You say in order to use AXI in your kernel, you have to choose at least 256MHz when the screen is on. In other words this means when it scales from 128MHz to let´s say 998 MHz AXI is automatically disabled?! So I have to choose 384MHz at SetCpu as minimum in order to use AXI?
1 issue, after enabling wifi it does nothing just keeps scanning.
Its necessary to turn airplane on/off or reboot.
Im using bfs havs axi @ 1190 max.
Sent from my HTC Desire using XDA App
crapula512 said:
great work man, i was looking forward a kernel with hvas/bfs/noop and max freq 1190. min freq of 128 and axi are welcome!
only thing i dont like is the min freq, but its ok.
are you building straight from richard's repo? can you share the sources? and the config file?
thx!
Click to expand...
Click to collapse
I'm adding a tgz file to the first post that lists all the changes I made to Richard's source code, and the configuration files I created for all the kernels. Hope this helps.
Tweak³ said:
@EViollet
First of all excellent work!
But I have one question.
You say in order to use AXI in your kernel, you have to choose at least 256MHz when the screen is on. In other words this means when it scales from 128MHz to let´s say 998 MHz AXI is automatically disabled?! So I have to choose 384MHz at SetCpu as minimum in order to use AXI?
Click to expand...
Click to collapse
If you use AXI, the CPU frequency must be higher than 128Mhz when the screen is on. If you leave 128Mhz, in reality it will get much lower, so will eventually crash.
So, the values I use are :
Screen off : 128-450
Screen on : 256-1190
Regards,
crapula512 said:
1 issue, after enabling wifi it does nothing just keeps scanning.
Its necessary to turn airplane on/off or reboot.
Im using bfs havs axi @ 1190 max.
Sent from my HTC Desire using XDA App
Click to expand...
Click to collapse
Hi.
I'm afraid I won't be able to do much here.
I'm not a developper of the kernel, so I don't know where to start.
Which ROM are you using? And which version of the kernel? 6.1? Or 6.1se?
Regards,
6.1se, rom is ginger villain 0.2.
I think its kernel related as it was working fine with 6.0c.
maybe is just a coincidence, but today benee updated his vorkkernel and ppl was having this same problem and later on he made anew version with wifi fixed.
Hope that helps and good work!
Sent from my HTC Desire using XDA App
crapula512 said:
6.1se, rom is ginger villain 0.2.
I think its kernel related as it was working fine with 6.0c.
maybe is just a coincidence, but today benee updated his vorkkernel and ppl was having this same problem and later on he made anew version with wifi fixed.
Hope that helps and good work!
Click to expand...
Click to collapse
OK. Thanks for the update.
Did you try the 6.1 kernel? It has more a more recent WiFi driver. Maybe it works better...
Edit : I just checked GingerVillain 0.4 and can confirm that the WiFi driver doesn't work correctly.
It ends up connecting but it takes a VERY VERY long time to scan.
The WiFi update in the CyanogenMod kernel probable fixes this, so I'll have a look into it.
But, for the moment I'm afraid there is no support for Gingerbread...
Regards,

Over Clock Options

Running kernel that OC's - can someone explain what the different options do? If set at conservative or performance what happens while using the tablet? How about interactive.....etc??
Performance gov keeps the cpu at top clock speed
Conservative keeps it low
Interactive runs it at a variable speed automatically setting the clock as needed (best option atm)
On demand also runs at a variable speed but has more options for manual control
Powersave wacks the tf into sleep mode faster than all the other gov's
For IO i set blck0 to 512kb read ahead and blck1 to 1024kb
For IO schedular depending on what kernel your'e running the best options are BFQ SIO VR NOOP in that order (personal experience)
VM settings oom grouping's and other bits you probably wont want to play with till later on
Have fun !!!!
Sent from my tf running krakd warped an twisted 1544mhz Blades kernel
can we do this on a none routed transformer?
PL-S said:
can we do this on a none routed transformer?
Click to expand...
Click to collapse
its rooted and No you can not
See here;
http://www.everythingabouttablets.net/2012/01/22/android-overclocking-governors-explained/
Although there are some frequency governors not listed they are usually variants of these with minor tweaks, once you understand these you can google the other ones (like lagfree, for example) that aren't listed and it should be easy to understand.
Also, check out the link in my signature if you are still a noob at Android and the TF101
(Should have read the original question, I realize this is about two weeks out of date now that I posted it lol)

Padfone 2 A68 [Kernel] Stone custom kernel for ASUS Padfone 2 - OC/UV/GPL/etc

Presenting the Stone Kernel for ASUS Padfone 2 (A68), a custom kernel designed to get a little more out of the Padfone 2.
DISCLAIMER: As per all custom kernel disclaimers, while I do test this kernel on my own device, I'm not responsible for you voiding your warranty, or any damage/bricking/weirdness that may occur to your Padfone. If you're not comfortable with this, do not proceed.
v0.9
Main features:
Based on ASUS source code v10.4.16.8, compatible with Android 4.1.1 stock PadFone2 firmwares
init.d support (init.rc busybox runparts)
USB OTG Host in phone mode
UI rendered with GPU instead of CPU, making it very snappy
Lowest CPU frequency set to 162mhz
CPU frequency locked to 162mhz-1512mhz during boot
Undervolted to save power & reduce heat
Undervolt interface (compatible with System Tuner, Kernel Tuner, etc)
Additional CPU Governors: Wheatley, InteractiveX v2, MSM_DCVS
Set InteractiveX v2 CPU Governor to default instead of Performance, to lower battery consumption, maintain snappy performance, and improve CPU freq config
GPU normal freq set to 200mhz to lower battery usage (will still scale upto 266/400/533mhz when busy)
Simple IO Scheduler (SIO) added, and set as default
Increased min/max read-ahead values from 16/128 to 32/2048
USB FastCharge upto 1400mA (enable using Kernel Tuner, sysfs, etc)
Lower minimum brightness to save power
Lower voltage for display (~13% lower voltage) to save power
NTFS USB drives need USB OTG Helper software or similar - working on fixing the NTFS module
Increased file cache ratio to improve storage performance
Standard edition: CPU max 1.51ghz, GPU max 400mhz
Overclock edition: CPU max 1.72ghz, GPU max 533mhz, low voltages
Powersaver edition: CPU max 1.35ghz, GPU max 266mhz, low voltages
Minor tweaks:
Replace Wifi modules with AOSP versions (needed due to the way the stock modules were compiled by ASUS)
Disabled swap
Disabled "Compile the kernel with debug info"
Disabled Debug memory initialisation
Disabled Magic SysRq key
NTFS in kernel (instead of module)
FAT support
Improved CPU multi-core frequency limiting
GitHub: https://github.com/lindsaytheflint/stone
Download:
Stock kernel 10.4.12.24: https://docs.google.com/file/d/0ByOiY1XD_cLvNVFwVi1Yc3lmS2M/edit?usp=sharing
Stock kernel 10.4.15.1: https://docs.google.com/file/d/0ByOiY1XD_cLvVU5KWkJqZzVrU00/edit?usp=sharing
Stock kernel 10.4.16.8: https://docs.google.com/file/d/0ByOiY1XD_cLvaGR2X19RS2hOa28/edit?usp=sharing
Stone kernel v0.1 "Dual": https://docs.google.com/file/d/0ByOiY1XD_cLva0Q3el9VbU1vd1k/edit?usp=sharing
Stone kernel v0.1 "Quad": https://docs.google.com/file/d/0ByOiY1XD_cLvdk9EcTAtdXdDRGM/edit?usp=sharing
Stone kernel v0.2 "Standard voltage": https://docs.google.com/file/d/0ByOiY1XD_cLvUFpSenoyXzFYRVk/edit?usp=sharing
Stone kernel v0.2 "Low voltage": https://docs.google.com/file/d/0ByOiY1XD_cLvclVXdEs4Qm1sb0U/edit?usp=sharing
Stone kernel v0.3 "OC": https://docs.google.com/file/d/0ByOiY1XD_cLvd28ybVB2MHhXTXc/edit?usp=sharing
Stone kernel v0.3 "STD": https://docs.google.com/file/d/0ByOiY1XD_cLvUnI4Z01YYzZBY1k/edit?usp=sharing
Stone kernel v0.4 "OC": https://docs.google.com/file/d/0ByOiY1XD_cLvd1lOQmI4c2duaGc/edit?usp=sharing
Stone kernel v0.4 "STD": https://docs.google.com/file/d/0ByOiY1XD_cLvM2QxdXVFMGcxRm8/edit?usp=sharing
Stone kernel v0.6 "OC": https://docs.google.com/file/d/0ByOiY1XD_cLvSm9XQVBqTWtBUEU/edit?usp=sharing
Stone kernel v0.6 "STD": https://docs.google.com/file/d/0ByOiY1XD_cLvN3otdjM3elNHYUk/edit?usp=sharing
Stone kernel v0.7 "OC": https://docs.google.com/file/d/0ByOiY1XD_cLvbTBralZ4aVZFOVk/edit?usp=sharing
Stone kernel v0.7 "STD": https://docs.google.com/file/d/0ByOiY1XD_cLvTGc2YWJFWFYxWGM/edit?usp=sharing
Stone kernel v0.8 "STD": https://docs.google.com/file/d/0ByOiY1XD_cLvNGxheldqTThNT2c/edit?usp=sharing
Stone kernel v0.8 "OC": https://docs.google.com/file/d/0ByOiY1XD_cLvOWw4cFBGb0xyUEk/edit?usp=sharing
Stone kernel v0.8 "PS": https://docs.google.com/file/d/0ByOiY1XD_cLvemtzSTlMZEpGcU0/edit?usp=sharing
Stone kernel v0.9 "STD": https://docs.google.com/file/d/0ByOiY1XD_cLvbUxWRHVPd1cyX2s/edit?usp=sharing
Stone kernel v0.9 "OC": https://docs.google.com/file/d/0ByOiY1XD_cLvd3FQOXJnbVZVbFE/edit?usp=sharing
Stone kernel v0.9 "PS": https://docs.google.com/file/d/0ByOiY1XD_cLvbm5qNFdHZWcwYjA/edit?usp=sharing
Installation:
1. Copy StoneK_A68_v0.9_OC.zip or StoneK_A68_v0.9_STD.zip to /sdcard/ via USB.
2. Copy StockKern_A68_10.4.16.8.zip to /sdcard/ via USB, in case you have trouble booting, and need to uninstall.
3. Boot into TWRP or CWM Recovery.
4. Perform backup of at least your "Boot" partition.
5. Install zip from step 1.
6. Reboot.
Uninstallation:
1. Copy StockKern_A68_10.4.16.8.zip to /sdcard/ via USB.
2. Boot into TWRP or CWM Recovery.
3. Install zip from step 1.
4. Reboot.
ChangeLog
ToDo:
Possibly faster CPU & GPU overclocking, pending successful testing
GPU undervolt
GPU freq sysfs interface
WiFi undervolt
Enable additional audio codecs: WMA, AAC, etc
BLN?
v0.9 - 2013/08/19
Raised voltage slightly for display, to increase compatibility with other's phones, and prevent flickering
Increase storage read-ahead from 1024kb to 2048kb
Increased file cache ratio to improve storage performance
v0.8 - 2013/07/29
Lower minimum brightness to save power
Lower voltage for display (~16% lower voltage) to save power
CPU lowest freq set to 162mhz (from 192mhz)
GPU idle frequency set to 200mhz (from 128mhz)
Fixed USB OTG for both phone & pad
NTFS USB drives need USB OTG Helper software or similar - working on fixing the NTFS module
Disabled MPDecision?
OC edition: GPU max freq set to 533mhz (from 487mhz)
New edition: Power Saver - lower CPU & GPU limits, useful when travelling
v0.7 - 2013/06/14
Built from 10.4.16.8 ASUS source code
Fixed camera
Removed Faux123 MSM CPUFreq_limit to improve multi-core freq limiting
Modified CPU freq limits so that cores 2-4 will never exceed core 1 frequency
v0.6 - 2013/06/05
Disabled Android Low Memory Killer (2GB RAM is quite a bit, and the perf cost of relaunching processes is annoying)
Enabled USB OTG Host in phone mode
Minor voltage tweaks
Added MSM_DCVS Governor
Added Faux123 MSM CPUFreq_limit to improve multi-core freq limiting
UI rendered with GPU instead of CPU, making it very snappy
Minor init.rc/build.prop tweaks
v0.5 - 2013/05/18
Enabled init.d support (init.rc busybox runparts)
v0.4 - 2013/05/13
Lowered InteractiveX default boost freq from 1512000 to 1350000
Increased USB Fast Charge limit from 1000mA to 1400mA
Fixed LCD backlight during calls
Reverted from GCC 4.7 to GCC 4.6 so ASUS modules load ok
v0.3 - 2013/05/07
Based on ASUS source code v10.4.15.1
Two versions - OC & Standard
Switched compiler from GCC 4.6 to 4.7
Further voltage tweaking
Fixed CPU throttling
Added InteractiveX v2 Governor - very good for properly setting CPU freqs across all cores
Set default Governor to InteractiveX v2
GPU overclock to 487mhz - working
GPU normal freq set to 128mhz to lower battery usage (will still scale upto 487mhz when busy)
Simple IO Scheduler (SIO) added, and set as default
Increased min/max read-ahead values from 16/128 to 32/1024
USB FastCharge (enable using Kernel Tuner, etc) - working
Removed Sysctl syscall support
Removed software controlled Adaptive Voltage Scaling (AVS)
Removed adaptive voltage scaling (AVS)
Removed Generic Dynamic Voltage and Frequency Scaling (DVFS) support
Removed CPU frequency translation statistics details
Reduced max CPU voltage back to 1.30v
Re-enabled "Monitor thermal state and limit CPU Frequency"
v0.2
Removed dual/quad versions - quad-core is running stably for me with revised voltages
Added standard/low voltage versions, for anyone having trouble booting, please try the standard version
Lowest CPU frequency set to 192mhz
Android Logger re-enabled temporarily, for USB FastCharge troubleshooting
CONFIG_SCHED_MC=n (not needed with HotPlugging CPU)
CONFIG_SCHED_SMT=n (not needed)
Disabled "Monitor thermal state and limit CPU Frequency"
Increased max CPU voltage from 1.30v to 1.45v (always monitor your temperature when increasing the voltage/frequency!!)
Further tuned CPU voltages
Added Wheatley Governor, and set to default
Disabled "Use MSM_DCVS for CPU/GPU frequency control"
GPU overclock to 487mhz - not verified yet - I think some kind of ASUS lock may still be preventing this
USB FastCharge (can be turned on with Kernel Tuner etc) - not verified yet - I think some kind of ASUS lock may still be preventing this
FAQ
Q. My phone is running hot!
A. This is usually related to the voltage being too high. Try lower voltage, and try to determine which frequencies are running hot for you. You may need to also restrict your max CPU frequency with SetCPU, System Tuner, Kernel Tuner, etc, if the frequency won't run stably on your phone.
Q. CPU-intensive apps (particularly games) terminate abnormally after a bit of use.
A. This usually means the voltage is a little too low for that frequency. Try to raise the voltage (only 12.5mv at a time) until you find a stable voltage, and let the rest of us know what value is best for you.
Q. My phone won't even boot with this kernel.
A. Sounds like the voltages are too low for you. Try the "STD" version, which uses voltages only slightly lesser than stock.
Q. I want GPU overclocking, but I don't want CPU overclocking.
A. Use the "OC" version, and use SetCPU, System Tuner, Kernel Tuner, etc, to set the max CPU freq you want.
Q. Proximity sensor doesn't work during a call
A. Fixed in version 0.4
How stable is it?
And also, if I read/understood the "main features" right, you limited the CPU to only use 2 cores instead of 4?
I read that you did it for more stability when overclocked, but if this only uses 2 cores out of it's 4, I will be very hesitant to flashing it...
Either way though, this is great progress! We are finally getting a handfull of developers for the Padfone 2! Hopefully we can get Cyanogenmod ported soon aswell!
Great job!
Lidenburg said:
How stable is it?
And also, if I read/understood the "main features" right, you limited the CPU to only use 2 cores instead of 4?
I read that you did it for more stability when overclocked, but if this only uses 2 cores out of it's 4, I will be very hesitant to flashing it...
Either way though, this is great progress! We are finally getting a handfull of developers for the Padfone 2! Hopefully we can get Cyanogenmod ported soon aswell!
Great job!
Click to expand...
Click to collapse
I've been using it for a few weeks, and when I had 4 cores enabled, I found it a bit unstable. With 2 cores enabled only, it flies along due to the higher frequency, and is rock-solid.
Unless you're using the MSM_DCVS Governor (which isn't default even on stock kernel), not all the cores are used except for under high load. Using Interactive, Performance, and other Governors, it usually keeps 3 cores off, and just powers the second one up when doing things. Only when running very CPU-intensive tasks will all 4 cores be used, and the phone will run very hot. If using the MSM_DCVS Governor, it'll continually lower the CPU frequency anyway. These factors are why I've limited the CPU cores - the end-result is a faster, cooler, and less power-hungry kernel.
Nevertheless, I'll upload another one in the next couple of days with all 4 cores enabled, so people can test it out.
First of all nice work here ! Good to see people progressing. As im still bit of a noob and my question maybe quite noobish.
I have NOS installed on my padfone 2 atm and its working flawlessly. Just before I try this I wanted to ask you if this will some way interfere with NOS ?
I would happily be our test monkey if needed
One more time,
Thank you !
Hey first of all this is very nice that you develop kernel to padfone and its nice to see some progress , but i would like that if you make the kernel with 4 cores and little bit smaller clocks ex 1.5 or 1.6 and if you set low freg to somewhere near 100mhz. That would be nice to see
Sent from my PadFone 2 using xda app-developers app
Great work! We finally have our first custom kernel
Great work... I will test soon as possible
Sent from my PadFone 2 using xda app-developers app
Quad core
I've recompiled the kernel with all 4 cores enabled, and will update after I've done some stress testing. (I won't upload it if it's not stable for me.)
When I tested it a few weeks ago, quad core was too hot, but I've tweaked the voltages quite a bit since then, so hopefully it'll be upload-worthy.
How to download link using phone?
Quad core version uploaded
I've uploaded the Quad core version too.
Curious to here other people's experiences on that - I personally find that my PF2 barely uses the 3rd & 4th cores (even on stock kernel), so I prefer the dual core kernel version (faster, more stable, less heat, less voltage requirements), but CPUs differ a little from phone to phone.
Keen to here people's tests from the dual core kernel vs the quad core kernel.
Me currently testing dual core version
Just downloaded and installed the QuadCore version. Will be back here in a couple of days!
Can you say thank you too many times ? NOT!
Thank you once more !
Thank you for quadcore version wil try it out!
Sent from my PadFone 2 using xda app-developers app
Reboots in Padfone Station
I tried to use the dual core version today during some meetings and it was fine when in phone mode, but after using it in the station for a while it would get very hot and then reboot. I was overclocking it to 1.7. Anybody else have similar experience?
sunshine333 said:
I tried to use the dual core version today during some meetings and it was fine when in phone mode, but after using it in the station for a while it would get very hot and then reboot. I was overclocking it to 1.7. Anybody else have similar experience?
Click to expand...
Click to collapse
Usually "very hot" means that the voltage needs to be lowered. Can you try using System Tuner to lower the voltage slightly for 1.7ghz frequency, and advise whether that helps?
i have flash the dual core ver.
But when i boot and at the asus loading logo, it keep shining white screen and some color line.
After booted into system it soft reboot again and again. then i revert to stock kernel it fine.
i already wipe cache/dalvik
i am using TWRP 2.5 and stock rom
Undervolting 1.7
I have not tried it in the padstation yet, but the 4 core version undervolted 1 step down (1125 I think?) was stable when I just played Final Fantasy 3 for about 20 mins. CPU spy shows that it was running at 1.7 during that time. No apparent heat issues and no reboots or anything like that. I will try it in the padstation and report back later.
---------- Post added at 03:49 AM ---------- Previous post was at 03:40 AM ----------
Just to be clear I only further undervolted the highest frequency (1.7). Other parts of the table were default for your 4c kernel.
Which app is recommended to overclocking and undervolting?

[KERNEL][STABLE] Badass Kernel 1.9.2

Hey guys. This is Badass Kernel, a modified version of AU Kernel with a little bit too many additions to fit in the Original Development section.
Logs are disabled in this kernel. This is not a bug, it's a feature.
Compatibility:
Android 4.2.2
CM10.1
AOSPA
PAC
AOKP
Android 4.0.4/4.1.2
CM9
CM9.2
AOSP
Touchwiz ICS V5
So.. new stuff:
1.0
CPU Undervolt down to (0-1-2-4-6).
A_U's bootsplash
Added Badass CPU Governor
Added Badass GPU control
Replace ZRAM LZO compression with Google Snappy compression which is a lot faster
Kernel Samepage Merging enabled by default
Writeback tweaked to do the work only when the screen is off
Added ROW I/O scheduler
Tweaked smartassV2 for more battery saving
Tweaked CFQ and Deadline
1.1
Added frandom support for CrossBreeder to finally work properly
Fixed memory leak in android binder
Restored and updated Lazy CPU Governor (expected: smooth UI, much better battery life and some lag in the first 20-30 seconds after boot)
Filesystem tweaks
Memory tweaks
Added SFB net scheduler and Veno TCP congestion algorithm for better use of internet
Disabled a lot of debugging
1.2
Implemented Dynamic Filesync and enabled by default
Proportional Rate Reduction for TCP
Correct AXI bus values for CPU
Re-added 825 and 844 MHz frequencies (be careful with these as they're not stable, they were left out with a reason)
Trimming /cache every 15 minutes if media playback is stopped.
Updated LowMemoryKiller driver (if you use ram manager or scripts for setting minfree, here are some really good values:3072,4096,12800,14336,15360,19200)
New bootsplash (HTC-alike)
1.2.1
Fixed Snappy
Further UV (0-1-2-3-6)
1.2.2
Enabled Compaction and linked it to LowMemoryKiller
Updated Deadline(now it's better than ROW)
Changed kernel compressor/decompressor from GZIP to the much faster LZ4.
Writeback tweaks from Linus Torvalds
Added TCP congestion algorithms: Hybla, Westwood, Highspeed-TCP. Default is Hybla because in tests, performed better than the rest.
1.3
Enabled Triple Buffering (component of Project Butter by Google)
Added Tiny RCU for smaller memory footprint
Added BoostPulse interface for SmartassV2
1.3.1
Added BoostPulse interface for SmartassH3 and updated it with a new variable(boost_freq) to suit the governors ramping policy
1.4
Lots of code optimizations
AHB Overclocking for faster R/W operations[787 MHz and higher don't have this kind of overclocking because of instability)
New 652 MHz undervolted frequency
CPU Unaligned Access (much faster booting time because of better kernel decompression)
Buffer values updated from Samsung original sources(Triple Buffering, Camera)
SmartassH3 and KSM parameters tweaked for better battery life
1.5
CPU clocks rework
Modified AXI Bus to allow lower CPU frequencies
Added completely stable 68 MHz frequency
New undervolt settings (0-0-1-2-3-5-6-7)
Rewritten Badass CPU and GPU control driver to make more use of 68 MHz frequency
Tuned SmartassH3 to make more use of low frequencies
Added fully functional zCache and ZsmAlloc, backported from 3.4 kernel
1.5.1
Added LowBattery Powersave feature for Badass governor
Badass parameters are more performance biased now
Recalculated Frame Buffer Size for Triple Buffering
Clean-up(remove deprecated CPU governors)
1.6
Add newest Adaptive RED Net Scheduler from 3.4 kernel and make it default.
Replace Snappy Compression with LZ4 Compressor(this is the fastest compressor on the market)
Make our kernel probably the first 2.6 kernel to have these two features
1.6.1
Update LZ4 Compressor from original sources and make it fully functionable
1.7
Replace zRam XvmAlloc with the better ZsmAlloc integration
Update zRam from 3.0 drivers
Make zRam LZ4 decompressor work faster in the same CPU cycles
1.8
Add SIOPlus scheduler (finally something equal or better than deadline)
Add CPU Idle driver to support C4 Deeper Sleep state
Add Wheatley governor to make more use of the new C4 state.
Change Bootsplash
1.9
New governor: WheatleyPlus
Reworked scaling down logic for less calculation
Added BoostPulse interface
Linked BoostPulse to the touchscreen driver (now the governor can really "sense" a touch and boost the frequency after a specific time threshold)
Added Triphasic scaling up logic from Badass (Phase2 is 360 MHz and Phase3 is 480 MHz)
Fixed the Deep Sleep states verification for scaling
Added GPU Control Driver
Added Sampling Down Momentum for dinamically changing the factor for scaling down
Updated OnDemand governor (it's pretty good at the moment)
Remove Badass and Lazy as they were deprecated
Link BoostPulse to the touchscreen driver for SmartassH3 and OnDemand
Optimize the CPU clock structure for WheatleyPlus
Update SIOPlus and add fluid tunables
Introduce Dynamic Cache Pressure
Revise Dynamic Writeback algorithm
Introduce Timer Slack Controller (aka Timer Coalescing, explanation below)
Deep Sleep tweaks
Backport OOM Killing algorithm from 3.8 kernel
Backport LowMemoryKiller and Timed GPIO drivers from 3.8 kernel
Add Whitelist feature to LowMemoryKiller (you can write PIDs of the processes you want to whitelist, in this file > /sys/module/lowmemorykiller/parameters/w_list ~ below you'll find the script for doing this at boot)
Android Binder update
CFS kernel scheduler optimizations
GPU driver optimizations and code cleanup
Make sure that the GPU turns off when the screen is off
Make the sleep states transitions faster
1.9.1
Finetune WheatleyPlus for better responsiveness
Optimize WheatleyPlus for overclocking on 652 MHz and 768 MHz
Fixed graphical glitches(hopefully)
1.9.2
Every bug fixed
Removed WheatleyPlus
Updated Interactive governor to the latest version from 3.8 sources
Add Dynamic Interactive governor (98% the same as Interactive, but it dynamically changes its parameters according to the load)
Dynamic PLL Overclock
Further undervolt until 768 MHz (the latter allows us to do this without losing performance)
Predefine minfree and adj values
Fully functional App Whitelist (example script here)
Forced unaligned access
Fast Charge (use this to enable it: FastCharge.apk - 1.29 MB) [Disconnect USB Cable - Turn ON - Connect USB Cable]
Timer Slack Controller: (this is a copy-paste from boype's thread)
What does the timer slack feature do?
Timer slacking aims to synchronize applications' and processes' CPU requests. The goal is to wake up the CPU less often in oder to save battery. What you need to know here is the following: waking the CPU up and putting it back to sleep again consumes power. Imagine that four apps wake the CPU up four times each in one second. While without timer slacking the CPU would be woken up 16 times, it is desirable to coordinate the wakeups. If done right, the CPU would wake up less often, effectively allowing power savings and longer sleep periods. This is what timer slacking does.
I have activated timer slacking only for background applications, so that everything else stays as responsive as you know it.
Apple has recently introduced this feature under the name 'timer coalescing' with their Mac OSX Maverick (link).
More information: How Apple does timer slacking ('Timer coalescing') (Scroll a little down to the diagrams)
LZ4 Compressor:
LZ4 is a very fast compressor, based on well-known
LZ77 (Lempel-Ziv) algorithm. Originally a fork from LZP2, it provides
better compression ratio for text files and reaches impressive decompression
speed, in the range and beyond 1GB/s per core (!), especially for binary files.
These speeds are scalable with multi-threading modes, quickly reaching
RAM speed limits on multi-core systems.
ROW I/O scheduler:
The ROW scheduling algorithm will be used in mobile devices as default
block layer IO scheduling algorithm. ROW stands for "READ Over WRITE" which
is the main requests dispatch policy of this algorithm.
The ROW IO scheduler was developed with the mobile devices needs in mind.
In mobile devices we favor user experience upon everything else, thus we want
to give READ IO requests as much priority as possible. The main idea of the ROW
scheduling policy is just that: - If there are READ requests in pipe - dispatch them,
while write starvation is considered.
Download:
AOKP/AOSP ICS:BadassKernel-AICS.zip - 4.78 MB
AOKP:BadassKernel-AOKP.zip - 4.79 MB
CyanogenMod 9.2BadassKernel-ICS.zip - 4.76 MB
AOSPA:BadassKernel-PA.zip - 4.79 MB
CyanogenMod 10:BadassKernel-CM10.zip - 7.03 MB
CyanogenMod 10.1:BadassKernel-JB.zip - 4.79 MB
Various tweaks
Script for adding apps to LowMemoryKiller's whitelist:Whitelist
(you have to edit it to add your own apps, then move it to init.d and set correct permissions. right now you can only add one app, I'll fix this in the next version)
Script to enable zRam with optimized disksize for Fit: View attachment zRamV2.zip (flashable zip) [UPDATED]
Jeeko's PureAudio fixed for CM10.1 and AOKP: View attachment PureAudio__1.0_-_STUDIO.zip [ Please thank Jeeko for this awesome mod. ]
NOTE: This version of PureAudio is compatible with absolutely any equalizer or player.
If you have Titanium Backup installed, in the menu you'll find an option named "Integrate sys Dalvik into ROM". Use it.
This is something like odexing your system, but keeps the classes.dex files inside the apps. Don't worry if you don't have a lot of system space, Titanium will odex as much as it can until the free space runs out.
TIP: So in latest version of CrossBreeder, the OP added some system tweaking which interferes with our kernel. So I edited those parts to match our settings and device limits.
If anyone wants to install CrossBreeder:
-First uninstall by flashing this file: CrossBreeder_Uninstall_7.2.13.zip - 943.12 KB
-Then install this custom version: CrossBreeder_7.2.13-Badass.zip - 1.59 MB
Sources:
GitHub
Credits:
A_U for compiling the base kernel
franco for the various tweaks I cherry-picked from his source
androidarmv6 for fixing bluetooth
Ezekeel for his Wheatley governor
How to install the kernel?
Subdin said:
How to install the kernel?
Click to expand...
Click to collapse
Flash the zip.....
Sent from my GT-S5670 using xda premium
droider007 said:
Flash the zip.....
Sent from my GT-S5670 using xda premium
Click to expand...
Click to collapse
to install cm(9,10,10.1)
and just flash the kernel??????
CM 10.1 kernel isn't a zip...
NM99 said:
CM 10.1 kernel isn't a zip...
Click to expand...
Click to collapse
rename it to .zip
---------- Post added at 11:50 PM ---------- Previous post was at 11:49 PM ----------
droider007 said:
rename it to .zip
Click to expand...
Click to collapse
but don't try its not booting.......wait for a fix....:good:
I'll wait for the fix.
NM99 said:
I'll wait for the fix.
Click to expand...
Click to collapse
Changed the ramdisk, now it should boot. All versions are flashable zips, you don't have to reinstall the ROM for installing a kernel.
Keep a flashable zip with your original kernel on sd in case this doesn't boot.
I flashed kernel for CM10.1 RC6 of erikcas and it works without problems for me.
ZmisiS said:
I flashed kernel for CM10.1 RC6 of erikcas and it works without problems for me.
Click to expand...
Click to collapse
Alright, good to hear that.
Thanks for reporting. This means that the other versions will work too.
alin.p said:
Changed the ramdisk, now it should boot. All versions are flashable zips, you don't have to reinstall the ROM for installing a kernel.
Keep a flashable zip with your original kernel on sd in case this doesn't boot.
Click to expand...
Click to collapse
I'll be sure to flash it soon.
Just a question, I flashed the tweaks on this thread and Fly-On Scripts.. After flashing the kernel, do I need to flash them again?
---------- Post added at 06:33 PM ---------- Previous post was at 05:34 PM ----------
Just a little update, just flashed the kernel. No problems at all, it feels smooth as it can be. I'm running it 68-768Mhz with no problems.
Wake up in the morning..
Open xda (5670 forum)..
see something new anddd..
ohmyglob! FINALLY! SIR ALIN.P's KERNEL!
Best morning news and goodness in the morning! ooohh yeah! Time to test this baby out! By the way, I'd love to see your ROM here sir Alin! THANKYOU!
Kernel works perfectly at 768Mhz, something that I couldn't OC to before. I tryed to OC to 806Mhz and my Fit rebooted automatically. :lol:
Now I'm trying to use 787Mhz to see what can happen.
EDIT: Can't OC over 768Mhz. At 787 the G-Fit keeps running for 15 mins until it locks at whatever it's doing for forever and from 806 onwards it just reboots automtically. At least that's what my G-Fit does, don't know what about the others. Just sharing my personal experience so far with the Badass Kernel.
NM99 said:
I'll be sure to flash it soon.
Just a question, I flashed the tweaks on this thread and Fly-On Scripts.. After flashing the kernel, do I need to flash them again?
---------- Post added at 06:33 PM ---------- Previous post was at 05:34 PM ----------
Just a little update, just flashed the kernel. No problems at all, it feels smooth as it can be. I'm running it 68-768Mhz with no problems.
Click to expand...
Click to collapse
The kernel installs in its own partitions, it doesn't mess with the /system or /data. So you don't need to reinstall anything, only the kernel will be modified when flashing.
About the OC, the kernel uses the same clocks as the stock kernel, with a little tweaks for stability and battery life(Undervolt and refined AXI bus). I was expecting 768 to be the maximum, that's a physical limit. I can't do anything about it. Anyway, I added 748 MHz in case 768 is unstable for some of you.
Jhayzt said:
Wake up in the morning..
Open xda (5670 forum)..
see something new anddd..
ohmyglob! FINALLY! SIR ALIN.P's KERNEL!
Best morning news and goodness in the morning! ooohh yeah! Time to test this baby out! By the way, I'd love to see your ROM here sir Alin! THANKYOU!
Click to expand...
Click to collapse
Thank you too!
I just ported my ROM too. The no-gapps might still have some problems, not sure about it. I had only two reports and 30 downloads, maybe the errors are /data related and individual.
I'll be away for two weeks to prepare for my exams, so I'll answer your questions then.
alin.p said:
The kernel installs in its own partitions, it doesn't mess with the /system or /data. So you don't need to reinstall anything, only the kernel will be modified when flashing.
About the OC, the kernel uses the same clocks as the stock kernel, with a little tweaks for stability and battery life(Undervolt and refined AXI bus). I was expecting 768 to be the maximum, that's a physical limit. I can't do anything about it. Anyway, I added 748 MHz in case 768 is unstable for some of you.
Thank you too!
I just ported my ROM too. The no-gapps might still have some problems, not sure about it. I had only two reports and 30 downloads, maybe the errors are /data related and individual.
I'll be away for two weeks to prepare for my exams, so I'll answer your questions then.
Click to expand...
Click to collapse
For 768 MHz which governor, minimum and maximum CPU frequency?
camera!
video camera dont work on cm9!
with this kernel!
[/url][/IMG]On CM10.1 RC6 of erikcas all works except Skype.
Please answer the question: For 768 MHz which governor and minimum CPU frequency?
ZmisiS said:
On CM10.1 RC6 of erikcas all works except Skype.
Please answer the question: For 768 MHz which governor and minimum CPU frequency?
Click to expand...
Click to collapse
Governor....smartassH3 or badass
Min freq......122 or 68.....
Sent from my GT-S5670 using xda premium
alin.p said:
Alright, good to hear that.
Thanks for reporting. This means that the other versions will work too.
Click to expand...
Click to collapse
Thanks for such a speedy update... :good:
Hey guys, a new version of Crossbreeder has been released.. Can I install it or it can give problems with the kernel?

[Kernel][3.0.101] faZevoLv.kernel [5.0.x]

faZevoLv.kernel​
This is a new kernel based off the more stable Hashcodes kernel rather than the previous kernel named thomasin kernel which was based off MWisbest's kernel source which was unstable and caused many random reboots for me and a few other users. This is why this kernel was created, fast, feature packed, updated and most importantly STABLE. no random reboots.
Features and Updates
3.0.101 patches from franciscofranco
OMAP4460 overclocking from MWisbest
Makefile: Linaro build flags
Optimised LPDDR2 RAM timising for a 12% throughput increase
tweaked CFQ tunables from franciscofranco
cpuidle: update to saner values and optiisations
binder: fix memory leak
update LZO compression to upstream
ARM: enable unaligned memory access
use GNU implementation of lib/string & lib/memcpy
force kernel to follow unaligned code path
cfg80211: fix memory leak
ARM memset fixes
readahead: make context readahead more conservative
vmalloc: updates and fixes
net/loopback: set mtu to 64k
CPU hotplug: update debug
cpufreq: optimise frequency table verify and updates
vmscan: allow it to sleep if running too long
SELinux: updates and workarounds
omap4-common: activate scu speculative linefills
omap4-comon: enable full zeroes write mode
omap4-common: tune values to fit changes without double linefill
OMAP4: update ARM errata options
OMAP4 NAND updates
Add ultra-KSM
import lowmemorykiller from 3.4 kernel and tune & update
readahead: add dynamic read-ahead
dynamic management of dirty page writebacks
add support for lz4 compressor and decompressor module
add lz4 cryptographic api
use lz4 for kernel compression
add Lagfree governor
SIOplus i/o schedular and tune
ARM: implement optimised percpu variable access
permanent filesystem TRIM
Optimise apply_stack() for size and speed
network speed tweak
wakeup: use irqsave/irqrestore for events_lock
add Hyper governor
interactive governor fixes and updates
net: add APIs for manipulating skb page fragments
random: entropy tweaks
increase clock rate for dpll_core_m6x2_ck for OPP100
use SLUB allocator as default
use RCU boost
lib/sha1: use the git implementation of SHA1 as it is faster
ashmem: fix deadlock when low memory
bcmdhd: decreased wakelocks
mmc: decrease wakelock timeout
bcmdhd: workaround for broken AC video queue in IBSS mode
pcm_native: code fix
OOM tweaks: many oom tweaks and fixes (5 commits)
procfs: speed up /proc/stat
ARM: add optimised swahb32()
ARM: implemented cpu topology for multicore devices (12 commits)
introduce effective timer slack and PR_GET_EFFECTIVE_TIMERSLACK
introduce timer slack control
Dynamic management of timer slack
XDA:DevDB Information
Advanced kernel for lollipop, Kernel for the Amazon 7" Kindle Fire HD
Contributors
faZevoLv, Hashcode
Version Information
Status: Stable
Current Stable Version: 002
Stable Release Date: 2015-03-01
Created 2015-02-27
Last Updated 2015-02-27
Frequencies
> 350mhz (default min)
> 525mhz
> 768mhz
> 998mhz
> 1200mhz (default Max)
> 1350mhz
> 1500mhz
> 1632mhz
> 1747mhz
Governors
> Conservative
> Ondemand
> Powersave
> Interactive (default)
> Performance
> Hotplug
> Hyper
> Lagfree
I/O Schedulers
> CFQ (default)
> NOOP
> Deadline
> SIOplus
TCP Congestion Algorithm
westwood (default), reno, bic, cubic, htcp, vegas, veno, yeah​
Has it fixed battery life? As it was draining significantly than stock kernel..
You rock dude! Flashing right away.
xWolf13 said:
Has it fixed battery life? As it was draining significantly than stock kernel..
Click to expand...
Click to collapse
Yeah deep sleep is fixed, in the other kernel it did not go into deep sleep which was where the battery drained.
So when will it be completed? (And if it is completed, when can we download?) I'm itching to test it out.
Fireator said:
So when will it be completed? (And if it is completed, when can we download?) I'm itching to test it out.
Click to expand...
Click to collapse
Go to the downloads section at the top of the OP (the black bar) and download it
faZevoLv said:
Go to the downloads section at the top of the OP (the black bar) and download it
Click to expand...
Click to collapse
Thanks!
faZevoLv.kernel.002 is out!
Check the features list for the updates, the download link as always is in the downloads section
So how high does the GPU overclock to? And where can I go to change the frequency? Can I use trickstermod app?
BTW, its a pretty good kernel. Nice and smooth. Ever better when I use Seeder. Only thing I noticed was that it reboots every time I try to overclock it to 1747Mhz. 1500Mhz is the most stable for me so I'm sticking with it for now. Keep up the good work!!
Fireator said:
So how high does the GPU overclock to? And where can I go to change the frequency? Can I use trickstermod app?
BTW, its a pretty good kernel. Nice and smooth. Ever better when I use Seeder. Only thing I noticed was that it reboots every time I try to overclock it to 1747Mhz. 1500Mhz is the most stable for me so I'm sticking with it for now. Keep up the good work!!
Click to expand...
Click to collapse
ive not added the option to set your own gpu overclock yet, but it will be implemented in a future release thankyou!
Thanks a lot. Very stable and fast so far. I couldn't install double tap to wake. Your old kernel supports this right? Or did I use it elsewhere? Sorry been flashing lots of ROMs lately.
**seems my kindle can't handle a high oc for even short bursts. I set it to 1747 and 10 seconds later it went to bootloop. Shutting it down manually then restarting didn't work. Had to reboot in recovery. But I don't pretend to know precisely what I'm doing.
Have you or anyone else tested above 1500? And if it's working could you share the exact settings? Thanks.
KLit75 said:
Thanks a lot. Very stable and fast so far. I couldn't install double tap to wake. Your old kernel supports this right? Or did I use it elsewhere? Sorry been flashing lots of ROMs lately.
**seems my kindle can't handle a high oc for even short bursts. I set it to 1747 and 10 seconds later it went to bootloop. Shutting it down manually then restarting didn't work. Had to reboot in recovery. But I don't pretend to know precisely what I'm doing.
Have you or anyone else tested above 1500? And if it's working could you share the exact settings? Thanks.
Click to expand...
Click to collapse
Highest I can go to is 1632. No hiccups so far. Using Interactive Governer with Min Frequency set at 1200Mhz. At the moment I am testing out the new I/O Scheduler that was added, sioplus.
xWolf13 said:
Highest I can go to is 1632. No hiccups so far. Using Interactive Governer with Min Frequency set at 1200Mhz. At the moment I am testing out the new I/O Scheduler that was added, sioplus.
Click to expand...
Click to collapse
That's what I was doing except with a lower min value and it crashed. Not the system just the browser this time. I'm thinking not all kfhds are created equally.
Overall this has been pretty stable though when I keep it at or below 1500
KLit75 said:
Thanks a lot. Very stable and fast so far. I couldn't install double tap to wake. Your old kernel supports this right? Or did I use it elsewhere? Sorry been flashing lots of ROMs lately.
**seems my kindle can't handle a high oc for even short bursts. I set it to 1747 and 10 seconds later it went to bootloop. Shutting it down manually then restarting didn't work. Had to reboot in recovery. But I don't pretend to know precisely what I'm doing.
Have you or anyone else tested above 1500? And if it's working could you share the exact settings? Thanks.
Click to expand...
Click to collapse
This doesn't support double tap to wake as it stopped the device from going into deep sleep which caused the huge battery drain, sorry about that.
And yeah I usually stay at 1500, but the option is there for kindles that can handle higher
Not sure if this is related to kernel or ROM (beanstalk) but I'm getting incompatible a lot in play store. I tried market helper but apparently its not ready for lollipop yet. Is there a workaround or like I just considered now--lots of the apps aren't compatible with 5?
KLit75 said:
Not sure if this is related to kernel or ROM (beanstalk) but I'm getting incompatible a lot in play store. I tried market helper but apparently its not ready for lollipop yet. Is there a workaround or like I just considered now--lots of the apps aren't compatible with 5?
Click to expand...
Click to collapse
Yeah its because a lot of apps don't support lollipop, however most of them can be downloaded from your browser with a quick google search
I know this is way out there a year later, but any plan on updating to 5.1.1 CM based?

Categories

Resources