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

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?

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,

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

[KERNEL][DEFUNCT]CM10/CM9/AOKP Kernel v6.3.6 [8/23] - UV/OC/GPU-BLN-Governors

This kernel no longer works with current CM10/AOKP ROMS - PLEASE DO NOT USE
PLEASE READ THIS ENTIRE POST THOROUGHLY BEFORE PROCEEDING...
This is a customized kernel built from SGH-I727 (aka Skyrocket) source code. This ROM has all the fixes from CyanogenMod & Team Chopsticks tree along with some other stuff.
It's very simple to install.
Ensure you've already installed a working ROM
Install Zip from CWM.
Wipe both caches (just to be safe)
Reboot
FSync Control - Courtesy of Ezekeel
FSync Control which can be used to disable the fsync system calls for single files and filesystems (echo 0 > /sys/class/misc/fsynccontrol/fsync_enabled). These fsync syscalls are used by kernel modules and user space programs to flush an I/O buffer (which is in RAM) to disk to make sure that this data is actually savely stored on the disk before executing the next step. Disabling fsync can result in data loss on a crash/freeze since the data is still in the I/O buffer and has not been saved to disk as it should be and can also lead to problems due to race conditions if two or more processes access the same file. On the other hand disabling fsync reduces the number of I/O operations which potentially could reduce the battery drain and also improve I/O performance.
Click to expand...
Click to collapse
Governors
Wheatley Governor - Courtesy of Ezekeel
http://rootzwiki.com/topic/14685-kernel27-jul-glados-v20-for-jb/page__st__90__p__405813#entry405813
Badass (default)
Badass removes all of this "fast peaking" to the max frequency. On a typical system the cpu won't go above 1080Mhz and therefore use less power. To trigger a frequency increase, the system must run a bit @ 1080MHz with high load, then the frequency is bumped to 1350MHz. If that is still not enough the governor gives you full throttle. (this transition should not take longer than 2-5 seconds, depending on the load your system is experiencing).
You can tweak the Phase 2 (1080MHz) and Phase 3 (1350MHz) via sysfs (if you don't know, then just leave it alone).
NOTE: Due to it's nature, this is not a benchmark governor. It is meant as a governor that gives you a smooth experience while saving battery.
InteractiveX
Created by kernel developer "Imoseyon," the InteractiveX governor is based heavily on the Interactive governor, enhanced with tuned timer parameters to better balance battery vs. performance. The InteractiveX governor's defining feature, however, is that it locks the CPU frequency to the user's lowest defined speed when the screen is off.
Lazy
This governor from Ezekeel is basically an ondemand with an additional parameter min_time_state to specify the minimum time CPU stays on a frequency before scaling up/down. The Idea here is to eliminate any instabilities caused by fast frequency switching by ondemand. Lazy governor polls more often than ondemand, but changes frequency only after completing min_time_state on a step overriding sampling interval. Lazy also has a screenoff_maxfreq parameter which when enabled will cause the governor to always select the maximum frequency while the screen is off.
GPU Overclocking
GPU is stock clocked at [email protected] & [email protected] (default).
Example: To increase maximum GPU frequency in 3D mode to 320 MHz:
echo 320000000 > /sys/devices/platform/kgsl-3d0.0/kgsl/kgsl-3d0/max_gpuclk
Example: To increase maximum GPU frequency in 2D mode to 266 MHz:
echo 266667000 > /sys/devices/platform/kgsl-2d0.0/kgsl/kgsl-2d0/max_gpuclk
echo 266667000 > /sys/devices/platform/kgsl-2d1.1/kgsl/kgsl-2d1/max_gpuclk
Available frequencies:
3D: 320000000, 300000000, 266667000, 228571000, 200000000, 177778000, 27000000
2D: 266667000, 228571000, 200000000
Kernel-based MPDecision
100% kernel-based multi-core decision! (should cpu1 be online or not?)
This replaces your /system/bin/mpdecision binary which is disabled by the CWM flashable.
Check /sys/kernel/msm_mpdecision/conf/ for the configuration.
startdelay = time until mpdecision starts doing it's magic (70000)
delay = time between checks (500)
pause = if something else plugs in the cpu, fall asleep for 10000
scroff_single_core = if the screen is off, don't plug in cpu1 (1)
nwns_threshold_up = runqueue threshold, if this is reached cpu1 will be hotplugged (35)
nwns_threshold_down = runqueue threshold, if this is reached cpu1 will be unplugged (5)
twts_threshold_up = time threshold, this amount of time must have passed (250)
twts_threshold_down = same as above (250)
enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
(all times are in ms)
CURRENT
Version 6.3.6 - http://tinyw.in/L1BW <-- JB: CM10 or AOKP 4.1.x
Version 6.3.4 - http://d-h.st/L8K <-- JB: CM10 or AOKP 4.1.x
Version 6.2.1 - http://d-h.st/NWo <-- JB: CM10 or AOKP 4.1.x
Version 6.0.3 - http://d-h.st/hEI <-- ICS: CM9 or AOKP 4.0.4 <- Updated 8/22 - WiFi fixes
Version 5.4.5 - http://d-h.st/ngT <-- ICS: CM9 or AOKP 4.0.4
Governor scripts
NOTE: Not needed for v6.0.2 or v6.2 and beyond
These scripts will set the CPU0 & CPU1 governors correctly. Using a tool like System Tuner only sets CPU0 to the selected governor, but leaves CPU1 running the default. This was the only way I found to ensure both CPUs had the correct governor set. Basically this overwrites your init.qcom.post_boot.sh script with one that sets both CPUs to the same governor.
SmartAssV2 - http://d-h.st/zeQ
Badass - http://d-h.st/2CU
OnDemand - http://d-h.st/GAH
Non-CM9 Camera Fix
http://db.tt/vvMoadEo <-- Thanks endlessevo for this and thanks eliminat for pointing it out!
Battery life problems?
Read this first...http://forum.xda-developers.com/showthread.php?t=1759541
Then go here to grab Better Battery Stats (BBS) ... http://forum.xda-developers.com/showthread.php?t=1179809
Mega thanks to...
Team Chopsticks
Cyanogenmod Team
showp1984
gokhanmoral
faux123
TamCore
Ezekeel
FraciscoFranco
h0tw1r3
...and the other many countless kernel devs that I've Kang'd from
I don't claim credit for any unique code. I've managed to cobble this together from the following sources with various tweaks of my own to get it all running.
Faux123 (OC/UV code) - https://github.com/faux123/msm8660-htc-ics
Tegrak (Lulzactive governor) - http://tegrak2x.blogspot.com/2011/11/lulzactive-governor-v2.html
Erasmux (SmartAssV2 governor) - https://github.com/erasmux
showp1984 (BadAss, mpdecision, some very cool stuff here) - https://github.com/showp1984
TamCore (GPU OC) - https://github.com/TamCore
Hope I'm not violating any form of informal code of conduct in grabbing your guys' code.
CHANGELOG
Version 6.3.4
Removed Governor's that just plain do NOT work on our devices
Upgrade Adreno GPU drivers
Removed WiFi PM
Various CAF updates
Added ROW I/O scheduler
OnDemand Governor enhancements to support better battery usage - Applied to OnDemand-based governors (Badass, Wheatley, Lazy).
Added Gallimaufry, Aggressive, and Scary governors
Version 6.2.1
Merged Kernel up to 3.0.41
InteractiveX and Interactive screen off max freq set to 594Mhz
ram_console added to help debug CM10 - post /proc/last_kmsg to pastebin and link here
Version 6.2
Added new Governors: Lazy, Lagfree, InteractiveX (this is V2), Interactive updated to V3 (Imoysen didn't change the name for V3)
Fixed governor change not setting CPU1 (thanks to Imoysen) - No more governor setting scripts!
Added BFQv4 i/o scheduler
Version 6.1
Merged Kernel up to 3.0.40 (works great this time)
FSync control
WiFi PM control
Added fixes from Team Chopsticks git to get Alpha 2 working...not everything, but some of the juicer pieces
LMK from 3.4 kernel
Wheatley governor added - Please test and report back
As always see Github for all the bit/bytes
Version 6.0
Reverted back to 3.0.8 kernel core
Incorporated JB necessities
See Github for the bits/bytes
Version 5.5.3
Disabled ZRAM, Westwood, and LZO kernel compression
Removed some frequency steps - UnderVolting should be a little easier since there will be less knobs to turn
Changed some GPU iofractions
Updated pegasusQ governor - Works pretty good. Disable mpdecision, though. See OP to set "enabled" to 0.
Added some JB compiler options - Would be curious to see if this works OOB if someone wants to try on JB ROM
Version 5.5.1
Big update - Merged Linux kernel up to 3.0.39 (latest and greatest fixes/enhancements)
Enable ZRAM
TCP congestion control changed to Westwood (Google it)
jRCU for small systems
WiFi tweaks for battery life and flexiblity
Check out my Github commit log for a complete list - There's just too many
Version 5.4.5
Fixed 2D GPU bus speed
Implemented fixed ala Team Chopsticks to prevent emmc erasure to prevent bricking
Minor tweaks - Trying to fix vbus_present wakelock
Version 5.4.4
Added kernel-based 3-phase thermal management
OC GPU by default
DVFS disabled
Version 5.3.2
Updated OC code to default to 1.512Ghz, but OC up to 1.89Ghz (doesn't work for me very well, but ymmv) - Thanks to jjiggens for the help!
Volume bug fixed (would remain max or silent)
New BLN code
Check Github commit log for full details
Version 5.3
Really removed 1.836Ghz OC this time
UTF-8 support added back in
Reverted voltages back to the default - should fix instabilities for some. I would suggest under-volting as they start pretty high
Version 5.2z
Removed 1.836Ghz OC - Use 5.2 if you reallllly want that extra juice.
Version 5.2
SGH-I717 (Note) Source code base
GPU Overclocking support (see OP)
Upped max OC to 1.836GHz (defaults to 1.782Ghz)
Version 5.1
UTF-8 support
Various fixes
Compiler optimizations
BLN support
Version 5.0
UCLF6-based Source (e.g. official SGH-I727 from Samsung)
BadAss, SmartAssV2 Governors
OC to 1.782Ghz
Added GPU-level control to BadAss
Lowered BadAss Phase 2 Freq to 702Mhz (you can chance ala sysfs)
Hopefully reduced wifi wakelocks by filtering more unnecessary packets
VR and SIO schedulers added (let me know how they work out)
Version 3.3
RAMDISK updates from CM9
Badass tweaked for better battery (e.g. lowered phase2/3 frequencies)
Installs init.qcom.post_boot.sh with badass set as default for CPU0 & CPU1 and disables mpdecision <-- IF YOU MADE CHANGES TO THE ONE INSTALLED, MAKE A BACKUP OF YOUR'S AND COPY OVER MINE AFTER YOU INSTALL
Added support for HFP 1.6 wideband speech
Disabled GENTLE_FAIR_SLEEPERS
Version 3.2
BLN added back in
Governors: Badass (thanks showp1984), PegasusQ, SmartAssV2, standard ones
Toolchain updated to 4.6.3
Compiler optimizations
Raised max OC to 1.782Ghz
Kernel-based MPDECISION (thanks showp1984)
Various fixes (you can check my github commit log)
WiFi: WiFi wakelock reductions (tell me if things are out of whack)
WiFi: Power off wlan interface when wifi disabled to save battery
Touchscreen lock fix (ala Team Chopsticks)
Version 2.8
Non-standard governors removed - Not really aSMP aware and caused all sorts of funky weirdness
Underclocking enabled
Clock voltages tweaked - UV for some battery savings
Version 2.5e
Reverted back to fixed max freq @ 1.728Ghz (temp until I get some other things fixed)
SmartAssV2 tweaks
Fixed L2 Frequency inconsistencies (I think this was causing the freq to stick at 1.242Ghz)
Updated PegasusQ code
Version 2.4d
Added Pegasusq governor
Version 2.3
Min/Max CPU Frequency can now be set
SmartAssV2 Governor tweaked for battery life
Version 2.2.1a
Reverted early suspend/late resume driver mod
Version 2.2
Tweaked SmartAssV2 and Lulzactive governors
Added some other power tweaks
Disabled BLN - I think this is causing some problems atm. Will add back once they're ironed out.
Version 2.1
Tweaked Lulzactive and SmartAssV2 governors
Added OC/UV code from Faux123 repo
Version 2.0
Added Lulzactive governor
Version 1.0
Stock Kernel compiled from source with SmartAssV2 governor
My Github - https://github.com/InstigatorX
First good work
Sent from my SAMSUNG-SGH-I727 using Tapatalk 2
Downloading. Will report back in a few minutes.
--
SGH-I727 using XDA premium, running cm9.
Questions? look here: http://forum.xda-developers.com/search.php
Downloading! Gonna test this on Chimera beta 2 flashed over CM9 A5. Will report back shortly, stay tuned...
Sent from my SGH-I727 using xda premium
Edit/Update.... Running GREAT! Set to smartass V2 and set min freq to 192. I used NSTools to set and double checked the govenor and frequencies with Rom Toolbox pro and Set Cpu, everything is sticking and running smooth. Been running this for an hour now, will report back if I find any issues in the future. Thanks again for the kernel, InstigatorX, GREAT WORK!!!!!!!!! (high 5)
Nothing broken
Set to smartass v2 min 192
Feels smooth. Really smooth. Hopefully this means i can leave my charger at home now
Edit: holy crap! Phone is on usb charging from laptop. This is the first time on cm9 its actually charging FAST while I'm using it!
--
SGH-I727 using XDA premium, running cm9.
Questions? look here: http://forum.xda-developers.com/search.php
I know it says that to be on a cm9 from but could I possibly flash this on sky ics?
Sent from my SAMSUNG-SGH-I727 using xda premium
No.
Btw-loses backlight after screen off. Not every time though, weird.
--
SGH-I727 using XDA premium, running cm9.
Questions? look here: http://forum.xda-developers.com/search.php
Kole_Ackerson said:
I know it says that to be on a cm9 from but could I possibly flash this on sky ics?
Sent from my SAMSUNG-SGH-I727 using xda premium
Click to expand...
Click to collapse
dont do it.
But yeah this kernel rocks!
Ok I'm on chimera flashed over aokp where are the performance settings at on here?
Edit: Using rom toolbox to set it. It seems to be sticking..
Sent from my SGH-I727 using Tapatalk 2
Should i be able to underclock? Not sticking.
If not, is it a PITA to enable?
--
SGH-I727 using XDA premium, running cm9.
Questions? look here: http://forum.xda-developers.com/search.php
mindmajick said:
Should i be able to underclock? Not sticking.
If not, is it a PITA to enable?
--
SGH-I727 using XDA premium, running cm9.
Questions? look here: http://forum.xda-developers.com/search.php
Click to expand...
Click to collapse
Works for me on CM9. Will check it out.
Sent from my SAMSUNG-SGH-I727 using xda premium
Am running cm9 too. I can set it, but when i go back in to performance its back to 1512.
--
SGH-I727 using XDA premium, running cm9.
Questions? look here: http://forum.xda-developers.com/search.php
wow i flashed this and i was on stock gingerbread rom.... now i'm bricked!!!
thanks for not putting cm9 only!!!!! What am i going to do.... Shifty eyes
haha no but i'm going to flash this tonight!!!
thanks for all the hard work!!!!!
tacotino said:
wow i flashed this and i was on stock gingerbread rom.... now i'm bricked!!!
thanks for not putting cm9 only!!!!! What am i going to do.... Shifty eyes
haha no but i'm going to flash this tonight!!!
thanks for all the hard work!!!!!
Click to expand...
Click to collapse
Dude I read the first line and was like holy shi-....oh thank god
Sent from my GT-P7510 using xda premium
BaconStep said:
Dude I read the first line and was like holy shi-....oh thank god
Sent from my GT-P7510 using xda premium
Click to expand...
Click to collapse
hahaha
So this is good to flash with aokp? I know it says for cm9 but someone posted up about aokp
softballjunkee13 said:
So this is good to flash with aokp? I know it says for cm9 but someone posted up about aokp
Click to expand...
Click to collapse
I'm running it just fine
Sent from my SGH-I727 using Tapatalk 2
tacotino said:
wow i flashed this and i was on stock gingerbread rom.... now i'm bricked!!!
thanks for not putting cm9 only!!!!! What am i going to do.... Shifty eyes
haha no but i'm going to flash this tonight!!!
thanks for all the hard work!!!!!
Click to expand...
Click to collapse
Are you kidding? The title of the thread says cm9 kernel. I really hope you are joking....
Sent from my SAMSUNG-SGH-I727 using XDA
sk8erwitskil said:
Are you kidding? The title of the thread says cm9 kernel. I really hope you are joking....
Sent from my SAMSUNG-SGH-I727 using XDA
Click to expand...
Click to collapse
Read the last two lines, he's obviously kidding.
You change/add a color filter btw? Noticing the colors are a bit warmer than usual.
Sent from my SAMSUNG-SGH-I727 using xda premium

[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

[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?

Categories

Resources