Related
SENSE Bricked-Kernel-3.0 Sensation (pyramid)
The first kernel with kernel mpdecision & 3-phase kernel thermal control
no need for those binaries anymore
Highlights:
Default clocks: 1566Mhz max / 192Mhz min
OverClockable till 1944Mhz !NOT ALL DEVICES CAN HANDLE THIS!
3D GPU Overclock @ 320Mhz (if selected during install)
2D GPU Overclock @ 266.667Mhz (if selected during install)
5 Stages 3D GPU scaling, variable io_fraction
3 Stages 2D GPU scaling, io_fraction 100
Increased bus bandwidth
L2 Performance Boost
cmdline options!
maximum screen off frequency
(configurable through cmdline options)
Sweep2Wake! (if selected during install)
>badass governor<
3-phase kernel cpu thermal control
>100% kernel based mpdecision<
The first kernel with interactive install using Aroma Installer by amarullz
with more customizations than you can dream of on any other kernel!
Features:
Code:
[U]* CM (AOSP) compatible version: See below![/U]
* 3.0.36
* based on HTCs-3.0.16-Sources
* Tested with Sense 3.6 ICS (no known problems)
* Tested with Sense 4 ICS (animations work, thx to virtuous)
* Command Line Options - innovative!
__ Rename the zip to change your settings!
* Sweep2Wake
* badass governor
* 3-phase kernel cpu thermal control
* 100% kernel based mpdecision
* Optimized
* Built with highest Optimization Level (O3)
* Strongly improved UI-performance
* KGSL Early Suspend GPU slumber
* Increased 3D/2D-Performance (GPUOC)
* CAF Bluetooth stack (newer) - faux123
* CIFS
* UTF8 encoding (included for CIFS)
* wifi pm=fast
* Tweaked ondemand governor
* Undervoltage
* Overclocking to 1566Mhz default
* Min Clock @ 192Mhz default
* Boot time optimization. CPU will have 1566Mhz clocks during boot to ensure a fast bootup
* Flashlight and Camera-Flash will now be useable until battery reaches 5%
* Tree-based preemptible RCU
* Fast scheduler for CPU hotplug
* optimized preemptive settings
* basic NTFS support
* Userspace driven configuration filesystem
* Allow CPU-supported unaligned accesses
* Global CPU Voltage table used for adjusting voltage table for SnapDragon Dual Core. Inspired by Snq- modified by faux123 for SnapDragon fixed by show-p1984
* Improved Mobile Connection (fixed possible freezes introduced by HTC)
* ~8% Undervolted till 1566Mhz
* L2 Performance Push
* 3D GPU Overclock @ 320Mhz
* 2D GPU Overclock @ 266.667Mhz
* 6 Stages 3D GPU scaling, variable io_fraction
* 3 Stages 2D GPU scaling, io_fraction 100
* Tweaked ondemand to raise frequencies with higher load only (should contribute to battery life)
* Increased writing performance (lowers that annoying lag when updating 2 apps at the same time)
* Git's Sha1 implementation significantly decreases boot time
* CRC-optimizations
* ZRAM
* Fudgeswap
* PPP over standard asynchronous serial ports
* PPP over synchronous (HDLC) tty devices
* [URL="http://dl.dropbox.com/u/44206202/CallRecorder_v.1.0.20_alpha_2.apk"]Two-Way-Call-Recording[/URL]
* basic NTFS support
* increased bus frequency
* Improved WIFI - WLAN detection
* Automatic process group scheduling
* Lowered wifi-voltage
* cleaned code, improved performance
* Dropped debug code, was slowing things down
Changelog @ bricked.dehttp://bricked.de/compat.php?action=changelogs&device=pyramid&type=sense
What is sweep2wake?
Since this function collides with HTC's screenshot function (PWR+HOME) it will be disabled. Use the AOSP screenshot instead. (PWR+VOL.DOWN at the same time and hold it for about a sec)
This has a few advantages, one is a nice animation the second would be that it is hardcoded by google into any ICS firmware you can find. That means: no matter which device you will pick up, as long as it has ICS this function should work out of the box.
How to change your frequency/governor before flashing?
That's new. Sounds strange, but it works. I am proud to present a truly innovative concept:
cmdline_khz / cmdline_gov / cmdline_maxscroff
What does this do for you?
Have you ever wished you could set the default min/max/gov/scroff frequency on your own?
Without having to rely on the dev to recompile?
Or doing it yourself?
Or even bothering to learn how to do that?
Or using OC apps that are just in the way?
(governor set able in setup from version 1.0)
Well, your prayers have been heard!
It simplifies any kernel install to the bare minimum. You download the zip, and just change the values to your liking. The kernel will obey you, it's magic!
you will download this file for example:
Bricked-3.0-v0.61-ics-maxkhz=1566000-minkhz=192000-maxscroff=432000.zip
now it is possible that you don't want to oc to 1566Mhz, or your preferred min freq is higher, or or or...
Just rename the file!
Bricked-3.0-v0.61-ics-maxkhz=1188000-minkhz=384000-maxscroff=540000.zip
The kernel will now boot from second 0 with this settings:
Max freq: 1188Mhz
Min freq: 384Mhz
maxscroff: 540Mhz
Cool, isn't it?
Now one could say, hell that's too dangerous, what if I write something wrong in there? No problem, your show-p1984 thought of everything. I have built in that much security measures that it is not even remotely imaginable that something could go wrong. I am serious. Whoever manages to break it gets a golden pile of **** from me.
Now what does it "autocorrect" exactly?
It corrects mhz instead of khz values for you, so you can actually flash this:
Code:
Bricked-3.0-v0.61-ics-maxkhz=1188-minkhz=384-maxscroff=540.zip
and it will still work.
Or it corrects wrong acpu frequencies. You can find a table @ the second post, but if you mistype sth, no fear, it will still work!
Code:
Bricked-3.0-v0.61-ics-maxkhz=1190-minkhz=390-maxscroff=545.zip
for example will let the kernel boot with 1188Mhz max and 384Mhz min (maximum screen off frequency 540Mhz). It always falls back to the next lower step. Actually you won't need to bother for the acpu table anymore, just type anything in there, it will automatically correct it for you! If you still want to enter the correct values, just look in the second post
Now what if you write a letter in there? Like this:
Code:
Bricked-3.0-v0.61-ics-maxkhz=II88000-minkhz=38A000-maxscroff=5A0O00.zip
Well, the kernel will detect that and fall back to default settings read out of my .config. Which means the kernel will boot @ 1566Mhz max and 192Mhz min and maxscroff will be set to 1566Mhz (=disabled).
What to do if you just want to change your clocks?
Rename the zip file, boot into recovery, flash, and enjoy
There is also a sysfs interface for the maxscroff frequency, for simplicity I kept the common name for it.
/sys/devices/system/cpu/cpu0/cpufreq/screen_off_max_freq
Currently there is only one limitation:
You can't have two files with the same base on your scard. that means:
Code:
Bricked-3.0-v0.61-ics-maxkhz=1566000-minkhz=192000-maxscroff=432000.zip
Bricked-3.0-v0.61-ics-maxkhz=1188000-minkhz=384000-maxscroff=540000.zip
are not allowed to be on the sdcard at the same time, the kernel would boot with defaults: 1566/192 if you flash either one of those files.
The "base" of the filename is this: Bricked-3.0-v0.61-ics-
So you can have 2 files (or more) on the sdcard with names like this:
Bricked-3.0-v0.55-b4-ics-****
Bricked-3.0-v0.7-ics-****
Bricked-3.0-v0.8-ics-****
(****=etc etc etc etc)
Furthermore it must be followed by maxkhz=VALUE-minkhz=VALUE-maxscroff=VALUE.zip It is not possible to switch the positions of the options. But you can leave them out of there completely, the kernel will then boot with 1566/192/1566.
Ah btw: We now see our set max mhz under Settings->About Phone->HW->Cpu (it actually changes when you change your maxkhz)
This is genuine innovative code from me. I didn't even occasional glance at someone elses work. So if sth like this is already out there, SCREW THE DEV because I did not see it and wrote it from scratch!
And since 0.6 comes with the awesome Aroma installer you can now choose from 3 gpuoc versions!
GPU OC disabled, [email protected] & [email protected]
GPU low overclock, [email protected] & [email protected]
GPU high overclock, [email protected] & [email protected] + Bandwidth push
The source for this is split into two parts, Kernel & bash script. The script finds the zip on your sdcard, parses the filename and modifies the kernels cmdline inside the boot.img. The Kernel is parsing the cmdline, checking if everything is valid and setting your options.
How to install?
Just flash from recovery. Because it creates a boot.img out of the one on your phone while flashing, it should work with the majority of ROMs out there.
Interactive install, enjoy the ride!
Where to complain about errors/bugs?
Please use the Issuetracker for bugs/errors/feature wishes!
Issuetracker @ https://code.google.com/p/bricked/issues/entry
[email protected]
IRC Chat: Freenode IRC #bricked
Download:
No Guarantees! If it kills your grandmother or your device, I am NOT responsible! If you understand this:
(If you download, please hit Thanks below my post! Thank you!)
>>> DOWNLOAD <<<
XDA Discussion/Download for AOSP (ICS): Click me
Old Downloads (gcode): Click Me
Use System Tuner to undervolt!
Setting min/max frequencies should be done over the zips name instead.
Donor List:
> Hall of fame <
With special thanks to all piggy bank donators!
Thank you very much!
Source:
Changelog moved to bricked.dehttp://bricked.de/index.php?action=changelogs&device=pyramid&type=sense
What does PREEMPTIBLE mean?
Preemptive built kernels are favoring the userinterface over everything else! That means: An app in the background is using 50% of you CPU to spy on you. You want to move fast through the user interface/watch a video, whatever. The kernel will now favor your action over the app in the background. That's all the magic that's happening What is badass?
Well good question. With ICS I decided to rework my gb badass which never got released because it was always pushed aside. To break down what it is:
Badass removes all of this "fast peaking" to the max frequency. On a typical system the cpu won't go above 918Mhz and therefore stay cool and will use less power. To trigger a frequency increase, the system must run a bit @ 918Mhz with high load, then the frequency is bumped to 1188Mhz. If that is still not enough the governor gives you full throttle. (this transition should not take longer than 1-2 seconds, depending on the load your system is experiencing)
Badass will also take the gpu load into consideration. If the gpu is moderately busy it will bypass the above check and clock the cpu with 1188Mhz. If the gpu is crushed under load, badass will lift the restrictions to the cpu.
Please remember: 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, lots of it What is msm_thermal?
Kernel based 3-phase thermal control!
This replaces your /system/bin/thermald binary which is renamed by the installer to thermald_backup.
Check /sys/kernel/msm_thermal/conf/ for the thermal configuration
allowed_max_high = highest threshold (phase 3)
allowed_max_low = remove the throttling if we cooled down to this (clr_thrshold)
allowed_max_freq = max frequency if throttled (limit)
[...]mid[...] = same as above, just for phase 2
[...]low[...] = Lowest threshold (phase 1)
check_interval_ms = how often shall we check? (sampling rate)
Default: 1000ms (=1sec)
If you want to see msm_thermal doing it's job:
Code:
adb shell
cat /proc/kmsg | grep 'msm_thermal'
What is msm_mpdecision?
100% kernel based multi core decision! (should cpu1 be online or not?)
This replaces your /system/bin/mpdecision binary which is renamed by the installer to mpdecision_backup.
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!
idle_freq = a value against that will be checked if a core +/- is requested. (486000)
If cpu0 is below that value and a core up of cpu1 is requested, nothing will happen.
If cpu1 is above that value and a core down of cpu1 is requested, nothing will happen. (otherwise it would now put down cpu1 even though it is still working)
(all times are in ms)
If you want to see the mpdecision magic happening:
Code:
adb shell
cat /proc/kmsg | grep 'MPDEC'
Frequency/Voltage Table:
192000: 800000
310500: 825000
384000: 825000
432000: 850000
486000: 850000
540000: 875000
594000: 875000
648000: 900000
702000: 900000
756000: 925000
810000: 950000
864000: 975000
918000: 975000
972000: 1000000
1026000: 1000000
1080000: 1025000
1134000: 1025000
1188000: 1050000
1242000: 1075000
1296000: 1100000
1350000: 1125000
1404000: 1150000
1458000: 1150000
1512000: 1175000
1566000: 1175000
1620000: 1200000
1674000: 1225000
1728000: 1250000
1782000: 1275000
1836000: 1300000
1890000: 1325000
1944000: 1350000Available CPU governors:
badass <-- !recommended!
lazy
interactive
lagfree
conservative
userspace
powersave
ondemand
performance
Stock Kernel for ICS. Unsecured boot.img.
Want a beer?
Znuff said:
Want a beer?
Click to expand...
Click to collapse
two, at least! xD
show-p1984 said:
77 virgins? I would rather have 77 *****es who know what the **** to do!
Click to expand...
Click to collapse
hahaha that made my morning
Sent from my HTC Sensation 4G using XDA App
I have a couple questions, why still use governors or give options when ondemand is the only one that works properly on aSMP?
Or have you found a way to make governors still on both cores?
And this line:
Code:
Synchronous Multicore Threading
Android itself doesn't support true Multi threading at the core OS level, though it allows for apps to be multi-threaded.
What changes have you made to make this statement true.
BrokenWall said:
I have a couple questions, why still use governors or give options when ondemand is the only one that works properly on aSMP?
Or have you found a way to make governors still on both cores?
Android itself doesn't support true Multi threading at the core OS level, though it allows for apps to be multi-threaded.
Click to expand...
Click to collapse
1. Because ppl asked me to include Smartassv2. (ppl = baadnwz xD)
2. Android 2.3.4 has a bit of Honeycomb in it. It supports Multithreading.
Smartass doesn't seem to work as well as it used to on Bravo. Ondemand seems to be the way forward, plus CPU load balancing once threshold is reached. IMHO.
Sent from my HTC Sensation Z710e using XDA App
Re. your post in IC thread. With 0.2 I was getting 13k+, and other values higher than yours, just can't remember what they were exactly. How do I revert to 0.2, just flash it on top? Just for test purpose.
Again. No UI improvement over stock with either of them.
Sent from my HTC Sensation Z710e using XDA App
tinky1 said:
Re. your post in IC thread. With 0.2 I was getting 13k+, and other values higher than yours, just can't remember what they were exactly. How do I revert to 0.2, just flash it on top? Just for test purpose.
Again. No UI improvement over stock with either of them.
Sent from my HTC Sensation Z710e using XDA App
Click to expand...
Click to collapse
Yes, just flash it on top.
tinky1 said:
Re. your post in IC thread. With 0.2 I was getting 11k+, and other values higher than yours, just can't remember what they were exactly. How do I revert to 0.2, just flash it on top? Just for test purpose.
Again. No UI improvement over stock with either of them.
Edited, sorry, typo.
Sent from my HTC Sensation Z710e using XDA App
Click to expand...
Click to collapse
Oh crap, why do i keep quoting myself when I want edit. 11k+ that was.
Sent from my HTC Sensation Z710e using XDA App
Ok.
v0.2
ondemand 11568,1946(???),5794 (392-1.5); 11744,1982,5886 (1.3-1.5)
performance 11621,3368,6669 (1.3-1.5) 11399,3010,6365 (392-1.5)
BTW, System Tuner is able to adjust frequency
Damn, Cf is killing my battery. Mind you, been flashing, benchmarking, xda-ing etc since 7am, so 10.5h in and i'm still at 21%.
tinky1 said:
Ok.
v0.2
ondemand 11568,1946(???),5794 (392-1.5); 11744,1982,5886 (1.3-1.5)
performance 11621,3368,6669 (1.3-1.5) 11399,3010,6365 (392-1.5)
BTW, System Tuner is able to adjust frequency
Damn, Cf is killing my battery. Mind you, been flashing, benchmarking, xda-ing etc since 7am, so 10.5h in and i'm still at 21%.
Click to expand...
Click to collapse
i feel advertising for IC :B
Great job on the kernel, I just wanted to ask if you can include call recording maybe in the next release? That would be nice. Thanks and keep up the great work!
Sent from my HTC Sensation Z710e using xda premium
baadnewz said:
i feel advertising for IC :B
Click to expand...
Click to collapse
Well, score maniacs are going to jump the wagon lol.
IC 2.2.5 remember?
tinky1 said:
Well, score maniacs are going to jump the wagon lol.
IC 2.2.5 remember?
Click to expand...
Click to collapse
well 2.2.5 is still IC )
baadnewz said:
well 2.2.5 is still IC )
Click to expand...
Click to collapse
Baad, seriously, revert to 2.2.5 and close the thread LOL
Just ran bench on v0.2 with 2.2.5 again
noooooow, i'm shocked actually.
ondemand, (392-1.5 default freq) 11662,3376,6690
Will run it for few days, and if battery is close to stock (which it should be) it's a keeper for me, will replace my current stable nandroid
smartassv2 is working good
show-p1984 said:
1. Because ppl asked me to include Smartassv2. (ppl = baadnwz xD)
2. Android 2.3.4 has a bit of Honeycomb in it. It supports Multithreading.
Click to expand...
Click to collapse
it added features for better support, but the OS is still not anything close to what Honeycomb can do with multiple cores. 2.3.4 mainly improved support for multithreaded apps.
vladnosferatu said:
smartassv2 is working good
Click to expand...
Click to collapse
set the governor and then run a bench like cf-bench then in adb shell type this:
cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
it should return the set governor if it still says ondemand then its not setting it for both cores. Also if you change cpu1 to cpu0 it will show you what the primary core is doing.
Fusion Ultimate Kernel for AOSP-based ICS ROMs
Latest Version: v1.1 (8/9/12)
This kernel is no longer supported due to the lack of interest in CM9 now that CM10 is out. Check out my new CM10 based Fusion Ultimate Kernel.
Thanks for all the support!!
Disclaimer:
Code:
#include
/*
* Your warranty is now void.
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed.
* YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you. :P
* blah blah blah you get the point.
*/
As I promised, this is the Fusion Ulitmate Kernel for ICS AOSP-based ROMs. I forked intervigilium's repo and then incorporated all the changes from my other Sense-based kernel. Thank you for your patience; I was working on fixing things up before finally releasing an AOSP version. I decided to create a separate thread so it would be easier to report issues without the thread getting messy.
Click to expand...
Click to collapse
Post #1: Release, Features, and Downloads
Post #2: Changelog
Post #3: How to compile from source
Post #4: Frequently Asked Questions
This kernel is only compatible with CM9 and other AOSP ICS based ROMs. Sorry, no Jellybean support for now. I will wait until CM10 is a bit more stable.
Features
[*]CPU frequency control from 192Mhz <---> 1.89Ghz
[*]kernel defaults to min 192Mhz and max 1.5Ghz
[*]voltage control (use System Tuner Lite/Pro)
[*]SmartassV2, Interactive, Conservative, LagFree, and Lionheart CPU governors added
[*]Simple IO (SIO) and V(R) scheduler added
[*]capacitive LED lights dimmed to 2mA
[*]improved media scanning times (increased readahead buffer)
[*]changed minfree and ADJ values for good multitasking and performance
[*]zip package with modified init.qcom.post_boot.sh and thermald.conf
[*]enabled zRam (see FAQ for a detailed explanation of what it does)
[*]overall good battery life and performance
[*]optimized and tweaked
[*]much more; check the changlog or my GitHub if you want to know the specifics
Click to expand...
Click to collapse
Downloads
v1.0 (boot-080212.zip): http://d-h.st/f5F
v1.1 (boot-080912.zip): http://d-h.st/IjB
How to Install
For hboot 1.09 and below:
Just flash the zip in TWRP recovery. It will automatically flash the boot.img for you.
For hboot 1.13 and up:
you have two options
Option #1
Use TWRP's HTC Dumlock feature. It is a pretty neat workaround that allows you to flash boot.imgs in recovery even on a higher hboot.
Look here for instructions from TeamWin. If you are not comfortable with this method, then follow option #2 to manually flash in fastboot.
Option #2
In addition to flashing the zip, you will have to extract the boot.img from the package and flash it manually with fastboot. Blame HTC for the half-assed 'unlock bootloader' offering they give us. Hopefully we will get S-OFF soon...
Code:
adb reboot bootloader
fastboot flash boot boot.img
fastboot erase cache
fastboot reboot
Look here for a guide.
Sources
initramfs: https://github.com/klin1344/initramfs_ville_cm9
kernel: https://github.com/klin1344/android_kernel_htc_msm8960
*special thanks to intervigil and xkonni for their awesome work on CyanogenMod! Seriously, without them we wouldn't have any AOSP ROMs!*
Enjoy
Changelog/Complete Feature List
Changelog
v1.0 (Initial Release 8/2/12)
re-wrote overclock code
completely re-based on the TMOUS source
init.d scripts support with Busybox run-parts
overclocked up to 1.89Ghz
added 192Mhz step
added SmartassV2 CPU governor (still finicky; needs more testing)
enabled Conservative and Interactive CPU governors
added SIO scheduler and enabled as default
increased readahead buffer
various tweaks for UI responsiveness
stable
v1.0
cleaned up CPU code (all frequency issues should be gone by now; check github for full details)
added LionHeart CPU governor
added LagFree CPU governor
reduced capacitive LED brightness to 2mA (looks better)
tuned Interactive CPU governor parameters
many optimizations; check github for more details if you want
v1.0
added voltage control capabilities (use SetCPU or similar app to UV)
cleaned up CPU code again to try to get frequencies to stick
v1.0
added V(R) IO scheduler
change to a zip package
modified init.qcom.post_boot.sh and thermald.conf
added modules in the zip so it shouldn't break WiFi on EU ROMs anymore
allowed undervolting minimum of 400mV
tweaked minfree and ADJ values for multitasking and performance; the used values were from the V6 OOM Calculator
Conservative CPU governor as default for battery life (use an app to change it if you want)
defaulted CPU frequencies to 192Mhz 1.5Ghz on boot
v1.0
enabled zRam
adjusted VM ratios
added NEON and Snapdragon optimizations
v1.1 (8/9/12)
updated modules; hopefully fixes WiFi issues
Click to expand...
Click to collapse
basically has all features of the latest Sense version.
For Developers
How to build this kernel from source:
This is assuming you already have your Linux environment setup and installed the required packages for compiling a kernel. Make sure mkbootimg is installed your /bin/ directory.
1. Clone my initramfs and kernel sources.
Code:
git clone git://github.com/klin1344/android_kernel_htc_msm8960.git
git clone git://github.com/klin1344/initramfs_ville_cm9.git
2. Compress the ramdisk into a gzipped archive. First navigate to the initramfs_ville_cm9 directory, then:
Code:
find . | cpio -o -H newc | gzip > ../ramdisk.gz
3. Grab the toolchain from DoomLord's handy repo:
Code:
git clone git://github.com/DooMLoRD/android_prebuilt_toolchains.git toolchains
4. I have created an easy build script. Modify the top four lines to be applicable to your setup. Make sure CROSS_COMPILE is set to the directory of the toolchain we just downloaded earlier (there are two; not the Linaro one). And change INITRAMFS_DIR to the directory of the ramdisk.gz you created earlier.
5. Build. First navigate to the android_kernel_htc_msm8960 directory.
Code:
./build.sh ville_defconfig
The script will detect the number of cores of your CPU and automatically make with the optimal -j#.
6. If all goes well you should end up with a boot.img in the android_kernel_htc_msm8960 directory.
FAQ.... Please read this before posting questions!!!
FAQ
Frequently asked questions. Please read all of this first, and then if it doesn't answer your question, feel free to ask in the thread. I just don't want to have to keep answering Is this kernel SENSE based? or How do I jailbreak my HTC One S??? type of questions. Lol. :silly: Thank you.
Click to expand...
Click to collapse
What ROMs is this kernel compatible with?
As stated in the OP, this kernel is compatible with all S4 devices running an AOSP-based ICS ROM (CM9, AOKP, ParanoidAndroid). Will probably work with MIUI AOSP-based as well.
What is the best governor for me to use?
It really depends on what you're looking for. If you want performance, go with Lionheart or Ondemand. If you want battery life, go with Conservative. And if you are looking for a balance between battery life and performance, then use either SmartassV2, Interactive, or LagFree. These are just my opinions. Look here for a great reference of all the CPU governors. Test them out and decide which works best for you.
Which I/O scheduler is the best?
I personally use SIO, but you can test and decide which is the best for you. Read here to find the pros and cons of each one.
How do I overclock?
The kernel should default at 192Mhz 1.5Ghz CPU clocks. You can overclock directly from Performance Settings in CyanogenMod. Additionally, you can use SetCPU, No-Frills CPU, System Tuner Lite/Pro, or any similar CPU control app. However, be aware some apps don't allow the settings to stick properly.
How do I undervolt?
Right now, the only app that works for voltage control is System Tuner. Both the Lite and Pro versions allow you to change the voltages. Do not use SetCPU as it doesn't work.
Here is the voltage table I am currently using:
Code:
1890mhz: 1250 mV
1809mhz: 1225 mV
1728mhz: 1200 mV
1674mhz: 1175 mV
1512mhz: 1150 mV
1458mhz: 1137 mV
1404mhz: 1125 mV
1350mhz: 1125 mV
1296mhz: 1100 mV
1242mhz: 1100 mV
1188mhz: 1075 mV
1134mhz: 1075 mV
1080mhz: 1025 mV
1026mhz: 1000 mV
972mhz: 1000 mV
918mhz: 975 mV
864mhz: 975 mV
810mhz: 950 mV
756mhz: 950 mV
702mhz: 900 mV
648mhz: 900 mV
594mhz: 875 mV
540mhz: 850 mV
486mhz: 800 mV
384mhz: 725 mV
192mhz: 650 mV
Please just take these as a grain of salt; not all chips are created equal! Some devices can become an ass when it comes to undervolting, while others can starve the CPU to death and still run fine. Experiment little by little until you find your perfect voltages.
What is zRam and how does it work?
Originally Posted by faux123
ZRAM (aka CompCache aka RAMZSwap)
ZRAM is an updated version formally known as CompCache and RAMZSwap. It was originally designed for 2.6.38.xx kernels, I have backported to our 2.6.35.xx kernel. ZRAM allows real-time compression of memory objects in RAM thus reducing memory pressure for the Linux kernel and can keep more apps in memory longer (more apps in RAM == better performance, less fetching from slower MMC or SDCard). Compression, however, is not Free. Some CPU cycles are required to do the compress/decompression, so there's a slight penalty for it. The original CompCache / RAMZSwap required a user space binary to control its behavior which adds additional penalty to performance, but the new version ZRAM eliminated the need for a separate dedicated daemon, thus reducing the overhead and increased performance from the old CompCache by 20%. Therefore, with the newer implementation of ZRAM interface, the performance penalty is almost negligible.
Click to expand...
Click to collapse
Something doesn't work???
Please reproduce the error a couple of times and include a logcat.
Code:
adb logcat > logcat.txt
It will say "waiting for device", but it is actually recording a logcat. Reproduce the issue several times, and then you can close the Terminal or Command Prompt window. The logcat.txt will be in the directory you opened the Terminal/Command Prompt in.
Cool. Gonna try this out too.
Sent from my HTC VLE_U using Tapatalk 2
Thank you for the aosp love
Sent from my Nexus 7 using XDA Premium HD app
mteezey said:
Cool. Gonna try this out too.
Sent from my HTC VLE_U using Tapatalk 2
Click to expand...
Click to collapse
blackhartct said:
Thank you for the aosp love
Sent from my Nexus 7 using XDA Premium HD app
Click to expand...
Click to collapse
No problem.
Sent using Tapatalk
Don't think undervolting is working. I can set everything to ridiculously lowl value and it would still work.
c19932 said:
Don't think undervolting is working. I can set everything to ridiculously lowl value and it would still work.
Click to expand...
Click to collapse
SetCPU? If so, wont work as stated in the FAQ.
Is this working on CM10? I know that is ics based but has someone tested?
c19932 said:
Don't think undervolting is working. I can set everything to ridiculously lowl value and it would still work.
Click to expand...
Click to collapse
phoenixita said:
Is this working on CM10? I know that is ics based but has someone tested?
Click to expand...
Click to collapse
Are you guys trying to test my patience or what? Both your questions are clearly answered multiple times in the OP and FAQ.
If I spend countless hours developing for you guys, wouldn't it be more fair if everyone could just take a few minutes to thoroughly read through my posts? If you can't do that, then maybe xda isn't for you. I post stuff for people to actually read, you know.
It's because of one after another of redundant questions like these that devs lose their patience and leave. Thats how the galaxy player community lost every single dev they had.
Sent using Tapatalk
Pheroh said:
SetCPU? If so, wont work as stated in the FAQ.
Click to expand...
Click to collapse
No I'm using system tuner pro
i love you for this man thanks a lot!
Sent from my HTC One S
Thanks Klin!
Sent from my HTC VLE_U using Tapatalk 2
I know using the minmax gov has fallen out of favor a bit, but I'm still a big fan of it; would it be terrrible if I asked if you could incorporate it?
blinksilver said:
I know using the minmax gov has fallen out of favor a bit, but I'm still a big fan of it; would it be terrrible if I asked if you could incorporate it?
Click to expand...
Click to collapse
Sure I'll add in the next release.
Sent using Tapatalk
c19932 said:
No I'm using system tuner pro
Click to expand...
Click to collapse
I have tested it out more, and it seems like changing the voltage in system tuner pro doesnt take immediate effect after you changed it. For example, I can change the voltage to a really, really low value (lets say 500mV for all frequencies) and the phone would still work. Then after I browse around on the phone for 1-2 min the phone would reboot. When I use system tuner on my HTC Sensation I dont have that issue. only in this kernel. Hope I'm explaining it clear enough
c19932 said:
I have tested it out more, and it seems like changing the voltage in system tuner pro doesnt take immediate effect after you changed it. For example, I can change the voltage to a really, really low value (lets say 500mV for all frequencies) and the phone would still work. Then after I browse around on the phone for 1-2 min the phone would reboot. When I use system tuner on my HTC Sensation I dont have that issue. only in this kernel. Hope I'm explaining it clear enough
Click to expand...
Click to collapse
Ok thanks for explaining the issue in more detail. Do any other apps (e.g. voltage control, setcpu) work?
Wifi Broken After Flashing
I noticed that wifi wasn't working after flashing, so checked the zip for modules. They're not there.
kundica said:
I noticed that wifi wasn't working after flashing, so checked the zip for modules. They're not there.
Click to expand...
Click to collapse
I will try to address the problem tomorrow.
Sent using Tapatalk
Fusion Ultimate Kernel for all Sense-based 4.0.4 ROMs (Yes, including ViperOneS)
Latest Version: v2.1 (9/2/12)
Disclaimer:
Code:
#include
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed.
* YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you. :P
* blah blah blah you get the point.
*/
This kernel is built from the new HTC RUU 2.31 kernel sources, which means it's compatible with any Sense 4.0.4 ROM (including ViperOneS). This is the kernel everybody has been asking for!! :victory:
Click to expand...
Click to collapse
CPU settings now stick! Use SetCPU for CPU settings and System Tuner for voltage settings. The settings WILL stick!
Features
init.d scripts support
CPU frequency control from 192Mhz 1.89Ghz
voltage control (use System Tuner Lite/Pro)
SmartassV2, Interactive, Conservative, LagFree, Lionheart, Brazilianwax, Intellidemand, Interactivex, SavagedZen, Smartass(V1) CPU governors added
Simple IO (SIO) and V(R) scheduler added
capacitive LED lights dimmed to 2mA
improved media scanning times (increased readahead buffer)
good multitasking
enabled zRam
greatly improved I/O performance (disabled fsync() )
overall good battery life and performance
XZ kernel compression
optimized and tweaked
much more; check the changlog or my GitHub if you want to know the specifics
Click to expand...
Click to collapse
Downloads
All downloads are HERE
How to Install
For hboot 1.09 and below:
1. Download the .7z package.
2. In it you will see a "stock" and an "overclock folder". Extract the boot-xxxxxx.zip you want.
3. Then flash the zip in TWRP recovery. It will automatically flash the boot.img for you.
For hboot 1.13 and up:
1. Download the .7z package.
2. In it you will see a "stock" and an "overclock folder". Extract the boot-xxxxxx.zip you want.
3. You have two options:
Option #1
Use TWRP's HTC Dumlock feature. It is a pretty neat workaround that allows you to flash boot.imgs in recovery even on a higher hboot.
Look here for instructions from TeamWin. If you are not comfortable with this method, then follow option #2 to manually flash in fastboot.
Option #2
In addition to flashing the zip, you will have to extract the boot.img from the package and flash it manually with fastboot. Blame HTC for the half-assed 'unlock bootloader' offering they give us. Hopefully we will get S-OFF soon...
Code:
adb reboot bootloader
fastboot flash boot boot.img
fastboot erase cache
fastboot reboot
Look here for a guide.
Sources
kernel: https://github.com/klin1344/kernel_ville_2.21
Enjoy
Changelog/Complete Feature List
Changelog
v1.0 (Initial Release 8/24/12)
based on HTC RUU 2.21 kernel source code
overclock and stock options
enabled overclocking up to 1.89Ghz
added CPU 192Mhz step
added LionHeart, Conservative, Interactive, LagFree, and SmartassV2 CPUfreq governors
implemented adjustable voltage table via sysfs and allow controlling through CPU apps
tweaked CPUfreq governors
disabled GENTLE_FAIR_SLEEPERS
disabled fsync() calls
added vR and SIO schedulers
adjusted VM ratios
enabled zRam
compiled with NEON and Snapdragon optimizations
reduced capacitive LED lights to 2mA
increased readahead buffer
much more...
v2.0 (9/1/12)
added BrazilianWax, Intellidemand, InteractiveX, SavagedZen, and Smartass (V1) governors
XZ kernel compression
optimized SmartassV2 CPU governor
tun.ko and cifs.ko now built into kernel
tweaked deadline I/O scheduler for better performance
make kernel use AC charging mode for unknown chargers
various lowmemorykiller fixes
fixed and tweaked a few other things
v2.1 (9/2/12)
updated to the latest HTC RUU 2.31 kernel sources
includes many performance and stability changes
Click to expand...
Click to collapse
need this too..
FAQ
Frequently Asked Questions
What ROMs is this kernel compatible with?
As stated in the OP, this kernel is compatible with all S4 devices running a 4.0.4 Sense-based ROM. It is 100% compatible with ViperOneS even though that uses the 2.31 RUU base. I'm betting that there were no changes in the kernel source for 2.21 and 2.31.
What is the best governor for me to use?
It really depends on what you're looking for. If you want performance, go with Lionheart or Ondemand. If you want battery life, go with Conservative. And if you are looking for a balance between battery life and performance, then use either SmartassV2, Interactive, or LagFree. These are just my opinions. Look here for a great reference of all the CPU governors. Test them out and decide which works best for you.
Which I/O scheduler is the best?
I personally use SIO, but you can test and decide which is the best for you. Read here to find the pros and cons of each one.
How do I overclock?
The kernel should default at 192Mhz 1.5Ghz CPU clocks. To overclock, use SetCPU, No-Frills CPU, System Tuner Lite/Pro, or any similar CPU control app. Some apps don't allow the settings to stick properly. I recommend using No-Frills or System Tuner.
CPU govenors won't stick/CPU0 stuck at max frequency????
Yes, that is a known issue with the non-default governors. I have worked hard on a fix, but I still can't figure out the problem. So basically, if you want to use a governor other than the defaults ones from a stock kernel, make sure you check up on it and make sure the settings stuck and CPU0 isn't locked at max frequency.
How do I undervolt?
Right now, the only app that works for voltage control is System Tuner. Both the Lite and Pro versions allow you to change the voltages. Do not use SetCPU as it doesn't work.
Here is the voltage table I am currently using:
Code:
1890mhz: 1250 mV
1809mhz: 1225 mV
1728mhz: 1200 mV
1674mhz: 1175 mV
1512mhz: 1150 mV
1458mhz: 1137 mV
1404mhz: 1125 mV
1350mhz: 1125 mV
1296mhz: 1100 mV
1242mhz: 1100 mV
1188mhz: 1075 mV
1134mhz: 1075 mV
1080mhz: 1025 mV
1026mhz: 1000 mV
972mhz: 1000 mV
918mhz: 975 mV
864mhz: 975 mV
810mhz: 950 mV
756mhz: 950 mV
702mhz: 900 mV
648mhz: 900 mV
594mhz: 875 mV
540mhz: 850 mV
486mhz: 800 mV
384mhz: 725 mV
192mhz: 650 mV
Please just take these as a grain of salt; not all chips are created equal! Some devices can become an ass when it comes to undervolting, while others can starve the CPU to death and still run fine. Experiment little by little until you find your perfect voltages.
What is zRam and how does it work?
Originally Posted by faux123
ZRAM (aka CompCache aka RAMZSwap)
ZRAM is an updated version formally known as CompCache and RAMZSwap. It was originally designed for 2.6.38.xx kernels, I have backported to our 2.6.35.xx kernel. ZRAM allows real-time compression of memory objects in RAM thus reducing memory pressure for the Linux kernel and can keep more apps in memory longer (more apps in RAM == better performance, less fetching from slower MMC or SDCard). Compression, however, is not Free. Some CPU cycles are required to do the compress/decompression, so there's a slight penalty for it. The original CompCache / RAMZSwap required a user space binary to control its behavior which adds additional penalty to performance, but the new version ZRAM eliminated the need for a separate dedicated daemon, thus reducing the overhead and increased performance from the old CompCache by 20%. Therefore, with the newer implementation of ZRAM interface, the performance penalty is almost negligible.
Click to expand...
Click to collapse
Sweet! Trying on Viper, will report back in a few days.
Sent from my HTC One S using Xparent Blue Tapatalk 2
I installed it on Viper as well. UV settings were applied as set on 3.2 for 4.0.3 kernel.
I'll report back
invasion2 said:
Sweet! Trying on Viper, will report back in a few days.
Sent from my HTC One S using Xparent Blue Tapatalk 2
Click to expand...
Click to collapse
Let us know the results, lab rat!
Bitten by One S Viper...
Nice job. I didn't think this Rom could get any better. I haven't even oc or uv yet and I can feel a big difference. Curious to see how it effects battery life.
Sent from my ViperOneS using Tapatalk 2
I hit my Thanks Limit for the day Klin
So, :good:
Seems to work OK on Viper, however still having problems with Smartass as on Axiom... config folder in sys/devices/system/cpu/cpufreq is sometimes not created (no smartass folder) or randomly gets deleted, so CPU0 gets locked at max freq
SnowToad said:
Seems to work OK on Viper, however still having problems with Smartass as on Axiom... config folder in sys/devices/system/cpu/cpufreq is sometimes not created (no smartass folder) or randomly gets deleted, so CPU0 gets locked at max freq
Click to expand...
Click to collapse
Ahh...so that is the source of the issue. I will have to take a look at my code then. Also, it seems to happen regardless of any governor, especially during the first few minutes after startup.
Sent from my HTC One S using Tapatalk 2
runs fine here klin
smartass folder created on reboot
smoooth
will test for a couple days
klin1344 said:
Ahh...so that is the source of the issue. I will have to take a look at my code then. Also, it seems to happen regardless of any governor, especially during the first few minutes after startup.
Sent from my HTC One S using Tapatalk 2
Click to expand...
Click to collapse
Klin is the best. Thanks for all your work man.
Sent from my HTC VLE_U using Tapatalk 2
Set to smartass, rebooted, folders were there and worked fine.. but then randomly the whole folder was deleted again and cpu is locked at max all the time. Would like smartass working!
SnowToad said:
Set to smartass, rebooted, folders were there and worked fine.. but then randomly the whole folder was deleted again and cpu is locked at max all the time. Would like smartass working!
Click to expand...
Click to collapse
Same here, on Viper Rom right now. Can set everything but smartass.
SmartassV2 works great for me...
same here--ok
flashed thru fastboot and erased cache
then rebooted
Hmm...I think the issue with smartassv2 is only with the first few minutes of booting. After that, it seems to work fine and not only stick to 1.5Ghz. Can anyone confirm?
klin1344 said:
Hmm...I think the issue with smartassv2 is only with the first few minutes of booting. After that, it seems to work fine and not only stick to 1.5Ghz. Can anyone confirm?
Click to expand...
Click to collapse
I can. My frequencies are 384MHz and 1670GHz. They stay like that and my smartassV2 governor stays.
invasion2 said:
I can. My frequencies are 384MHz and 1670GHz. They stay like that and my smartassV2 governor stays.
Click to expand...
Click to collapse
What app are you using?
[MOD]Governor, Freq. & Voltage Tweaks: aospX, BlackoutICS, JellyTime & CM 10.1 Rom's
Frequency and Voltage Tweaks for Blackout ICS 3.2.0
These tweaks adjust maximum processor frequency and voltages by replacing the 01sysctl file in your devices /system/etc/init.d folder.
a) Blackout-01sysctl-RTS.zip
This file will return your device to its default processor speed (1024MHz) and voltages.
b) Blackout-UV806-1025vdd.zip
This is a small tweak I made which adjusts the vdd level of the 806 MHz from 1050 vdd to 1025 vdd. By default the ROM uses 1050 vvd for both the 1024 MHz and 806 MHz speeds. If the phone is stable at 1024 MHz @ 1050 vdd, it should be stable at 806 MHz @ 1025 vdd.
c) Blackout-1200MHz.zip
Changes maximum processor frequency to 1.2 GHz.
Adjust vdd level of 806 MHz to 1025 vdd.
d) Blackout-1200MHz-1100vdd.zip
e) Blackout-1200MHz-1125vdd.zip
f) Blackout-1200MHz-1150vdd.zip
Changes maximum processor frequency to 1.2 GHz.
Adjust vdd level of 1200 MHz to 1100vdd, 1125 vdd or 1150 vdd as indicated in the name of the zip file (from ROM default 1175 vdd)
Adjust vdd level of 806 MHz to 1025 vdd (ffrom ROM default 1050vdd).
I provided three zips to allow you to optimize you device. The lowest vdd setting where your device is stable would be the most favorable.
g) Blackout-1401MHz.zip
Changes maximum processor frequency to 1.4 GHz.
Adjust vdd level of 806 MHz to 1025 vdd.
h) Blackout-1401MHz-1200vdd.zip
Changes maximum processor frequency to 1.4 GHz.
Adjust vdd level of 1401 MHz to 1200 vdd (from the ROM default of 1250vdd).
Adjust vdd level of 1200 MHz to 1100 vdd (from the ROM default of 1175vdd).
Adjust vdd level of 806 MHz to 1025 vdd.
i) Blackout-1401MHz-1225vdd.zip
Changes maximum processor frequency to 1.4 GHz.
Adjust vdd level of 1401 MHz to 1225 vdd (from the ROM default of 1250vdd).
Adjust vdd level of 1200 MHz to 1150 vdd (from the ROM default of 1175vdd).
Adjust vdd level of 806 MHz to 1025 vdd.
j) Blackout-1497MHz.zip
Changes maximum processor frequency to 1.5 GHz.
Adjust vdd level of 806 MHz to 1025 vdd.
k) Blackout-1497MHz-UV.zip
Changes maximum processor frequency to 1.5 GHz.
Adjust vdd level of 1401 MHz to 1200 vdd (from the ROM default of 1250vdd).
Adjust vdd level of 1200 MHz to 1100 vdd (from the ROM default of 1175vdd).
Adjust vdd level of 806 MHz to 1025 vdd.
l) Blackout-1497MHz-UV2.zip
Changes maximum processor frequency to 1.5 GHz.
Adjust vdd level of 1401 MHz to 1225 vdd (from the ROM default of 1250vdd).
Adjust vdd level of 1200 MHz to 1125 vdd (from the ROM default of 1175vdd).
Adjust vdd level of 806 MHz to 1025 vdd.
DISCLAIMER AND AGREEMENT
THESE FILES ARE FOR V3.2.0 ONLY.IF YOU USE THESE FILES, YOU DO SO AT YOUR OWN RISK.
How to install
1. Copy the .zip file to the root of your SDCard.
2. Reboot into recovery.
3. Flash the .zip
4. Reboot.
Like my work?
If you like my work, and want to make a donation, go to thread of the ROM you are using and Donate to the ROM developer instead.
Credits:
I learned to edit init.d system files thanks to LeeDroid's tutorials.
I learned to make flashable zips studying mike1986's flashable zips for ARHD.
Killersloth for inspiration and advice.
Governor Tweaks for Blackout ICS
There files are designed to be used together with the Frequency and Voltage Tweaks above
Blackout iCS uses the smartassV2 governor by default. These files fine tune governor performance.
General info on smartassV2:
SmartassV2 "has an 'ideal' frequency which it will quickly ramp up to, then more slowly ramp up once past it, and vice-versa for down-ramping. A separate "ideal" frequency is used when the screen is off." (Source)
Smartass tracks the state of the screen, and when screen is off (a.k.a sleep or suspended in the terms of this governor) a different ideal frequency is used. This is the only difference between the screen on and screen off states. Proper tuning of the awake_ideal_freq and sleep_ideal_freq should allow both high responsiveness when screen is on and utilizing the low frequency range when load is low, especially when screen is off (Source).
Click to expand...
Click to collapse
"C3" - CONSERVATIVE TWEAKS FOR THE SMARTASSV2 GOVERNOR TWEAKS FOR BLACKOUT ICS INCREDIBLE V3.2.0
a) Blackout-smartassV2-C3.zip (attached below)
What will this file do:
Adjust max_cpu_load from 55 (default for this ROM) to 85. This means the cpu will ramp up slower.
Adjust ramp_up_step from 200000 (default for this ROM) to 100000. This means the cpu will ramp up slower.
Adjust min_cpu_load from 25 (default for this ROM) to 35. This means the cpu will ramp down a bit faster.
Adjust down_rate_us from 99000 to 49000. This means the cpu will ramp down faster.
These settings are more conservative than default ROM smartassV2 settings and should result in longer battery life.
"P1" - PERFORMANCE TWEAKS FOR THE SMARTASSV2 GOVERNOR TWEAKS FOR BLACKOUT ICS INCREDIBLE V3.2.0
b) Blackout-smartassV2-P1.zip
What will this file do:
Adjust max_cpu_load from 55 (default for this ROM) to 60. To minimize unnecessary ramp up/down loops between 384 MHz and 768 MHz.
Adjust ideal sleep frequency from 200 MHz to 368 MHz. Intended to make sleep and wake transitions smoother.
"P2" - PERFORMANCE TWEAKS FOR THE SMARTASSV2 GOVERNOR TWEAKS FOR BLACKOUT ICS INCREDIBLE V3.2.0
c) Blackout-smartassV2-P2.zip
Adjust ideal wake frequency from 800 MHz to 1024 MHz.
Adjust ideal sleep frequency from 200 MHz to 368 MHz.
Adjust max_cpu_load from 55 (default for this ROM) to 60.
How to return to stock?
Flash Blackout-02governor-RTS.zip
DISCLAIMER AND AGREEMENT
THESE FILES ARE FOR V3.2.0 ONLY.IF YOU USE THESE FILES, YOU DO SO AT YOUR OWN RISK.
How to install
1. Copy the .zip file to the root of your SDCard.
2. Reboot into recovery.
3. Flash the .zip
4. Reboot.
Voltage Tweaks for aospX 1.0.0-MR1
Voltage Tweaks for aospX 1.0.0-MR1
I made a flashable voltage tweaks for aospX 1.0.0-MR1
What will the aospX-vos1.zip file do:
Adjust the vdd level of the 269 MHz from 925 vdd to 900 vdd.
Adjust the vdd level of the 346 MHz from 950 vdd to 925 vdd.
Adjust the vdd level of the 1037 MHz from 1075 vdd to 1050 vdd.
The lower voltages should result in marginally longer battery life.
DISCLAIMER AND AGREEMENT
THIS FILE WAS TESTED ON aospX 1.0.0-MR1 ONLY. . IF YOU USE THIS FILE, YOU DO SO AT YOUR OWN RISK.
I CANNOT GUARANTEE THAT YOU DEVICE WILL BE STABLE AT THE LOWER VOLTAGES, BUT IF YOU CAME FROM ARHD OR VIRTUOUS AFFINITY, THE LOWER VOLTAGE ARE SIMILAR TO THE RANGES YOU FIND IN THOSE ROM's.
STILL, GIVEN THAT I AM THE ONLY BETA TESTER, A SAMPLE OF ONE IS NOT VERY BIG
How to install
1. Copy the .zip file to the root of your SDCard.
2. Reboot into recovery.
3. Flash the .zip
4. Reboot.
How to return to stock - aospX-01sysctl-RTS.zip (Return to Stock)
Want to go back to stock. Just flash the aospX-01sysctl-RTS.zip below.
Like my work?
If you like my work, and want to make a donation, go to thread of the ROM you are using and Donate to the ROM developer instead.
Credits:
I learned to edit system files thanks to LeeDroid's tutorials.
I learned to make flashable zips studying mike1986's flashable zips for ARHD.
Killersloth for inspiration and advice.
Performance smartassV2 Governor for ViperDHD - "P1" - NO FURTHER DEVELOPMENT
ViperDHD 2.0 has moved to using Virtuous_oc, an excellent system for managing governors and frequencies. As such, it would seem to be more worthwhile getting a stable Deamon controller working than using init.d scripts. Hence, no releases of these scripts for ViperDHD 2.0 will be made.
I made a set of flashable governor tweaks for ViperDHD v1.2.3
ViperDHD uses the ondemand governor by default. The flashable zips attached below will enable the smartassV2 governor and tweak some settings.
"P1" - PERFORMANCE ORIENTED SMARTASSV2 GOVERNOR TWEAKS FOR VIPERDHD 1.2.x
a) ViperDHD-smartassV2-1_GHZ-p1.zip (attached below)
What will this file do:
Enable smartassV2 as your governor at the default 1024 MHz frequency
Adjust max_cpu_load from 55 (default for this ROM) to 60. To minimize unnecessary ramp up/down loops between 384 MHz and 768 MHz.
Adjust ideal sleep frequency from 200 MHz to 368 MHz. Intended to make sleep and wake transitions smoother.
Adjust the vdd level of the 806 MHz from 1050 vdd to 1025 vdd. By default the ROM uses 1050 vvd for both the 1024 MHz and 806 MHz speeds. If the phone is stable at 1024 MHz @ 1050 vdd, it should be stable at 806 MHz @ 1025 vdd.
b) ViperDHD-smartassV2-1_2GHZ-p1.zip (attached below)
Enable smartassV2 as your governor.
Set default max frequency to 1.2 GHz.
Adjust ideal wake frequency from 800 MHz to 1024 MHz.
Adjust ideal sleep frequency from 200 MHz to 368 MHz.
Adjust max_cpu_load from 55 (default for this ROM) to 60.
Adjust the vdd level of the 806 MHz from 1050 vdd to 1025 vdd.
c) ViperDHD-smartassV2-1_2GHZ-badass.zip (attached below) ---> This is the one I am using :laugh:
Enable smartassV2 as your governor.
Set default max frequency to 1.2 GHz.
Adjust ideal wake frequency from 800 MHz to 1024 MHz.
Adjust ideal sleep frequency from 200 MHz to 368 MHz.
Adjust max_cpu_load from 55 (default for this ROM) to 60.
Adjust the vdd level of the 806 MHz from 1050 vdd to 1025 vdd.
[*]Adjust the vdd level of the 1200 MHz from 1175 vdd to 1100 vdd.
d) ViperDHD-smartassV2-1_2GHZ-p2-deadline.zip (attached below)
Made at the request of Pop Tarantula
Same as ViperDHD-smartassV2-1_2GHZ-badass.zip
Plus scheduler set to "Deadline"
e) ViperDHD-smartassV2-1_4GHZ-p1.zip and ViperDHD-smartassV2-1_4GHZ-p1.zip(attached below)
Enable smartassV2 as your governor.
Set default max frequency to 1.4 GHz or 1.5 GHZ.
Adjust ideal wake frequency from 800 MHz to 1024 MHz.
Adjust ideal sleep frequency from 200 MHz to 368 MHz.
Adjust max_cpu_load from 55 (default for this ROM) to 60.
Adjust the vdd level of the 806 MHz from 1050 vdd to 1025 vdd.
f) ViperDHD-smartassV2-1_2GHZ-c3.zip(attached below) - At the request of chrisafpa27
Enable smartassV2 as your governor.
Set default max frequency to 1.2 GHz
Adjust the vdd level of the 806 MHz from 1050 vdd to 1025 vdd.
Adjust max_cpu_load from 55 (default for this ROM) to 85. This means the cpu will ramp up slower.
Adjust ramp_up_step from 200000 (default for this ROM) to 100000. This means the cpu will ramp up slower.
Adjust min_cpu_load from 25 (default for this ROM) to 35. This means the cpu will ramp down a bit faster.
Adjust down_rate_us from 99000 to 49000. This means the cpu will ramp down faster.
f) ViperDHD-smartassV2-1GHZ-c3.zip(attached below)
Enable smartassV2 as your governor.
Adjust the vdd level of the 806 MHz from 1050 vdd to 1025 vdd.
Adjust max_cpu_load to 85.
Adjust ramp_up_step to 100000.
Adjust min_cpu_load to 35.
Adjust down_rate_us to 49000.
How to return to stock?
Flash the ViperDHD_00kernel_modules-RTS.zip below and all traces of my work will be gone :crying:
DISCLAIMER AND AGREEMENT
THESE FILES ARE FOR VIPERDHD V1.1.0/1.2.0/1.2.1 ONLY. IF YOU USE THESE FILES, YOU DO SO AT YOUR OWN RISK.
How to install
1. Copy the .zip file to the root of your SDCard.
2. Reboot into recovery.
3. Flash the .zip
4. Reboot.
How to return to stock - ViperDHD_00kernel_modules-RTS.zip (Return to Stock)
Want to go back to stock. Just flash the BViperDHD_00kernel_modules-RTS.zip below. Flash this file and your back to the ondemand governor. This file does not enable the performance governor. It just restores the default /etc/init.d/00kernel_modules file.
Like my work?
If you like my work, and want to make a donation, go to thread of the ROM you are using and Donate to the ROM developer instead.
Credits:
I learned to edit init.d system files thanks to LeeDroid's tutorials.
I learned to make flashable zips studying mike1986's flashable zips for ARHD.
Killersloth for inspiration and advice.
Voltage Tweaks for JellyTime
Voltage Tweaks for JellyTime R28/R29/R30
I made a flashable voltage tweaks for JellyTime which I have tested on R28, R29 and R30. Compared to a HTC DHD stock ROM, JellyTime heavily undervolts the lower speeds (245-341 MHz) but runs the higher speeds at stock. I created these two scripts to correct this.
JellyTime-VOS-1.zip
JellyTime-VOS-2.zip
These files adjust the ROM's voltages as listed in the chart below:
Frequency > JT Stock > VOS-1 > VOS-2
245760: > 850
341640: > 900
614400: > 1000
768000: > 1050 > 1025 > 1025
806400: > 1100 > 1025 > 1050
1024000: > 1200 > 1050 > 1075
1200000: > 1200 > 1100 > 1150
1305600: > 1225 > 1150 > 1200
1401600: > 1250 > 1200
1516800: > 1300
1612800: > 1325
1689600: > 1375
1766400: > 1425
1843200: > 1450
1920000: > 1500
1996800: > 1500
2016000: > 1525
The lower voltages should result in longer battery life during load.
The JellyTime-VOS-1.zip are the best settings I could run on my phone and tested up to 1.4 GHZ, but I really on test extensively up to 1.2 GHz.
The JellyTime-VOS-2.zip contains less aggressive settings incase the first file is not stable. The voltage is at about the same level as you will find in other custom ROM's. Basically, if you have run ARHD, aospX, Blackout ICS, ViperDHD, or Virtuous Affinity/Infinity in the past, you should be able to run these settings comfortably.
DISCLAIMER AND AGREEMENT
THESE FILES WERE TESTED ON JELLYTIME R28 AND R29 ONLY. IF YOU USE THESE FILES, YOU DO SO AT YOUR OWN RISK.
I CANNOT GUARANTEE THAT YOU DEVICE WILL BE STABLE AT THE LOWER VOLTAGES.
How to install
1. Copy the .zip file to the root of your SDCard.
2. Reboot into recovery.
3. Flash the .zip
4. Reboot.
How to return to stock
Want to go back to stock. Just flash the JelltyTime-RTS-vdd.zip below.
Like my work?
If you like my work, and want to make a donation, go to thread of the ROM you are using and Donate to the ROM developer instead.
Credits:
I learned to edit system files thanks to LeeDroid's tutorials.
I learned to make flashable zips studying mike1986's flashable zips for ARHD.
Killersloth for inspiration and advice.
Voltage Tweaks for CyanogenMod 10.1
Voltage Tweaks for CyanogenMod 10.1
I made a flashable voltage tweaks for PipelinerArd's JJB-JOP40 (Unofficial CM 10.1). These files also are compatible with Mustaavalkosta's CM 10.1 Nightlies and M1 ROM's. I have not tried the other CM10.1 ROM's. Zeitraffer reports the files work with the CodefireX 4.2.1 ROM's. ai6908 reports that the files work with JellyTime 4.2 ROM's.
Compared to a HTC DHD stock ROM, JellyTime heavily undervolts the lower speeds (245-341 MHz) but runs the higher speeds at stock. I created these two scripts to lower voltages at the higher frequencies.
JB-JOP40-VOS1.zip
JB-JOP40-VOS2.zip
JB-JOP40-VOS3.zip
These files adjust the ROM's voltages as listed in the chart below:
Frequency > CM Stock > VOS-1 > VOS-2 > VOS-3
245760: > 850
341640: > 900
614400: > 1000
768000: > 1050 > 1025 > 1025 > 1025
806400: > 1100 > 1025 > 1050 > 1050
1024000: > 1200 > 1050 > 1075 > 1100
1200000: > 1200 > 1100 > 1150 > 1175
1305600: > 1225 > 1150 > 1200
1401600: > 1250 > 1200
1516800: > 1300
1612800: > 1325
1689600: > 1375
1766400: > 1425
1843200: > 1450
1920000: > 1500
1996800: > 1500
2016000: > 1525
The lower voltages should result in longer battery life during load.
DISCLAIMER AND AGREEMENT
IF YOU USE THESE FILES, YOU DO SO AT YOUR OWN RISK.
I CANNOT GUARANTEE THAT YOU DEVICE WILL BE STABLE AT THE LOWER VOLTAGES.
How to install
1. Copy the .zip file to the root of your SDCard.
2. Reboot into recovery.
3. Flash the .zip
4. Reboot.
How to return to stock
Want to go back to stock. Just flash the JB-JOP40-RTS-vdd.zip below.
Like my work?
If you like my work, and want to make a donation, go to thread of the ROM you are using and Donate to the ROM developer instead.
Credits:
I learned to edit system files thanks to LeeDroid's tutorials.
I learned to make flashable zips studying mike1986's flashable zips for ARHD.
Killersloth for inspiration and advice.
I would highly recommend these tweaks, I use them pretty much exclusively and it's way easier and cleaner than uaing an app from the market.
cstayton said:
I would highly recommend these tweaks, I use them pretty much exclusively and it's way easier and cleaner than uaing an app from the market.
Click to expand...
Click to collapse
Whoah, I was not expecting this.
Here are links to some of my older files
TrickDroid ROM (Discontinued)
These scripts were written with v3.0 in mind, and while are compatible with v.4, I was thinking they should be re-tweaked to account for the heavier system requirements of Sense 4.1. Only the last script, Performance Governor for TrickDroid v.4 was designed around the latest version, but I did not have time to test it long term. This ROM is not discontinued.
Original Governor Tweaks for the TrickDroid ROM (Posted Oct. 13 2012) - Tested with TrickDroid v3/Compatible with v4.
Version 3 Governor Tweaks for the TrickDroid ROM (Posted October 16, 2012) - Tested with TrickDroid v3/Compatible with v4.
Performance Governor for TrickDroid v.4 (Posted on October 21, 2012) - Zip works, I just have not tested the settings over an extended period of time.
Older link to Blackout governor tweaks.
Version 3 Governor Tweaks for Blackout ICS (Posted on October 16, 2012) - Tested with Blackout v3.1/Compatible with Blackout 3.0.
Click to expand...
Click to collapse
Hi Roberto. Would it be possible to have these tweaks also for XxXPachaXxX NERO XL Rom? Thank you
[email protected] said:
Hi Roberto. Would it be possible to have these tweaks also for XxXPachaXxX NERO XL Rom? Thank you
Click to expand...
Click to collapse
Should be. I flashed version 2 of the ROM. Can you use a file manager and go to:
a) /etc/init.d - List down the names of the files you see in the folder inside.
b) /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels - any chance you can copy and paste the contents, or just copy the, vdd_levels file and attached it to your reply
c) /sys/devices/system/cpu/cpu0/cpufreq/available_scaling_governors - any chance you can copy and paste the contents, or just copy, the available_scaling_governors file and attached it to your reply
IN ORDER TO UPLOAD THE FILES AS AN ATTACHMENT, YOU PROBABLY HAVE TO ZIP THEM.
This information should be enough so I can answer your question definitively
cstayton said:
I would highly recommend these tweaks, I use them pretty much exclusively and it's way easier and cleaner than uaing an app from the market.
Click to expand...
Click to collapse
+1 used for trickdroid really good . Nice work
Sent from my HTC Desire HD using xda premium with TrickDroid V4 Sense 4.1
Really a great post, i learned a lot just reading it.
thank you very much!
wilken said:
Really a great post, i learned a lot just reading it.
thank you very much!
Click to expand...
Click to collapse
Thanks.
@all
Now we will be moving on to fine tuning governors? Which governor interest you the most?
amazing job man
Q-what is the difference between the first post and the second post
i wish if i can learn what are u doing but i have bad english
Thank you Roberto! You're amazing! I think that I can learn a lot of things thanks to you
So thank you very much!! I just reverted back to gingerbread after trying several ICS roms with low battery life, but the next time I will be on ICS I promise that I will surely help you and test your fantastic tweaks (surely better than using setcpu or similar)
Responding to tour question; I think that smartassV2 is the best governor and your edits that cause the cpu to ramp up slower and to ramp down faster should make it even better! But what does it mean exactly fine tuning governors?? Sorry for my ignorance
IMTLD said:
amazing job man
Q-what is the difference between the first post and the second post
i wish if i can learn what are u doing but i have bad english
Click to expand...
Click to collapse
No problem. No one should apologize for bad English. It's just a language equal to any other. Could also be bad writing.
The files on the festival post try to keep the processor running more on the lower speeds.
The files on the second post will keep the processor running faster.
Sent from my HTC Desire HD powered by Blackout ICS Incredible v3.1.1
[email protected] said:
But what does it mean exactly fine tuning governors?? Sorry for my ignorance
Click to expand...
Click to collapse
Basically with an app, and depending on the ROM you can adjust:
1. CPU speed
2. Governor type
3. Some will allow you to adjust voltages
With the scripts you can also adjust:
4. When the processor will go faster or slower.
5. How much the processor will speed up and speed down.
6. A few others but 5 and 6 are the most important.
I guess we start with ondemand. Than differentiate it from smartassV2.
Sent from my HTC Desire HD powered by Blackout ICS Incredible v3.1.1
Roberto_Lim said:
No problem. No one should apologize for bad English. It's just a language equal to any other. Could also be bad writing.
The files on the festival post try to keep the processor running more on the lower speeds.
The files on the second post will keep the processor running faster.
Sent from my HTC Desire HD powered by Blackout ICS Incredible v3.1.1
Click to expand...
Click to collapse
thank u man
Roberto_Lim said:
Basically with an app, and depending on the ROM you can adjust:
1. CPU speed
2. Governor type
3. Some will allow you to adjust voltages
With the scripts you can also adjust:
4. When the processor will go faster or slower.
5. How much the processor will speed up and speed down.
6. A few others but 5 and 6 are the most important.
I guess we start with ondemand. Than differentiate it from smartassV2.
Sent from my HTC Desire HD powered by Blackout ICS Incredible v3.1.1
Click to expand...
Click to collapse
So the fine tuning governor means adding also scripts to what you did in the forst post?
In that case, why don't you start directly with smartassV2? It has a better battery life than ondemand
CodefireX
Hello. Create tweaks for CodeFireX, it will be interesting.
So thanks to the devs DAGr8 and flappjaxxx, the Skyrocket has two new kernel! I want to use this thread so that people can post their preferences for their kernels.
Please post in the following order:
1- kernel you are using
2- governor you are using
3- i/o schduler you are using
4- best for [battery life, performance, or mix of the two]
5- Optional - if you have stable overclocking and undervolting, please feel free to share!
I'll post mine as soon as I install the new kernels, but for those who already have flashed their new kernels, please feel free to share! :good:
--------------------------------------------------------------------------------------------------------------------------------------------------------------
How To:
** I am not responsible for anything that goes wrong with your life or phone when you follow this how to! You are undervolting at your own risk! I am just sharing that I have done**
1 - You will need a custom kernel what supports undervolting.
For Skyrocket users, these are the kernels for JellyBean AOSP DAGr8 and flappjaxxx
2- Now, the only tool I know to allow voltage changes is the app called System Tuner. Download and Install. In addition, download an app called the stabilitytest and install it.
3- Click on Voltages and opening the app.
(For fllappjaxxx's Kernel, I learned that you have to set the CPU0 to CPU1 in order to change the voltages)
4- Start with one CPU speed and undervolt by 12.5 (one minus button click) | Do this for each CPU speeds. From my experience, undervolting by more than 75mV causes instability
5- If your phone freezes during undervolting, the phone will reboot itself and reset to its default settings. (SO WRITE DOWN YOUR NUMBERS)!
6- Do this until you achieve some sort of stability.
7- If you phone isn't freezing up or rebooting after changes, save this voltage table.
8- End everything and start the Stabilitytest app.
9- For pure stability of you undervolting, you will need to run the stability test of the classic run for a day. I'm too lazy and I don't care so I just do 15 cycles of the CPU.
10- If everything works, make the undervolt tweaks your default in the system tuner.
-----------------------------------------------------------------------------------------------------------------------------------------------------------
Here are my Kernel settings
on the gs2usr's Paranoid Adnroid
1 KingKang
2 **Edit** Interactivex or Wheatley
3 **Edit** Noop with interactive or Deadline cfq with Wheatley
4 Battery Life
CPU -- mV
192 -- 725
310 -- 725
384 -- 725
540 -- 725
702 -- 725
864 -- 887.5
1.02 -- 975
1.18 -- 1000
1.35 -- 1100
1.51 -- 1150
1 h0tcakez
2 Interactive
3 Noop
4 Battery
Cpu -- mV
192 - 700
310- 700
384 - 700
432 - 700
486 - 700
540 - 700
594 - 700
648 - 725
702 - 825
756 - 875
810 - 900
864 - 925
918 - 950
972 - 975
1.02 - 987.5
1.08 - 1000
1.13 - 1025
1.18 1037.5
1.24 - 1050
1.29 - 1075
1.35 - 1087.5
1.4 - 1100
1.45 1125
1.51 - 1150
:good::good: If I've helped, Thanks would be appreciated! :good::good:
1- H0tzakes Kernel
2- Interactive
3- i/o schduler (Not sure what that is, I am a newb to all this stuff, only flashed ROM's)
I am using SlimBean 2.8 ROM
I was able to change the voltage values without setting the CPU0 to CPU1. Did I do something incorrect still? How do you change the CPU0 to 1? Also When I click on CPU it says CPU1 is offline, but shows CPU0 speed changing. Should CPU1 be offline, or will it come online when more power is needed?
Julian713 said:
1- H0tzakes Kernel
2- Interactive
3- i/o schduler (Not sure what that is, I am a newb to all this stuff, only flashed ROM's)
I am using SlimBean 2.8 ROM
I was able to change the voltage values without setting the CPU0 to CPU1. Did I do something incorrect still? How do you change the CPU0 to 1? Also When I click on CPU it says CPU1 is offline, but shows CPU0 speed changing. Should CPU1 be offline, or will it come online when more power is needed?
Click to expand...
Click to collapse
changing the values of one core should set the voltage. check it yourself. change between cpu0 and cpu1 and see if the voltage settings are the same. offline means that the cpu is not in use, that's all.
If you set voltage for cpu0 should cpu1 voltages be the same?
Sent from my SGH-I727 using xda app-developers app
evocalante said:
If you set voltage for cpu0 should cpu1 voltages be the same?
Sent from my SGH-I727 using xda app-developers app
Click to expand...
Click to collapse
Stole my question! +1
Sent from my SAMSUNG-SGH-I727 using xda app-developers app
I have tried to save the settings in system tuner and then load them and it tells me I can't load them. I am trying to save them on boot, but do I click the on completed boot or the init.d script? I can the volts to stick
Sent from my SAMSUNG-SGH-I727 using xda app-developers app
evocalante said:
If you set voltage for cpu0 should cpu1 voltages be the same?
Sent from my SGH-I727 using xda app-developers app
Click to expand...
Click to collapse
Yes, by setting the cpu1, it should set the cp0.
Smittiegee19 said:
I have tried to save the settings in system tuner and then load them and it tells me I can't load them. I am trying to save them on boot, but do I click the on completed boot or the init.d script? I can the volts to stick
Sent from my SAMSUNG-SGH-I727 using xda app-developers app
Click to expand...
Click to collapse
are you sure you are changing voltage in cpu1?
I would say take the battery out for 2 minutes, power on the device and change the voltage settings in system tuner. Save 2 version of the voltage table. go into boot settings, click "on completed boot" for cpu settings and sd settings.
jee'sgalaxy said:
are you sure you are changing voltage in cpu1?
I would say take the battery out for 2 minutes, power on the device and change the voltage settings in system tuner. Save 2 version of the voltage table. go into boot settings, click "on completed boot" for cpu settings and sd settings.
Click to expand...
Click to collapse
Thanks finally got it to stick.Thanks for the response though.
Running The collective
Kernal: king kang
Governor: on demand
I/o : noop
Shooting for battery life. I work 12 hour shifts in an er, so in between dying patients i like to surf the web and game, etc
I use these settings
700 mv for the 1st 5
887.5 mv
900 mv
1000 mv
1100 mv
1150 mv
Seems stable no random reboots, or sod.
Sent from my SAMSUNG-SGH-I727 using xda app-developers app