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

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,

Related

[KERNEL]vorkKernel for CM (It's back)[20111026]

Hi. The following kernel is presented to you by
vorkKernel Team:
- kiljacken
- Benee​
Click to expand...
Click to collapse
This kernel is for Cyanogenmod (and in theory any other CM based rom). *Could* be incompatible with latest kangs or nightlies (after a kernel update from CM team). No support for sense...
New vorkKernel Twitter Bot: Here
First I wanted to thank Thalamus for his awesome base kernel - Thanks man . Than I wanted to thank the CM Team for the awesome developement work. Without you guys the Desire weren't such a great device.
Features:
Oc to 1113 Mhz
toggable AVS via app or flags (Credits to dzo and thalamus for avs)
Default IO-Sched is Deadline with a special flash storage tweak
Slub allocator
Tiny-Rcu
BFS Cpu Sched
compiled with a tweaked toolchain (base linaro gcc)
overall compiler optimizations
flags! (more below in the flag section)
A App for easy downloading and configuring. Credits to kiljacken!
Click to expand...
Click to collapse
The standard part:
I'm not responsible for melted phones or something like that...​
Click to expand...
Click to collapse
And the source code here.
Download (Market)
Credits to kiljacken for this awesome app! You need OI File Manager for the app (Comes with CM)!
(and if you refuse to use the app - or the app is refusing to work with you: here)
Only change something, if you want to enable OC - No need to touch anything else (like govenors, schedulers)​
What are flags and how can I use them?
I recommend to use the App kiljacken made, because it's super easy for you guys. If you not want to use the app *sadpanda* then you can click this link. This is the file the app is fetching to generate the UI.
The layout is following:
Available for following device/Element style (more below)/the flag you need to add/Flag name in App/Description for general Flag/Choice name in app/actual value you need to add after flag name
If the last two points are added you first enter the flag name and than the value. For example: density230
You connect the flags with a: -
Example: -camera-ring ...
The script is configured to detect flags after vorkKernel-VERSIONNUMBER. So you can add some flags after this.
Element style
c = Checkbox
l = List you can choose things from
e = you can enter your own value​
Click to expand...
Click to collapse
Error Reporting Guide
Start with rebooting, if that doesn't help, reflash CM and then the kernel, and check again. If you're using the updater app (make sure you have the latest version), use the error report function (and describe what you're problem is). If you're not using the app, then post what flags you are using, along with what your problem is.​
Click to expand...
Click to collapse
Additionally I just want to point out that I'm not doing this as a fulltime job, so don't expect daily updates or something like that. I will try to fix a problem as fast as possible but in some cases it can take a while.
If you want to support me you can sign up on dropbox via my referral link or just push this nice thanks button .. If you want to donate you can donate to thalamus or the cm team something. I'm learning C and linux and vorkKernel is my learning project and it is a hobby for me. Anyway if you still want to support a poor student, I have a link above my avatar
Thanks to:
the whole CM Team
thalamus (for base kernel and being totally awesome)
Erasmux
All guys that made pull request and contributed in any possible way
Donators to our project (app or kiljacken's donate link)
the android community
and a very big thanks to b3ndech0 for his buildbox.
Thanks! Will test it soon.!
Did you tested it with Defrost 4.1? Get random reboots with his kernels hope your will solve this!
I run it with cm. And df and cm are nearly the same so maybe it will work for you. (My desire don't like high oc so this slight oc could fix your problems)
I'm using opendesire 4.0.15 and the wifi doesn't work with this kernel. When i try to activate wifi, it says "Error" in the menu. If I try a full wipe will it help?
Oh, and what's the difference between havs and svs kernels (i installed havs, it was first on the list)? Now if it's a "when you ask this you really shouldn't be here" type of question, I apologize for spamming...
Thanks a lot Desire ftw
Sent from my HTC Desire using XDA App
Benee said:
I run it with cm. And df and cm are nearly the same so maybe it will work for you. (My desire don't like high oc so this slight oc could fix your problems)
Click to expand...
Click to collapse
Ah thanks .... oc was not the problem i dont use OC ;-) because i need SetCPU for it. Is this the same with your Kernel? Do i need SetCPU?
Will look into the wifi issue when I'm at a PC again. And SVS (static voltage scaling) is the standard to set the Mhz and HAVS is a method from intersectraven which mixes SVS and AVS (AVS uses the temperature of the cpu to set the clock). HAVS uses slight less battery.
Hope I managed it to explain this good enough.
xtcislove said:
Ah thanks .... oc was not the problem i dont use OC ;-) because i need SetCPU for it. Is this the same with your Kernel? Do i need SetCPU?
Click to expand...
Click to collapse
I don't use it and don't see a reason for using it, because the max voltage from standard max clock (1275mv) to the oc (1113 Mhz) (1275mv) is the same.
it is work for opendesire?
I'm sure this was asked above this post, however, I'm confused if I should use SetCPU with this Kernel, or it automatically sets it at 1.1GHz? Would I still need SetCPU to increase the frequency?
First I pulled the release because I forget to add the wifi module. Will upload it tomorrow again. Then fully working.
Then no need for setcpu. The Kernel will set the clock itself (max 1113 Mhz).
Both Kernals work with OpenDesire 4.0.17 (experimental) but I had problems with ADW Launcher f/c Launcher Pro/Zeam/GDE and Stock Launcher seem fine. Notice Wi-Fi so no further testing. Will be interesting to see what if any affect HAVS has on battery with OD as this does give good life already. Used to use PAYS Rom with HAVS and that made big difference to batt so we will see. Look forward to tomorrow.
Thanks for your contribution to Desire and good luck.
please
pls add exact values for uv and axi.
make aversion with cfq.
fixed Wifi now
bongmaster2 said:
pls add exact values for uv and axi.
make aversion with cfq.
Click to expand...
Click to collapse
What extra values? and why cfq? BFQ runs bette imo
kfasheldon said:
Both Kernals work with OpenDesire 4.0.17 (experimental) but I had problems with ADW Launcher f/c Launcher Pro/Zeam/GDE and Stock Launcher seem fine.
Click to expand...
Click to collapse
Thanks. Will look into the ADW Problem
How is batterie drain with this Kernel? Now use Defrost with svs 1113mhz and Batterie drain is big, bigger than the OD Kernel with the same MHz.
I'm using the HAVS one mainly and I'm quite satisfied with the Battery. But hard to tell because it variates thru different usage and settings (like Display brightness)
Benee said:
What extra values? and why cfq? BFQ runs bette imo
Click to expand...
Click to collapse
the values for axi bus speed. how much mhz at which processor frequency. and the millivolt values for every processor frequency. just 2 tables for comparism with other kernels.
bongmaster2 said:
the values for axi bus speed. how much mhz at which processor frequency. and the millivolt values for every processor frequency. just 2 tables for comparism with other kernels.
Click to expand...
Click to collapse
acpuclock-scorpion line 68
The batterie drain with auto brightness and much Internet use. Compared to svs kernel from Defrost 4.1a with svs 1113mhz.

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

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.

[Q] Where I can read about OC/UV Beater setup?

Please advise me, what settings are the best for HTC Desire S (SHADOW HAWK V2.0|Sense 3.0|Android 2.3.5[2.10.401.8] ROM)?
Or give me a link where I can read what mean: VOC1, VOC2, VOC3, UV1, UV2 pages?
It's really not hard to understand,
VOC 1 2 and 3 are 3 profile of CPU frequency tweakers :
Here you can chose the governor and the frequency of the CPU
You can set wake and sleep governors, low frequency and high frequency.
With Hyperion kernel, i set
ondemand
245000
1152000
conservative
245000
614400
I don't know if you can OC/UV with a stock kernel.. Maybe someone can answer you better than me.
And it's really fluid and low battery eater.
UV1 and 2 are profiles for CPU voltage tweakers
CPU voltage tweak can affect the stability of the system.
The lower the voltage is the greater the battery life is.
I advise a -25mv every where (ALL -25)
But not more, i had stability issues with -50 and more.
I know how to set a cpu clock but I don't understand those profiles onemand, virtuous, conservative etc. Could someone explain me the diffrence between them?
IT.Adviser said:
Please advise me, what settings are the best for HTC Desire S (SHADOW HAWK V2.0|Sense 3.0|Android 2.3.5[2.10.401.8] ROM)?
Or give me a link where I can read what mean: VOC1, VOC2, VOC3, UV1, UV2 pages?
Click to expand...
Click to collapse
if you are using stock kernel then you cant OC or UV
but if you use a custom kernel like Hyperion kernel you can OC /uv
VOC1 is for setting the frequencies
this is what i use
wake
governer: virtuous
min:384000
max:1228800(you can set it higher if you have any lag)
sleep
governer: conservative
min:245000
max:384000
press perm activate button
VOC2,VOC3 are like more profiles which you can switch to when needed
UV1 is for reducing/increasing voltage
if you are using hyperion v2.0 kernel you can uv by -50 (-25 if you have stability issues)
to do this press all -25 twice & then press perm activate
If you are going to change UV settings use the temp activate for a while cause if the phone freezes it will revert to stock settings on reboot
Sent from my HTC Desire S using XDA App
These are called governors. They control the way the CPU ramps up between the maximum and minimum frequency. Go to setcpu's website for a list of descriptions between all the different governor s
Right, setcpu homepage explained me everything.
kartkk said:
if you are using stock kernel then you cant OC or UV
but if you use a custom kernel like Hyperion kernel you can OC /uv
VOC1 is for setting the frequencies
this is what i use
wake
governer: virtuous
min:384000
max:1228800(you can set it higher if you have any lag)
sleep
governer: conservative
min:245000
max:384000
press perm activate button
VOC2,VOC3 are like more profiles which you can switch to when needed
UV1 is for reducing/increasing voltage
if you are using hyperion v2.0 kernel you can uv by -50 (-25 if you have stability issues)
to do this press all -25 twice & then press perm activate
Click to expand...
Click to collapse
Thanks Kartkk for the info. I am using the Endymion sense 3.5 ROM with the Endymion Kernel V2 on my Htc Desire S. Sorry for being such a noob at this but just wanted to ask you lot soemthing. Users on that forum somehow seem to get Quadrant Scores of over 2000, I only manage score upto like 1750 with the settings you have mentioned above. Please Advise.
Thanks in advance.
I'm running a pre-rooted, deodexed 2.3.5, and have now tried 2 different kernels (unity and hyperion) and while I can make changes in SetCPU, I'm unable to alter tin UV settings in UV/OC beater because the kernel doesn't allow it.
Does anyone understand why this might be? X
Default undervolt values
Can someone please post the default undervolt values for the respective frequencies. I want to set back my phone to the default voltage. Thanks allot
OV is risky business if you ask me
I have htcdev unlocked DS (after ics ruu) S-on,...
I guess that some kernels allow UC/OC and UV/OV but some don't. I only tried two diffident roms fallout v5 which allowed both, but now I running finnys JB 4.2.1 rom which allows only UC/OC but not UV/OV(according to pimp my rom app).
Benchmarks cores; fallout5 antutu score: 4600, JB antutu score: 4050 but JB runs faster, smoother, slicker
And if you cannot find default values just restore nandroid backup image, and then look for values there.

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][3.0.31][HDMI][FULL HD][GUIDE 1.8]JBX-Kernel Hybrid [1,5ghz]

/// JellyBeanX-kernel ///​
DISCLAIMER
Me, XDA-Developers.com and anyone else doesn't take any repsonsibilty for damages on your device!
Rooting your device will void your warranty!
Don't play with settings you aren't familiar with, you could burn your device!!
Click to expand...
Click to collapse
READ THIS: I added almost all important topics which have been discussed around the kernel thread to the OP and wrote this FAQ just that you guys don't have to browse through 100+ pages of the thread. READ BEFORE YOU ASK and HELP TO KEEP THIS THREAD MORE CLEAN! BUT ALSO BETTER ASK ONCE MORE BEFORE YOU MESS UP YOUR PHONE! If you find something missing in this OP/FAQ, please PM me and I will add it. Thank you!
You can find the FAQ at the bottom of this post!
This is a direct port of my RAZR-JBX-Kernel Hybrid for Motorola Razr!
This kernel is built of the Kexec Project which was initiated first by Kholk & [mbm] and finished by the STS-Dev-Team (Hashcode, Dhacker). Using this kernel will provide addtional features to your ATRIX 2.
LATEST CHANGES (for latest release and NIGHTLIES)
--> DETAILED CHANGELOG JBX-kernel Hybrid <--
Kernel Guide by Placca 1.8!!
Check the FAQ section at the bottom of this post to download it! It will make many things easier for you and help you to understand the kernel and its features!
FEATURES
JBX-Kernel Hybrid
Battery Friend toggle (a battery friendly mode)
Intelli-Plug (Kernel side replacement for msm MPDecisions) by Faux123 + patches by me (no hotplugging when screen is ON)
Dynamic Hotplug: Second core will be turned off ONLY while screen is off - independent from selected governor. (Not needed when using Intelli-Plug)
Optimized OPP Table for smooth CPU scaling
Frequencies: 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300
Modifed Smartreflex driver (Custom Sensor for detecting n-Value).
Smartreflex Tuning Interface: Set min/max calibrated voltage
Overclocking using Live OC (mine runs stable at a maximum frequency of 1,498ghz!)
hwmod, uart, IRQs - cleanups from pre-kexec config to safe power
CPU: lower voltages for CORE and IVA. Give CORE the abbility to scale up to higher voltage if needed
Added IVA_NITROSB
Dynamic fsync control: FSYNC interval is dynamic depending on screen state (SCREEN OFF: synchronous, SCREEN ON: asynchronous)
HTC's Asynchronous Fsync port - read explanation below*
Dynamic page-writeback: Page writeback interval is dynamic depending on screen state.
Frandom v2
JRCU / Tiny RCU (currently JRCU in use)
Raised voltage limits for mpu a bit
Raised the temperature limits from 64c* to 74c* (degrees)
optimized CRC32 algorithm (better code generation)
RW Readahead dynamically depending on storage device (automatic detection of the best value)
zRAM support
GPU has 4 scaling steps and OC to 384mhz (Base freq: 102 mhz --> 154 mhz, 307 mhz, 384 mhz)
GPU C4 states / GPU Control (Governors, Frequencies)
Multicore Power Saving Mode Control
ARCH Dependant Power feature
Gamma Control
Front Buffer Delay Control (draw in x msecs on early suspend)
Screen/Display: Modified OMAPDSS for sharpness and lightning colors
OMAPDSS: Added variable clock rate and OPP - allows the screen to scale down power and voltage
lowmemkiller: Heavy modified for R/W Speed and efficient performance
ZCACHE, ZSMALLOC, XVMALLOC backported from 3.4, 3.7 and 3.10 (ZCACHE currently not in use)
Custom Voltage Support
IO-Schedulers: SIOPlus, Fifo, Row, VR, Noop, Deadline, CFQ, BFQ
ROW Scheduler is heavily tweaked to be the fastest scheduler ever!
CPU: More Governors
Deep Idle
ARM Topology
Many improvements in overall OMAP PM
SELinux permissive
GREAT performance!
battery life!
Support for Trickster Mod Kernel Control App (Download from Gplay)
*]Too much stuff to list here. See "Sources" below and check my Github
* HTC's Asynchronous Fsync and Dynamic Fsync:
Asynchronous fsync (called "afsync" or "async fsync") from HTC is ported into this kernel. By default it's enabled and dynamic fsync is disabled (and as well it isn't needed anymore).
The dynamic fsync toggle in Trickster Mod is now serving both functions - the dynamic fsync AND the asynchronous fsync! How? By default Dynamic Fsync is disabled, and Afsync is enabled. If you now enable Dynamic fsync using the toggle, Afsync will be automatically disabled, so both functions are not conflicting each other - and this way we have a working toggle for both of them.
CAUTION
This is a work in progress! Some of the current features are still not in final stat. If you are facing issues report back here and DON'T spam the threads of the rom you're using!
Be careful with some settings such like Voltage and Overclocking!!! If you aren't experienced with these things, dont play with 'em!
Click to expand...
Click to collapse
REQUIREMENTS
Rooted device
Must use a Kexec Rom (CM, AOKP, AOSP)
Recovery (BMM, SS)
REMOVE any kernel modules you used before
DEACTIVATE ANY CPU tweaks, onboot settings etc otherwise your phone may not boot!
CAUTION: The kernel needs a clean setup related to CPU tweaks / Settings, etc...Keep your device as clean as possible regarding to Tweaks, CPU special settings, etc. The Kernel brings its own CPU settings and after you can boot it succesfully, you can set it like you want!
Some roms may use CPU tweaks. This can cause issues like reboots and freezes. Check the init.d folder for any CPU related stuff and Kernel modules - then remove it. E.g. Remove any scripts which include "insmod" commands.
The best setting is to have stock CPU settings set
This kernel may not work on all roms! Check and report.
TO DO LIST
- Fix bugs
- Fix compile warnings
- More features.
INSTRUCTIONS
NOTE: CLICK here for a detailled Installation Guide (about the Aroma Installer, the features to select and more)
Download zip file from below
Reboot into recovery
Flash the kernel (BMM users: DON'T use the "Flash Kernel" Option! This is a usual zip file!)
Reboot
Download Trickster Mod App from Gplay! Read the FAQ to learn about playing with kernel features!
Enjoy!
EMERGENCY RESTORE
If you have tried a Nightly build and you phone is acting crazy, you can follow these steps:
Check the thread or ask for the latest stable kernel build
NO WIPES!
Flash the Rom (Yes, again! That one you're currently using.)
Flash Gapps
Flash Kernel
Reboot
DOWNLOAD
JBX-Kernel 3.0.8 Versions:
0.8.x ==> Android 4.2.2
1.x == > Android 4.3
2.x == > Android 4.4
JBX-Kernel 3.0.31 Versions:
3.x == > Android 4.4
TEST BUILDs
Test builds are potential prerelease builds which need some more testing before pushing to all users.
CAUTION: Should be stable mostly! But use at your own risk though!!
---> TEST BUILDS [CF] <---
XPERIMENTAL BUILDs
These builds include features without promises to work.
CAUTION: There is no promise that these version are stable/working/whatever! Use at your own risk!!
---> XPERIMENTAL Builds [Dev-Host] <---
---> XPERIMENTAL Builds [CF] <---
Click to expand...
Click to collapse
Something went wrong?
If you think you have set wrong "on-boot-values" in Trickster Mod flash this:
TRICKSTER RESET: http://dtrailer.de/kernel/trickster_reset.zip
FAQ
CAUTION: This FAQ and the whole OP, additional informations about Governors, IO Schedulers and detailed informations about the usage of Trickster Mod and this kernel can be viewed in the awesome Kernel Guide by Placca!
Kernel Guide 1.8
PDF: http://www.mediafire.com/download/7zaddcmvtxfk9ry/JBX+Kernel+Guide_v1.8.pdf
CHM: http://www.mediafire.com/download/g3ck1bf1k3a3j38/JBX+Kernel+Guide_v1.8.chm
CLICK HERE TO OPEN THE FAQ
Please check the following points if you don't know how to use the features of the kernel or you are facing any kind of issues.
INDEX
1. Kernel Features
1.1 Smartreflex (Turn ON/OFF, adjust min/max range)
1.2 Live OC (Realtime Overclocking)
1.3 Custom Voltage (EMIF)
1.4 GPU Overclock
1.5 Gamma Control
1.6 Battery Friend
1.8 IVA Overclock
1.9 DPLL Cascading (Currently not in use)
1.10 HDMI toggle
1.11 Intelli-Plug
2. Issues
1.1 How can I change the smartreflex minimum/maximum voltage
What is Smartreflex?
SR is compareable with an CPU governor but not for scaling frequencies but for voltages. That means SR has a fixed range of voltage (min/max) and calculates the optimal voltage for each CPU frequency. In example on light use of the CPU it scales down to lower voltage - on heavy use it can sclae to higher voltage. This is an efficient system to save power! Compared to EMIF which uses the hardcoded voltages it saves more power because it's variable. EMIF cannot vary between the values.
This interface has a hardcoded range of 830mV min to 1450mV max. Usually there is no need to adjust these values but irt can be usefull in example when using high overclocked frequencies above 1,5ghz! Usually SR cannot handle frequencies above 1,5ghz and I have hardcoded the maximum range of 1,45mV which should allow SR to handle it. In prior times the users had to turn off SR when OCing above 1,5ghz which causes the CPU to eat more power. But you can try around and report your results.
CAUTION: Don't raise the maximum SR voltage too high! It can burn your board = no phone anymore! I recommend to not use higher values than 1490mV! As already mentioned: THe default value should be enough!
ANd also: USUALLY THERE IS NO NEED TO CHANGE ANYTHING ON SR! IF YOU DON'T KNOW WHAT YOU'RE DOING, PLEASE LEAVE IT ALONE!
Ok, now let's see how to do this:
Turn ON/OFF SR
1. Open Trickster Mod
2. Head to the "Specific section"
3. Scroll down to "Smartreflex"
4. You can toggle ON/OFF SR for each component (IVA, CORE, MPU)
Usually I recommend to keep SR ON because it saves power! But in some cases when overclocking the CPU (MPU) the device could freeze - whether you OCed too much or SR couldn't handle the frequency! In this case you can try to raise the vmax value of SR a little bit (CAREFULLY!) and try again. If it sitll freezes and you're sure that you didn't OC too much, turn SR OFF at least for MPU!
Maximum Voltage
Currently there is no app which supports the feature of adjusting the SR vmax value, because I wrote this feature some days ago.
But in the next Trickster Mod version this option will be supported!
example:
# To read the current vmax value. Replace XXX with one of the following:
sc_core - for core max sr voltage
sr_iva - for iva max sr voltage
sr_mpu - for mpu max sr voltage (mpu is most related for CPU scaling)
cat /sys/kernel/debug/smartreflex/XXX/vmax
# You will get an output, e.g. for mpu = 1450000 (1450mV)
# To set a new value, do the following command (replace XXX with a value like above - BE CAREFUL! USUALLY THE DEFAULT VALUE ENOUGH AND YOU CAN LEAVE IT UNTOUCHED!)
echo XXX > /sys/kernel/debug/smartreflex/XXX/vmax
Minimum Voltage
It's easy because Trickster Mod supports it!
1. Open Trickster Mod
2. Head to the "Specific section"
3. Scroll down to "Smartreflex"
4. Below each SR component (IVA, CORE, MPU) there is displayed a value (usually 830 default) which means this is the lowest scalable voltage for this component. You can try to decrease this value for the case you want to UV a bit more - or raise it a bit for the case you think that the set range is too low and causes freezes on your device.
1.2 How do I use Live OC (Live OVerclock)?
This feature allows you to overclock the CPU in realtime. It works with a multiplier value set by the user. The default multplier value is "100", which means: No OC! If you want to raise the OC frerquency, just raise this value step by step.
FOr my device the maximum working OC value is "111" which means the maximum frequency is running at 1498mhz!
NOTE: Keep in mind that you tunr Smartreflex OFF for higher freqs than 1500mhz - or raise the maximum SR voltage range for "MPU" a little bit and test if it works.
Ok, how to use Live oC in action:
Open Trickster Mod App and swipe to the tab "Specific". There you will find something like this:
Code:
MPU OC [100]
DON'T TOUCH THE "CORE OC" SECTION, IT WILL CAUSE FREEZES!
Now slowly increase the value "100" to something higher, e.g. "105". Tap the hook in the right upper corner to confirm. To see your new set of frequencies you can now whether close and restart Trickster Mod or just use any monitoring app like Cool Tool which will show your frequencies in real time. That's it!
CAUTION: You can damage your phone forever!!!! This feature allows you to set very high frequencies (also up to 2,0ghz...) - That DOESN'T mean that your phone can run these frequencies!
If your phone freezes or crashes you have probably set too high OC - or your voltage is too low.
1.3 How do I use Custom Voltage (EMIF)?
NOTE: This only adjusts the fixed voltage! When you have Smartreflex ON it can still vary! You have to see the bigger picture: This voltage value sets the "middle point" for voltages. Smartreflex is still able to increase or decrease the voltage. When Smartreflex is OFF the CPU will stay on this voltage you set here and probably eats also more power.
How does EMIF works together with Smartreflex:
Code:
-------
| CPU |
-------
|
------------------ ------------------
|Voltage 1015 mV | ---->| SMARTREFLEX ON| = 1015mV +/- "vmax"/"vmin"
------------------ -------------------
|
--------------------
|SMARTREFLEX OFF| ----> 1015mV FIXED! No changes!
-------------------
Thi smeans if you change the voltage for a scaling step (OPP) while SR is ON, SR will adjust the voltage from this value, means: mV-Value +/- SR vmin/vmax. WHen SR is OFF it will stay on this mV as a fixed value.
How to adjust the voltage?
Well, this feature can be used with all generic apps which are supporting voltage settings. But we are prepared well, you can adjust voltages also with the "Trickster Mod App".
When you open the app, head to the tab "Specific" and below the "Live OC Section" you will find your voltage table, which looks like this:
Code:
<-->
1200 [1398]
1000 [1388]
900 [1371]
...
..
..
Now just tap the arrows in the right upper above the first voltage value and just type or tap (per direction) a value, e.g. "-25". To apply it, confirm by tapping the hook in the right upper corner of your screen. That's it, your new voltage values are now set and applied. And also mind here: If your phone freezes you porbably have set it too low.
CAUTION: NEVER SET HIGHER VOLTAGE THAN 1490mv here!!!!! Or you might damage your phone FOREVER!
This voltage is not the same like Smartreflex! But it's still voltage! Just be carefull!!
1.4 How can I use GPU OC and GPU Governor?
GPU Overclock doesn't work like Live OC! You cannot really set custom frequencies for the GPU, but you can select and set the maximum frequency from a hardcoded range!
For the GPU there are the following available frequencies:
154mhz (FIXED!)
307mhz
384mhz
416mhz
The minimum frequency of 154 is FIXED! This means you cannot change it because the GPU needs a minimum speed to run with. But the kernel allows you to select the maximum speed. This can be usefull for playing games and also for saving power . In example when not playing games you don't need the GPU to run at 416mhz! Set it to 307mhz in this case and save power.
When you open Trcikster Mod and head to the "specific section tab", you will find "GPU MAX FREQUENCY" and it's currently set maximum frequency. Tap on it to select your preferred one:
- 154 Mhz
- 307 MHz
- 384 MHz
That's it. The new setting will be your new maximum GPU frequency.
Below there's another option called "GPU Governor". Just tap on it and select your prefered one.
NOTE: If you want to track current GPU frequencies and watch governor's behavior, just switch to Trickster's "Informations" - Tab and watch the frequencies clock.
1.5 How can I use Gamma Control?
What is gamma? The gamma setting sets the color range for the screen. You can compare it to the contrast. We all know that the touchscreen eats most of the power compaerd to all other components in a smartphone! A lower brightness causes less power consumption and a lower gamma or contrast range alos helps a little bit to save power.
In this kernel you can choose from a range of "5 - 10" while "5" is very bright while "10" is very dark. The default setting is "5" BUT CAUTION: Trickster Mod will display a range of "0" to "10" and the default setting will be shown as "0". This is caused by the fact that this feature was ported from the Gnex device where you can choose from a higher range. The only sideeffect is that the values "0" - "5" won't show any difference.
How to set the gamma value?
Well, once again open Trickster Mod and swipe to the tab on the right end. Just select your preferred value by using the slider.
Alternately you can use sysfs by terminal or adb:
OMAP Gamma interface:
echo i > /sys/devices/platform/omapdss/manager0/gamma
Replace i with 0-10 of your choice.
1.6 What is "Battery Friend and how to use it?
Battery Friend is a simple toggle (ON/OFF) which sets your device into a battery friendly mode without the need to play with all settings in Trickster Mod /sysfs until you find a good setting. In fact it does the job for you.
What does it affect?
NOTE: Doesn't lock anyx frequencies anymore!
locks dynamic Fsync enabled
locks Fsync disabled
Doesn't allow any OC (Live OC will not have any effect, Core OC is not allowed in this kernel)
Increases the dirty ratio interval to 90% (starts working at this value)
Enables Dynamic Hotplug: This doesn't allow hotplugging during device is active - and it will always turn CPU1 OFF during suspend! It also prevents from conflicts when user uses a hotplug governor (which isn't a good idea though) - but hotplug governors are causing higher battery drain!
Dynamic Page-writeback always enabled
How to toggle Battery Friend:
For now the only way is via terminal, adb shell or root explorer (text editor)
For terminal and adb:
Code:
echo 1 > sys/kernel/battery_friend/battery_friend_active /* Enable */
echo 0 > sys/kernel/battery_friend/battery_friend_active /* Disable */
For Root Explorer
Open Root Explorer
Navigate to sys/kernel/battery_friend/
Open "battery_friend_active" with Text Editor
Change "0" to "1" and safe the file to enable
Change "1" to "0" and safe the file to disable
1.7 Suspend Governor Control (CURRENTLY DISABLED)
Suspend Governor Control is a kernel module written by me. You can use it to set your preferred Screen-Off-governor.
For now it's only supported by sysfs (Trickster Mod will support all my current and upcoming features as soon as it gets updated with its new UI mode!
How to set suspend governor
Open a terminal or use adb shell
Code:
su
echo "x" > /sys/kernel/suspend_gov/suspend_gov
Replace x with one of these values:
0 = Ondemand
1 = Ktoonservative
2 = Conservative
3 = OndemandX
NOTE: No matter what governor you use for suspend mode, if Battery Friend is enabled the second core will be turned off during suspend!
1.8 IVA Overclock
What is IVA OC?
IVA OPPs are controlling the CPU load for sound events. It could be useful (in some cases) when you get sound related laggs. Just set the maximum frequency to highspeed. This will allow more CPU power for sound events but also will cause higher battery consumption.
How to use IVA OC?
If you want to check the current IVA frequency. Just type in Terminal or ADB:
Code:
cat /sys/devices/system/cpu/cpu0/cpufreq/iva_clock
You will get an output like this:
Code:
132 Mhz
2. You can whether enable IVA highspeed: 130 - 430 Mhz ["1"] or enable IVA normal speed: 130 - 332 Mhz ["0"]
320 Mhz max: echo "0" > sys/devices/system/cpu/cpu0/cpufreq/iva_freq_oc
430 Mhz max: echo "1" > sys/devices/system/cpu/cpu0/cpufreq/iva_freq_oc
1.9 DPLL Cascading
DPLL: Davis–Putnam–Logemann–Loveland (DPLL) algorithm
To get more info about this please see wiki
But to sum it up shortly: It helps to use/stream media (music) in a low power mode.
NOTE: DPLL Cascading will be available to be switched easily via Trickster Mod App soon!
How to switch DPLL?
DPLL is ENABLED by default!
Open Trickster Mod -> Speicific Tab --> DPLL (soon)
sysfs:
Turn off:
Code:
echo 0 > /sys/kernel/dpll/dpll_active
Turn on:
Code:
echo 1 > /sys/kernel/dpll/dpll_active
1.10 HDMI toggle
Some users are facing a RAZR-sepcific problem: HDMI cable is detected, even though there is no cable plugged!
Therefor I included a toggle to switch HDMI wether ON or OFF. Additinally there's an init.d script included within the AROMA Installer you can select during the installation of JBX-Kernel.
To enable/disable HDMI on-the-fy:
sysfs:
Turn off:
Code:
echo 0 > /sys/kernel/hdmi/hdmi_active
Turn on:
Code:
echo 1 > /sys/kernel/hdmi/hdmi_active
1.11 Intelli-Plug
For intelli-plug hotplugging is now only allowed when the device enters sleep.
To enable hotplugging universally just change the value of the following entry whether to 1 (on) or 0 (off):
Code:
sys/module/intelli-plug/parameters/int_hotplug
*Unfortunately I don't have enough space in the OP to write all this into the FAQ, that's why the I only added the sysfs path, but the description is simply here
2. If anyone has the following issues:
Issue
Media Process FC
No SD-Card in File Explorer
My CPU Settings (frequencies, etc) won't be saved (it sets itself back to Kernel default after screen off)
My phone freezes/reboots always when I try to set options in Trickster Mod
The device is lagging very hard
Solution
Media FC: Open App settings, head to "Download Manager" and "Media Storage" and hit the "delete data" button. Reboot. Now it shouldn't give any FCs anymore and after a little bit of waiting it will find all Media (Pictures, Videos, etc..)
No SD-Card: Reboot into recovery, go to "Mounts & Storage", tick "mount int" or "mount ext".
USB: Make sure the screen is ON while plugging the cable in.
CPU Settings: This is a bug which cannot be solved at the moment. Temporary solution: In Trickster Mod just activate the "Frequency Lock" and your settings will persist.
Trickster Mod:: Open App settings, Trickster Mod and select "uninstal updates". Now it should work.
Crashes, Freezes, lagging, something doesn't work, etc
There are too many reasons which could cause crashes! So here is a checklist for you to look for. Check each point and try the following workaround:
- Your rom has CPU tweaks (e.g. Kernel modules, init.d folder, etc)
- You have set custom CPU settings (e.g. custom frequencies with apps like No-Frills CPU Control, Set-CPU, Antutu, etc...)
- You have undervolted too low
- You have overclocked too high
- You have applied higher "Core OC" value in Trickster Mod App
- You are running any other kernel tweaks which are regarding to the CPU and/or performance (e.g. Kernel modules by Whirleyes eventually set by init.d, etc..)
- After setting some settings (e.g. in Trickster Mod) your device doesn't boot anymore
- adb doesn't work / shows only "device offline"
- You are facing hard lagging
If any point here matches your setting, please revert from it:
- Remove any CPU init.d script from /System/etc/init.d
- Uninstall any CPU controling app (e.g. Set-CPU, No-Frills, etc..)
- Remove all extra kernel modules from system/lib/modules (e.g. cpu_control.ko, cpufreq_smartass2.ko, etc..)
- Unset any custom settings from any other kernel / CPU - tweaking app which is NOT Trickster Mod
- Maybe your governor causes issues. Hotplug is know for bugs at the moment...I'm going to fix it..
- NEVER set your CPU Settings (e.g. in Trickster Mod App) on boot!!!! - before you aren't sure that your settings are safe!!!
- You may flash the kernel again after reverting related settings
- to make adb work / show device online, download latest SDK platform-tools and confirm access on device (4.2 security feature of Android)
- Don't use any task killers, memory killers, seeder apps! They may conflict with the kernel/Rom settings.
If none of these suggestions work for you your rom may be incompatible. Please report it here that I can add the rom to the list of imcompatible roms
If you have any issue, please read this:
First check:
- is it really a kernel issue?
- did I see this bug with the roms original kernel?
- what are the people in the rom thread saying?
- what are the people in the kernel thread saying?
- can I find this issue on a bug list?
- how about my settings? Is it my fault it crashed?
- can I find something useful in the kernel FAQ?
- Is it maybe a well known issue and can be solved
withing seconds? Just like wifical.sh?
- Where to repeat that issue? Rom or kernel?
I know it's sometimes difficult to track the issues, and we can't know for sure if it's caused by the rom or by the kernel, but if you try at least to get some information you might find an answer sometimes. If you are able to understand logs, you may report whatever you find.
All this helps to keep the threads more clear. Thank you.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
DONATE
If you like my work and want to support me, I'd enjoy a little beer or coffee. You can find my beer mug below my username
SOURCE
3.0.8 Base:
JBX-Kernel 4.2.2
JBX-Kernel 4.3
CREDITS
Kholk & [mbm] - Kexec inital Release
Hashcode & Dhacker - Making Kexec stable and initiating compatible kernels
Motorola - 3.0.8 Kernel Source
Surdu_Petru - Sharing Knowledge and helping with problems
nithubhaskar - Hints and answering my questions
Ezekeel, Imoseyon - Custom Voltage, Live OC, Temp Control, Gamma Control Source Code
faux123 - Some features, like Intelli-Plug, Intellidemand, Intelliactive
bigeyes0x0 - Trickster Mod App
Team Trickster - Great support and adding new features from my suggestions
Placca - Awesome kernel guide
Click to expand...
Click to collapse
3.0.8 / 3.0.31
There is the classic JBX 3.0.8 Kernel (a hybrid of 3.0.8, 3.0.21, 3.4, 3.7, 3.8, 3.10, 3.11, mostly backports from these versions)
And now there is also JBX 3.0.31 (also a hybrdig including the above backports, but also from 3.0.101)
I won't list the whole version history, too long
3.0.31 first TEST-BUILD now coming!
- also reserved -
And it arrives...
Many thanks man...
Really appreciate you doing this...
---------------------------------------------------
May the -Mass times Acceleration-be with You...
I need the internal storage mount points from someone with stock kernel, please. I saw something about mmcblk0 - int ? Please anyone check the /mnt partitions and tell where the internal and external sdcards are mounted. thx
Edit: nevermind, I didn't know this device doesn't include an internal storage. Now I need to know if USB mount works on Devesh's Rom ports.
Used Stock ICS Based ROM on System 1 with BMM , and Mobile Terminal .
hope its ok .
Wow !
I see some awesomeness coming to our A2s *Respect*
All is set up. Everything works, so I will now build the first test kernel for you guys.
First test kernel in NIGHTLIES folder. Please test and report. Keep in mind that you have to be on one of Devesh's Rom Ports!
Edit: Sorry, forgot something! Please wait 5 mins...
Edit: Done!
Dirty flashed, liquid smooth slot 6 oc1350 running good.
MB865/ATT/BMM
1. Stock 4.0.4
2. Miui 4.0.4
3. Pac man 4.2.2 (6/3)nonkexec
4. Mt
5. MT
6. Cm 10.1 4.2.2 (6/7)kexec
Can I get a wohooo for the A2
JB leak?
Sorry for asking dummy question. Can i flash it on the JB leak because we still need JB leak for installing kexec room right? So if I want to try what possibly would happen?
dtrail1 said:
First test kernel in NIGHTLIES folder. Please test and report. Keep in mind that you have to be on one of Devesh's Rom Ports!
Edit: Sorry, forgot something! Please wait 5 mins...
Edit: Done!
Click to expand...
Click to collapse
Man! You really are damn energetic and enthusiastic, aren't you? Really glad to have you around.. Thanks again.. :thumbup:
Sent from my MB865 using Tapatalk 2
amynjimmy said:
Dirty flashed, liquid smooth slot 6 oc1350 running good.
MB865/ATT/BMM
1. Stock 4.0.4
2. Miui 4.0.4
3. Pac man 4.2.2 (6/3)nonkexec
4. Mt
5. MT
6. Cm 10.1 4.2.2 (6/7)kexec
Can I get a wohooo for the A2
Click to expand...
Click to collapse
How did you OC ? i just can't get the phone to Overclock properly with this trickster app ..
afeeq said:
Sorry for asking dummy question. Can i flash it on the JB leak because we still need JB leak for installing kexec room right? So if I want to try what possibly would happen?
Click to expand...
Click to collapse
You cannot. It needs a kexec Rom. So flash it first
M.o.t.o.r.o.l.a.R.a.z.r - JBX-Kernel 0.6 - Tapatalk4
New nightly online with fixed CPU and live oc! @Brantuck84
Edit: sorry, wrong thread!
But ne nighty comes here too in 5 mins
M.o.t.o.r.o.l.a.R.a.z.r - JBX-Kernel 0.6 - Tapatalk4
So with the current version there is a bug with OC ? ( i don't see TEST2 for Atrix like with the Razr version).
Yes, device starts lagging when OC too high (over oc value of ~107). But new release comes with fixes - OC up to 1,5ghz possible without any problems (Mine crashes when OC higher than 1,498mhz, each silicon is different).
I think I will push it as a release (not NIGHLTY) - only thing left to be fixed is the random black screen while booting. But that's not that important as long as the kernel works well when booted successful.
Edit. done!
Great can't wait to boot 1498mz!
MB865/ATT/BMM
1. Stock 4.0.4
2. Miui 4.0.4
3. Pac man 4.2.2 (6/3)nonkexec
4. Mt
5. MT
6. Cm 10.1 4.2.2 (6/7)kexec
Can I get a wohooo for the A2
Not boot, just set it after boot - and if you're sure you have it running stable, set the "Apply on boot" function in Trickster Mod with a delay of ~90 sec - just to be safe!
RELEASE for Atrix 2
CHANGELOG JBX-kernel 0.6 Hybrid
This version includes fixes for performance and stability
CPU: Set bootup policy to static frequency
CPU: Revert some accidently failed cleanups
CPU: Reset CPU delay on tickless
CPU: Changed margins and sr settings for some OPPs
CPU: Default trimmed dpll mpu
CPU: Added Uilization
SR: Fixed SR return value check
Decreased RCZ_CPU_STALL_TIMEOUT to 60
emif, lpddr: Re-added 466mhz timings
USB: Change ehci performance mode to static scaling freq
Disabled PM_DEBUG for performance
Reduced RW READAHEAD Buffer to 1024
OMAP, CPU, RCU: Re-enabled watchdog
Universal performance invreased
dtrail1 said:
Not boot, just set it after boot - and if you're sure you have it running stable, set the "Apply on boot" function in Trickster Mod with a delay of ~90 sec - just to be safe!
RELEASE for Atrix 2
CHANGELOG JBX-kernel 0.6 Hybrid
This version includes fixes for performance and stability
CPU: Set bootup policy to static frequency
CPU: Revert some accidently failed cleanups
CPU: Reset CPU delay on tickless
CPU: Changed margins and sr settings for some OPPs
CPU: Default trimmed dpll mpu
CPU: Added Uilization
SR: Fixed SR return value check
Decreased RCZ_CPU_STALL_TIMEOUT to 60
emif, lpddr: Re-added 466mhz timings
USB: Change ehci performance mode to static scaling freq
Disabled PM_DEBUG for performance
Reduced RW READAHEAD Buffer to 1024
OMAP, CPU, RCU: Re-enabled watchdog
Universal performance invreased
Click to expand...
Click to collapse
Is his gonna allow then use of 1498 then.
MB865/ATT/BMM
1. Stock 4.0.4
2. Miui 4.0.4
3. Pac man 4.2.2 (6/3)nonkexec
4. Mt
5. MT
6. Cm 10.1 4.2.2 (6/7)kexec
Can I get a wohooo for the A2

Categories

Resources