Jeckyll & Hyde Kernel Discussion/Support Thread (Anything Related Goes Here Folks!) - LG Optimus 3D

Jeckyll & Hyde Kernel Discussion/Support Thread (Anything Related Goes Here Folks!)
I'll update this thread with answers to popular question and information regarding the kernel periodically. Some of it will be based on mine & other experiences therefore it may or maynot directly apply to you like Governor/IO and OC/UV settings as users require different things from there phone.
Updated 03/03/2013
How Can I Enable/Disable Some Features - Check this out > http://forum.xda-developers.com/showthread.php?t=1768315
What Are The CPU Frequencies - 115.2Mhz, 230.4Mhz, 307.2Mhz, 422.4MHz, 537.6Mhz, 614.4Mhz, 729.6Mhz, 806.4Mhz, 921.6Mhz, 1036.8Mhz, 1113.6Mhz, 1228.8Mhz, 1305.6Mhz, 1420.8Mhz, 1536Mhz & 1612.8Mhz. As from 2.1.0 these have been changed to test something out.
What Is The Max OC At Boot Time - Should be 1228.8Mhz but you can change this with scripts or an app.
Why The Strange Frequency Table - Something to do with the OMAP4's clock system and makes the kernel a little unique.
What Governors Are Included - Ok from the top they are adaptive, sanjose, smartassV2, sakuractive, gallimaufry, gallimaufryX, aggressive, aggressiveX, pegasusq, wheatley, lazy, hotplug, interactive, interactiveX, conservative, ondemand, userspace, powersave & performance. Google is your best bet if you want to know more about a particular governor. As of 2.0 most of these have been removed.
What Governor Is Best To Use - Personally Hotplug, Sanjose as these have better dual core Cpu support.
What IO Scheduler Is Best To Use - Again I recommend SIO, NOOP but ROW, ZEN & VR are good alternative even if they can be a little unstable.
Is USB OTG Supported - No not yet and may never be, as I'm not sure its going to be totally kernel dependent yet.
What Is The Battery Life Like - Ah that ever so popular almost unaswerable question. Depending on your usage, should be similar to stock at the moment untill I make a few changes.
How To Enable/Disable High Performance Audio - In terminal enter
Code:
echo X > /sys/class/misc/soundcontrol/highperf_enabled
Where X is 1 or 0. Enable = 1, Disable = 0 (Is enabled by default but it might increase battery drain during music playback.)
Enabling ZRAM & Setting ZRAM Size - This can be done in a few ways:
1. In Terminal enter the following:
Code:
echo $((64*1024*1024)) > /sys/block/zram0/disksize
busybox mkswap /dev/block/zram0
busybox swapon /dev/block/zram0
2. Or make a script in the init.d folder with the previous code to make it set at each boot:
Code:
#!/system/bin/sh
#
# Enable & Set Size Of ZRAM
# Where 64 Denotes The Size Of SWAP/ZRAM In MB
# Thanks To iodak For Script Content
echo $((64*1024*1024)) > /sys/block/zram0/disksize
busybox mkswap /dev/block/zram0
busybox swapon /dev/block/zram0
Make sure to set the correct permission for the script too. 777 (tick all boxes) or 755 should be fine for this
3. Or edit the swap_enable.sh in system/bin/ by uncommenting the necessary lines. (Thanks to iodak for these.)
How To Enable Smart Reflex - Other than using the TricksterMod app at the top of the page it can be done manually;
Where XXXX could be:
'core' = GPU, RAM, FDIF (Face Detect Module) & HSI (Baseband Related)
'mpu' = CPU
'iva' = Multimedia Processors (Video, Image, Sound Processing)
1. In Terminal enter,
Code:
echo 0 > /sys/kernel/debug/smartreflex/sr_XXXX/autocomp
2. Or make script for init.d so you can predefine these at boot. Enter the follow,
Code:
#!/system/bin/sh
#
# Smart Reflex Disabling Script By samno
#
# For Experienced User's That Know What there Doing!
#
# To Use Replace "1" With "0" & Remove "#"
# echo 0 > /sys/kernel/debug/smartreflex/sr_core/autocomp
# echo 0 > /sys/kernel/debug/smartreflex/sr_iva/autocomp
# echo 0 > /sys/kernel/debug/smartreflex/sr_mpu/autocomp
How To Enable/Disable Fast Charging - If not using TricksterMod app in terminal enter the following,
Code:
echo X > /sys/kernel/fast_charge/force_fast_charge
Where X is 0=Disabled, 1=Enabled (Is disabled as default)
How To Enable/Disable Fsync - If not using TricksterMod app in terminal enter the following,
Code:
echo X > /sys/class/misc/fsynccontrol/fsync_enabled
Where X is 0=Disabled, 1=Enabled (Is disabled as default)
How To Enable/Disable Dynamic Fsync- If not using TricksterMod app in terminal enter the following,
Code:
echo X > /sys/kernel/dyn_fsync/Dyn_fsync_active
Where X is 0=Disabled, 1=Enabled (Is disabled as default)
Where Can I Find The Source Code? - https://github.com/samno1607/Jekyll-Hyde I'm always uploading the latest tweaks I am using in the current available kernel.

happy to see you back here

hey man
so glad that you are back!

Hi Samno!!!
Very happy new year to you! Very happy to see you back in action.!!
Are you developing a kernel? Can USB-OTG be enabled by some means?
Hope you reply in the affirmative!!
best regards and thanks again.
schubeir

Hi samno I'm so glad to see you again . Finally samno return to us . I think you are a gift from Santaclause to us .

I saw you asked for feedback on your kernel. I found it unstable at 1.4ghz - made my apps glitch. 1.5 and 1.6 just froze my phone.
What I did like is that it reset to a default of 1.2ghz when I booted my phone.
Iodaks kernel allows you to change the voltages in setcpu - if you incorporated something like that, I think it would be really good.
Hope that helps
Sent from my LG-SU760 using xda app-developers app

Great kernel just very unstable at higher frequencies
Sent from my LG-SU760 using xda premium

What is the high performance audio mod? Some observations, seems very stable for me although PH85 kernels seem to have better ram management (always more ram free) and at the same clock speeds your latest kernel is lagging for me compared to PH85 latest, might be voltages or smartflex?
Sent from my LG-SU760 using xda app-developers app

saint_cow said:
What is the high performance audio mod? Some observations, seems very stable for me although PH85 kernels seem to have better ram management (always more ram free) and at the same clock speeds your latest kernel is lagging for me compared to PH85 latest, might be voltages or smartflex?
Sent from my LG-SU760 using xda app-developers app
Click to expand...
Click to collapse
I just overlocked ram, iva and gpu, and i use Acura ramdisk tweak.
All stuff that samno already know and will improve soon

hey samno,
I have a quick question. I use Trickster to modify settings but after each reboot they revert to default (max freq and fsync).
What is the proper way to lock them?
Thanks!
EDIT: NWM!!! I forgot golden rule - Read The Fu...ing Manual Found all settings under SETTINGS button (slap!)

Updated OP to reflect new kernel build but still more stuff to add.

hey samno im having a problem whereby its constantly at the highest frequency with 75%-100% cpu, and i cant change it higher or lower other its freezes

@ rezzsha try interactive governor and upping the voltages up 25mv of all frequencies. What do you mean cant change higher or lower as in frequency in set CPU? Did previous kernel version work?

Re: Jeckyll & Hyde Kernel Discussion/Support Thread (Anything Related Goes Here Folks
Anyone else having wifi issues? I have to reboot every now and then even though it looks like it's connected it isn't. Once I reboot it works fine.
Sent from my LG-SU760 using xda app-developers app

@samno
Is there going to be a tutorial like you made for the GB kernel? A how to? I'm on the thrill and it seems like there aren't any devs there anymore. I'd like to build a kernal for the thrill, but trying to use the old GB guide is a little confusing since most of the file structure has changed.
Thank you Samno for all of your hard work!!

Related

[KERNEL][GPL]Genocide EC05 Kernel 2.0|1.4GhzOC|RomManager|CustomUV|DUALBOOT! 7/5/2011

Genocide EC05 Kernel 2.0 |1.4GhzOC|UV|VoodooSound10|VoodooColor|DualBoot
(Compatible with DK28, EB13, and EC05)
I am NOT responsible for any damages, fires, race-wars, riots, temporary blindness, killer bee attacks, or anything else that could be remotely tied to downloading this file. You have been warned!
Features:
Dual Boot Support!
Overclockable (1400MHz, 1300MHz, 1200MHz, 1120MHZ)
Undervolt via sysfs
ROM MANAGER compatible!
Working redirector
Root and busybox built in
Voodoo Sound v10
Voodoo Color
Cifs and tun modules (not loaded by default)
MANY patches and tweaks
Much much more!!!
REQUIRED READING: IF YOU DO NOT READ ALL OF THIS THEN I WILL NOT PROVIDE SUPPORT FOR YOU UNTIL YOU DO!!!!
1. This kernel is capable of 1.3 & 1.4GHz however the voltage required slightly exceeds (roughly 50mV) the manufacturer's recommended voltage. Enable these AT YOUR OWN RISK.
2. Just because the kernel is capable of higher clock speeds DOES NOT mean every device will handle them.
3. DO NOT gripe or complain and trash my thread if you're device doesn't support anything past 1.2GHz. I WILL NOT increase the voltages anymore past recommended specifications.
4. DO NOT get mad or get your feelings hurt if I tell you to read the original post (OP) instead of answering your question. It means I have already answered it here OR I felt your question(s) needed to be answered in the OP and updated it accordingly.
5. DO a complete nandroid backup in ClockworkMod BEFORE flashing the kernel or messing with the undervolt settings. Setting values too low CAN cause data corruption. Simply restore your backup that I know you just made. YOU HAVE BEEN WARNED!
6. BY DEFAULT the ONLY active frequencies are 100MHz, 200MHz, 400MHz, 600MHz, 800MHz, and 1000MHz. In order for the device to use higher frequencies they must be specifically enabled. If you install the kernel you will NOT be automatically overclocked.
7. The kernel should work with any rom EXCEPT Stock EC05 that is converted to EXT4 AND is NOT deodexed. This is a known issue I am looking into.
8. PLEASE PLEASE PLEASE take time to read and search this thread before asking questions. I am not a baby sitter and I should not have to spend my time answering the same questions over and over and over again as it takes time away from me improving the kernel or working on my other projects. If you see some one ask a question that has already been answered please do not flame them. It would help me greatly if you could take 5 seconds to answer them or link them to the post with the appropriate answer.
NOTE: If you are going to overclock I personally recommend you UNINSTALL SetCPU and set your max with Voltage Control or by hand.
Installation:
Download the kernel and flash with ClockworkMod.
How to Dual Boot:
Information on dual booting can be found here: http://forum.xda-developers.com/showthread.php?p=15378860
Easy Overclock/Undervolt Method:
Setting up your frequencies:
Required software: Voltage Control by xan http://devphone.org/files/epic4g/kernels/VoltageControl_3.0.apk
1. Backup your device in ClockworkMod and flash the kernel. If you get messed up or confused just reboot your device to undo the changes.
2. After flashing the kernel, uninstall SetCPU and install Voltage Control (VC).
3. Open VC and hit 'States' at the bottom to open the States drawer.
4. Enable your desired frequencies and hit the menu button and 'Apply for now' (DO NOT 'Save as boot settings')
5. Hit 'States' to retract the States drawer.
6. Leave the Scheduler as 'cfq' and change Limit clock to your desired max frequency.
7. Hit the menu button and 'Apply for now' (DO NOT 'Save as boot settings' unless you are 110% sure the settings are stable and you have adequately tested)
Setting up your personal undervolt settings: (Caution: When figuring out your maximum undervolt settings there is a good chance you will get some data corruption so make sure your backup in ClockworkMod is up to date)
1. Open VC and select the desired frequency you wish to undervolt.
2. The green slider goes in increments of -25mV so select that first and take note of the frequency and value. (It is important when testing that you reduce the voltage ONE step at a time)
3. Hit the menu button and 'Apply for now'
4. Test the device's stability THOROUGHLY before you move the slider down any further. See the FAQ below for tips on testing stability.
5. If you feel it is stable then repeat this process and move the slider down one step, write it down, and THOROUGHLY test.
6. When your device freezes or starts acting weird then you know that value is too much and you should use your previously stable value.
Repeat this process for each of the other frequencies you wish to undervolt. When you feel you have the stable values that you are comfortable with, open VC and apply your stable values and THOROUGHLY test your device again. After you do all of this, make sure you are 110% certain of the stability before you 'Save as boot settings' and remember you may need to restore your ClockworkMod backup before setting up your final values to ensure no data corruption.
Advanced Overclock/Undervolt Method:
Required software: Working 'adb shell' or terminal emulator
There is NO hand holding here. Make sure you read the Easy Method to familiarize yourself with the process! If you don't know what you are doing then DO NOT attempt this method. If you get messed up or confused just reboot your device to undo the changes.
Enable active states: echo "0 0 1 1 1 1 1 1 1 1" > /sys/devices/system/cpu/cpu0/cpufreq/states_enabled_table
Accepted values are 0 and 1. All ten values must be set and this example enables 1200000 to 100000.
Set maximum frequency: echo "1200000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
Accepted values are 1400000, 1300000, 1200000, 1120000, 1000000, 800000, 600000, 400000, 200000, and 100000.
Set minimum frequency: echo "200000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
Accepted values are 1400000, 1300000, 1200000, 1120000, 1000000, 800000, 600000, 400000, 200000, and 100000.
Set undervolt values: echo "0 0 0 0 25 50 0 0 0 0" > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table
Values are in millivolts. Accepted values are 25, 50, 75, 100, 125, 150, 175, 200. DO NOT USE NEGATIVE NUMBERS. All ten values must be set.
This example applies a -25mV at 1000000 and -50mV undervolt at 800000.
To set your values on boot once you find what is stable creat a file name S_volt_scheduler with the following contents and change the values accordingly:
Code:
#!/system/bin/sh
#set UV
echo "0 0 0 0 25 50 0 0 0 0 " > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table
echo 1200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
#select enabled states
echo "0 0 1 1 1 1 1 1 1 1 " > /sys/devices/system/cpu/cpu0/cpufreq/states_enabled_table
#set scheduler for stl, bml and mmc
for i in `ls /sys/block/stl*` /sys/block/bml* /sys/block/mmcblk*
do
echo "cfq" > $i/queue/scheduler
done
Put the file in /etc/init.d/ to apply the settings when the device boots.
FAQ (Frequently Asked Questions):
Q. Why isn't my device stable at higher clock speeds?
A. Many processors are cut at a time from one big wafer of silicon and other materials by the manufacturer. No two processors are exactly the same. From a cost stand point these chips are designed to yield a certain percentage of working chips at given specifications. These chips are made to withstand specific currents and voltages. When we exceed the currents and voltages the chips are designed to handle some will fail.
Q. What else can I try if I can't run the higher frequencies?
A. There is not a whole lot you can do. Some things I would suggest is make sure SetCPU is uninstalled. It has been reported SetCPU can cause some stability issues. Another option is to try different roms. Other than that there isn't much you can do. Sorry.
Q. Do you plan on pushing past 1.4GHz?
A. No. I do not plan to push any higher than 1.4GHz. Why? I am not going to push the higher voltages that would be required to go any higher. Please don't bother asking me to.
Q. What are some good ways to test stability while I am figuring out what undervolts my device can handle?
A. The best way to test stability is going to be setting your max frequency to the frequency you are testing and run benchmark programs like SmartBench that test multiple areas of your device. I recommend spending atleast 5-10 minutes running benchmarks and doing other tasks before you decide a given undervolt is stable.
Q. Help I was messing with the undervolts and now I get force closes (FC). What can I do?
A. This is why you made a backup in ClockworkMod. Setting voltage too low can corrupt your data and cause programs to FC. Typically you can reinstall the program or clear the applications data to fix it. As a last resort (and recommended to do anyway after you find your stable values) is to restore your backup from ClockworkMod.
Q. Why can't I use SetCPU?
A. You can use SetCPU, how ever I do not recommend it as it can cause conflicts. I am not going to support using it but if you get it working for you then by all means. I have no problems with the program or it's author and I think it is a great program but it just isn't needed and can make things tricky to get working correctly.
Q. How can I tell what frequencies I will benefit most undervolting or if they are even working?
A. There are two ways. The easy way is to install CPU Spy http://forum.xda-developers.com/showthread.php?t=1011497. The advanced way is to 'cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state'
Q. What are the default voltages for the avialable frequencies?
A. 1400000 @ 1375 mV WARNING: above recommended voltage
1300000 @ 1325 mV WARNING: above recommended voltage
1200000 @ 1300 mV
1120000 @ 1300 mV
1000000 @ 1275 mV
800000 @ 1200 mV
600000 @ 1175 mV
400000 @ 1050 mV
200000 @ 950 mV
100000 @ 950 mV
Q. I have enabled 100MHz but I can not scale down to 100MHz. Why?
A. By default the kernel sets 200MHz minimum. In order to scale down to 100MHz you can flash this script to set 100MHz on boot http://devphone.org/files/epic4g/kernels/Genocide_set_min_100MHz.zip or add this line to /system/etc/init.d/S_volt_scheduler:
Code:
echo "100000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
Q. How do I change the governor with terminal emulator or adb shell?
A. See the answer here: http://forum.xda-developers.com/showpost.php?p=13118624&postcount=1705
Q. This kernel has Voodoo Sound but I don't hear a difference. What gives?
A. There are indeed changes but to look at the settings and adjust the volume, download Voodoo Control App from the Market. I highly encourage people to donate to supercurio as he has done some awesome modification and more of his mods will find their way into this kernel soon!
Q. What is this flashing android on top of my boot animation now? How do I fix it?
A. On a stock rom, enabling boot animation support in the kernel plays the default boot animation (flashing android logo) over top of Samsung's own boot animation. Check out this thread to get rid of the flashing android or clear Samsung's animation for your custom animations.
Q. How do I enable CIFS support?
A. From 'adb shell' or a terminal emulator type 'insmod /lib/modules/cifs.ko'
Q. How do I enable TUN support?
A. From 'adb shell' or a terminal emulator type 'insmod /lib/modules/tun.ko'
Q. How come there is no frame rate increase?
A. The current method to increase the frame rate is by bumping up the LCD refresh rate. While I am told it should not break the LCD I decided it would be best to not mess with this setting for now until we find some proper documentation on the LCD in our devices. The documentation is kept under tight wraps and requires a signed non disclosure agreement for access.
Q. How do I set the timer delay for mkasick's keyboard patch?
A. Please refer to his post on more information about the keyboard patch http://forum.xda-developers.com/showthread.php?t=975611
A2. theimpaler747 has suggested a lower default value for the keyboard patch and has provided flashable scripts to set it lower. Please refer to his post here: http://forum.xda-developers.com/showthread.php?t=1025533 (If reports are good I will bump this down to the default value on my next release)
Q. I don't want to overclock or undervolt. Can I still use the kernel and will it automatically overclock/undervolt my device?
A. Yes you can absolutely still use the kernel. The default frequencies are 200MHz - 1000MHz at stock voltages. This will not change until you change it yourself.
Q. I flashed a different kernel and I lost root. What gives?
A. Root is now included in the kernel. If you flash a kernel that does not have root built-in then you will need to re-root.
Q. I didn't read or my settings became unstable after setting them on boot. Now my phone freezes when it boots up. What can I do?
A. You have two options. Option 1 is to restore your ClockworkMod backup that I KNOW you did before you started. Or option 2 flash this file with ClockworkMod to erase the boot settings: http://devphone.org/files/epic4g/kernels/Genocide_undervolt_recovery.zip
Q. Where are your sources?
A. Kernel sources can be found here: https://github.com/Rodderik/Genocide-Kernel
Q. Where can I find the link to download the kernel already?
A. After you have read everything, check the next post for links and changelogs.
If you like what I've done please consider a donation. I'm usually not one to ask for donations but it's pretty difficult finding a job for me right now so I'm doing what I can.
Please share your undervolt settings so I can compile and recommend a 'safe' starting point to help future flashers. Thanks.
Many thanks to DRockstar, nubecoder, gzub, supercurio, tanimn, mkasick, DevinXtreme, thomasskull666, nullghost, existz, rasdeep, and any other devs that I have forgotten. I apologize in advance. If you feel you deserve credit for something then please PM me and we will get the situation solved quickly.
Changelog: (Legend: "+" introduce addition/modification, "-" removed addition/modification, "*" changed addition/modification)
*updated su binary and Superuser.apk (if you still have the old Superuser installed either delete it from /system/app/ or simply update it via market)
Genocide2.0_superuser.zip
2.0
+dual boot support
+new boot logo for v2.0
*fixed typo in cpu code
*Voodoo Sound updated to v10
Genocide2.0_voodoosnd10.zip
1.1
*Tweaks to initramfs for root in adb
-Revert RNDIS patch due to breaking linux (wired tether still works) https://github.com/Rodderik/Genocide-Kernel/commit/b6b221bcb622ff369fa7c1c82543b3e75bb32748
+ClockworkMod 3.1.0.1 Purple Edition & working redirector (DRockstar https://github.com/DRockstar/Clean-Kernel-EC05/commit/ac713f90ec2a2560bc7fb05225341a4e4772a199)
*Busybox handled by recovery binary
*Moved superuser.apk location
*Swapped redbend_ua for bmlwrite
+Other scripts and tweaks from DRockstar into initramfs
+interactive governor + fixes
*ondemand governor fix to not scale below min frequency (nubecoder)
*Voodoo Sound updated to v9
+mountums & umountums added for USB Mass Storage in CWM (DRockstar)
+DroidDream malware prevention code in custom_init.sh script
*Voodoo Sound updated to v8
-Revert lowmemorykiller.c patch (causes kswapd0 to be stuck awake and eat cpu time)
+Kernel splash image was disabled after DK28 - Re-enabled (Stored in Kernel/drivers/video/samsung/logo_rgb24_wvga_portrait_victory.h)
*Add KBUILD_BUILD_VERSION to build.sh
+keytimer script and mods from DRockstar http://forum.xda-developers.com/showthread.php?p=13017148
*initramfs changes (persistant Superuser.apk)
Genocide1.1_FINAL.zip
1.0:
Voodoo Color by supercurio (http://perso.curio.be/android/Voodoo_color_mDNIe_GT-I9000.patch)
*New Overclocks and sysfs undervolting support (rasdeep, existz, tanimn, gzub, and thomasskull666...pulling my hair out over this one)
+Root, custom init scripts, misc tweaks (care of tanimn)
*Voodoo Sound updated to v7
+Conservative governor minimum frequency fix (You rock GZub https://github.com/gzub/EC05-Zub/commit/8a47c52d85d982ef035d24da293bcc046412b63e)
-Remove refresh rate change (We need proper LCD documentation before I can support changing this)
-Clean up github files and rename repo
-Removed video lag & camera force close fix (Samsung fixed the camera issues for EC05)
+Removed iqmsd service from initramfs (CIQ bad!)
+Keyboard delay runtime sysfs patch by mkasick http://forum.xda-developers.com/showthread.php?p=11755093
+TV compile fix (thanks tanimn and nullghost)
*Tweaked config flags and recompiled modules (thanks gzub for the help)
-Keyboard patch by mkasick in preparation for updated patch
+Refresh rate changed from 60 to 72 (slightly better framerates)
*Voodoo Sound updated to v6
+EC05 source merge
+scaling_available_frequencies sysfs patch from nullghost http://forum.xda-developers.com/showthread.php?t=1000309
Genocide_1.0_EC05_1.4GHzOC_UV_VS7_VC_Kernel.zip
0.4a:
+lowmemorykiller.c patch https://github.com/existz/kernel-i9000-suckerpunch/
+Voodoo Sound v4 by supercurio https://github.com/project-voodoo/sound_kernel_patches
+Added sched_autogroup v4 patch (Patch to smooth system under load) https://github.com/existz/kernel-i9000-suckerpunch/ & http://www.phoronix.com/scan.php?page=article&item=linux_2637_video&num=1 NOTE: Enable/disable by echoing either 0 or 1 to /proc/sys/kernel/sched_autogroup_enabled
+Changed swappiness from 60 to 10 (dumps RAM to swap less often for those with a swap partition)
+Wireless Tether fixes by mkasick http://forum.xda-developers.com/showpost.php?p=11808622&postcount=88 (should fix 4G tethering issues)
+Keyboard patch by mkasick http://forum.xda-developers.com/showthread.php?p=11755093
+Battery Status Polling Interval changed from 2000 to 30000 (30 seconds)
+RDNIS Froyo Fix by mkasick (use wired tether from http://forum.xda-developers.com/showthread.php?t=964925)
+Added RNDIS support for Wired Tether https://github.com/DevinXtreme/Xtreme_Epic_Kernel
+Added CONFIG_ARM_THUMBEE=y (as suggested by gzub)
+Set 4k read ahead in mtd_blkdevs.c (faster boot?)
+existz-initramfs-i9000-suckerpunch ported to Epic - BROKEN RIGHT NOW DO NOT USE!!!
+Removed CONFIG_DEBUG_INFO=y (gives us smaller kernel image and all modules including new cifs.ko)
+CFLAGS_KERNEL = -O2 -pipe -mcpu=cortex-a8 -mtune=cortex-a8 -mfloat-abi=soft -mfpu=neon
-Removed About Phone information (Caused FC and weird bugs in apps)
*Fixed error that wouldn't let cpu drop below 200MHz
Genocide0.4a_voodoosnd_20110316.zip
0.3a:
+Set defaults speeds to 200MHz min and 1000MHz max (NOW REQUIRES SETCPU TO OVERCLOCK)
+Compiled in video lag & camera force close fix by mkasick http://forum.xda-developers.com/showthread.php?t=970452
*Fixed issue with Firmware version in About Phone (FIXES PANDORA)
+Set initramfs root UID/GID
+Compiled and added cifs.ko to initramfs
-Removed cifs from kernel (you can try the module if you want but it broke the initramfs with it in there plus it is a nasty 2.3MB)
Genocide_0.3a_EB13_OC-UV_Kernel.zip mirror
0.2a:
+New EB13 initramfs (no more DK28 stuff)
+Added EXT4 Support
+Added bootanimation support
+Updated kernel modules from EB13
+Added recovery (need to test redirector)
+Added Firmware version to About Phone
+Started on Voodoo mods
Genocide_1.2GHzOC_EB13_Kernel_v0.2a.zip mirror
0.1a:
+1.2GHz overclock
+1Ghz 25mV undervolt
+DK28 initramfs (for pre-EB13/OTA compatibility)
Genocide_1.2GHzOC_EB13_Kernel_v0.1a.zip
If for some reason you want to revert back to the kernel that came with your rom you have two options. Before reverting back, I would suggest that you use SetCPU to lock in 1GHz to take advantage of the slight undervolt at 1GHz to save a little more battery. But if you insist the first option is to download and flash one of the following kernels based off which rom you are running:
VIPERrom DK28 RFS/EXT4 Modded Kernel HERE
Bonsai4all DK28 EXT4 Modded Kernel HERE (this includes roms based off of Bonsai as well)
The second option is to be 100% sure you get the right kernel back is to download either zip above and place the zImage into the kernel folder with 7zip. Typically the zImage can be found in your rom of choice's zip under /kernel or /kernel_update.
backing up now lol w00t
Nicely done! +400 to my quandrant scores and almost a full 4.0 increase with linpack. Cannot wait to see what else is to come!
darkjje said:
Nicely done! +400 to my quandrant scores and almost a full 4.0 increase with linpack. Cannot wait to see what else is to come!
Click to expand...
Click to collapse
+1 i was avg around 1100/2300 in smartbench!1ghz, pulling 1300/2900 @1.2ghz
so far so good here THANKS
I love lamp!
Great job brother
WOW!
Team Viper 'STAY STRONG' with these Great ROMS!!!
YOur testers say Thank You!!!
Nice job man,I knew you guys would have somthing from EB13 flashable before the weekend was over.
Sent from my MyFrankenstein ROM using XDA App...
ecooce said:
Nice job man,I knew you guys would have somthing from EB13 flashable before the weekend was over.
Sent from my MyFrankenstein ROM using XDA App...
Click to expand...
Click to collapse
What are your scores for Frankenstein? ...cuz i know you're ROM comes stock like 98MB or something like that ...so it's already quick as Puff-N-Stuff lol
ViperCom?
Why didn't ViperCom show this kernel being available?
edit--EST--5:03am--just saw in ViperCom-Thanks!!!
Thanks, this is really fast. Any chance of someone compiling the browser from it as well? The ones we have are sort of hacky.
BThomas22x said:
What are your scores for Frankenstein? ...cuz i know you're ROM comes stock like 98MB or something like that ...so it's already quick as Puff-N-Stuff lol
Click to expand...
Click to collapse
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Nuff said,awesome job,this thing is FAST... Cant wait to see what else is to come. And I have tons of things loaded atm,so I could post better scores when I get an EB13 ROM out.
I just got 2450 quadrant on bonsai rom! I didnt even kill other apps
Sent from my SPH-D700 using XDA App
Oooo first to post this...
LOVE the kernel name man lol
Genocide ftw!
Sent from my baked and emotionless SPH-D700
Can anyone help with the scaling settings. Would like a good mix of speed and battery strength. Current setting are conservative (1000000max and 400000min)
id love to see a vid, time lapse or something, of you unfolding this kernel into rich goodness. I'm very interested to learn more about how this works. Maybe start a xda webinar for those wanting to get the skills down...imagine where that could take us, having more educated folks pumping time into creative dev. Either way, Capital R you are the man! Keep the wheels turning.
Sent from my SPH-D700 using XDA App
Runs great. Awesome job man. Finally an oc/uv for froyo!
Sent from my SPH-D700 using XDA App
backing up and installing now, is it possible to post or get a link to the stock trinity 2.0 kernel incase we run into errors later on ?
It's been so long since I've had a custom kernel I almost forgot what it felt like!
Runs beautifully on Nebula rom. Actually logged in on my browser just to send you a thanks.
Fangs87 said:
backing up and installing now, is it possible to post or get a link to the stock trinity 2.0 kernel incase we run into errors later on ?
Click to expand...
Click to collapse
nandroid
but u could prolly grab the zImage from T2 and manualy flash?

[KERNEL][JUL.17]Bricked-3.0|3.0.36|v1.4|cmdline|Sweep2Wake|mpdecision|bad ass

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: 1350000​Available 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.

[CWM][SCRIPTS][TWEAKS] ThunderBolt! v2.6.1 - 3/5/12 [Major Update Updated!]

ATTENTION: Only the main CWM and screenstate_scaling addon is compatible with ICS for now. LMK only works half way and shouldn't be used until I can find out if there's a method to automate the services.jar (as used by Supercharger to lock down LMK settings.
ATTENTION: 3G addon canot be used for CM7/MIUI at the moment!
ATTENTION: Addons are at the second post!
ATTENTION: 40MB has a very unaggressive LMK that will face lags at the end of the day but have higher degree of multitasking. You were warned
ATTENTION: If you're on Fugumod build 1922, which came out Nov. 3, meaning also on CM nightly 168 (and Neo 18 just recently) or any latest CM7 that has the latest didle code integrated into it, don't flash the screenstate_scaling addon! I've troubleshoot it with lippol94 and I found a bug in the latest didle code. I've explained it in the post here: LINK
ATTENTION: Mount /system before flashing! The CWM zip doesn't mount it for you automatically!!! This is to enable all phones (almost all?) to use this script. Go to "Mounts and Storage" in CWM to do this.
News
Updated ThunderBolt! to v2.6.1 with fixes to the main CWM updater script as well as moved S98bolt_siyah to bolt_scripts. Move it to init.d if you want to use ThunderBolt!'s hotplug/cpuidle/brightness settings for SGSII kernels.
Introduction
ThunderBolt! is a script package by me, pikachu01 that combines a few notable tweaks shamelessly modified to the max as well as hacks and scripts that I came up on my own(and added tonnes of things over the months of development and testing). Without further delay, please read the rest of the OP
Benefits
Better performance, better battery life through Linux kernel tweaks catered for Android OS and flash memory.
Better battery life and performance through usage of screenstate_scaling whereby it switches governors/thresholds/VM depending on your screen state.
Better performance and battery life for database writes as fsync is not utilized anymore.
Better network throughput from TCP tweaks and 3G tweaks
Less RAM usage through zipalign. I found that market apps like Viber and PlantsVsZombies aren't zipaligned. Oh and Swype too. Surprised? Me too.
Reduced /dbdata, /data, /sdcard usage of *.db files and faster database access through defragmentization of sqlite db files (a lot of apps use Database to store data like Swype dictionaries, Game saves etc)
Faster disk access through remount script (noatime, disable barrier etc)
Less lags through Quasi-charger, with mutltasking (e.g. NFS shift + Opera mobile with 5 tabs fully opened and no lags)
Minimum Requirements
Android Gingerbread 2.3.x
Note: Only the main CWM is ICS compatible. The LMK and screenstate_scaling might work on certain ICS ROMs. Try them out first. Nandroid beforehand!
At least 2MB free on /system (Delete unused ringtones or useless apps like Aldiko/Allshare etc).
Root
Kernel that supports init.d
Ext4 lagfix if you want to use the remount script
Addons
The 3G CWM is an addon that in most cases improve your mobile wireless speed.
The libsqlite CWM is an addon that removes the need to fsync before a database write is done. It'll improve database write speeds (where apps like SMS, contacts etc use databases)
The bin files CWM is an addon that uses Fugutweaks + system_server from Honeycomb. Some say that it improves response rates.
The LMK addon strives to maintain an effective LowMemoryKiller so that you have a small degree of multitasking coupled with a huge performance boost and a phone that lasts for days without needing a reboot to "clear off the memory or something". Split the LMK downloads to two with "Talon" version used for TalonDev kernel and "Others" version used for kernels that are not TalonDev. TalonMTD is not TalonDev btw, and "Others" version should be used instead. The higher the LMK value, the less multitasking capability you get. You'll get more performance for it though.
The screenstate_scaling addon will perform VM scaling and ondemand threshold scaling to get the best of battery life and performance. Not for CM7 kernels that have didle (that includes the stock kernel from night 168 onwards).
The graphics addon purpotedly increases graphics acceleration through some prop tweaks. There might be some devices that won't work well with these tweaks, hence I'm making it an addon. Try it and see if it increases frame rate or introduces instabilities.
Touchscreen tweaks are only for i9000. I included it by default though. It'll just be skipped in other devices. No issues here.
Included bolt_siyah script that tweaks SGSII related tunables (Dual core hotplugging settings, brightness related etc). Other phones will just skip this.
Known Issues
If you're using a custom MP3/Wav file as a ringtone, flashing ThunderBolt! might erase that setting causing your ringtone to be silent. Be sure to restore the ringtone again.
Barriers are turned off in /data. Corruption can happen but risks are minimal if you still have journaling.
Libsqlite safety_level is tuned to "1" from "3". There is risk of corruption here. Revert the libsqlite*.so files from the restore pack if you face corruption This is due to no fsync is done before databases are committed into disk hence it'll be faster but at the risk of corruption i.e. Launcher widgets going missing or SMS messages going missing etc.
sqlite_optimize script will produce errors like "malformed database" or "unknown collation sequence". It's normal, it means that these databases are not sqlite compatible, hence erroring out (skipped).
You may sometimes lose access to busybox. Install busybox installer (stericson's) from the market and install 1.19.3 to /xbin.
Bootup (even to the point where you can see the launcher)may be a little slow as zipalign takes some time.
remount script has to be launched using script manager
Remount script is only for i9000 Samsung, i9000 CM7/MIUI and i9001 + a few others(check /sdcard/bolt_scripts)
CWM zip is only for devices that has /system as its mount points. Remember to mount it in CWM.
The LMK/OOM is on the aggressive side. Some apps that you've hidden behind other visible processes SHOULD be killed to make way for bigger apps. This is to ensure your Angry Birds or Fruit Ninja doesn't LAG LIKE HELL after some time.
Instructions
Copy the CWM zip and all the addons you need to your internal sdcard
Mount /system in CWM (IMPORTANT!) (When mounted, it will show "unmount /system" for example. This means that an unmounted partition will show a "mount /system" for the /system partition)
Install using CWM all the CWM zips without needing a reboot in between
Wait for bootup
Open up Script Manager and launch /etc/bolt_scripts/remount[device] (e.g. remounti9000) as Root (The skull icon) and as Boot (The wheel icon).
Open up Script Manager and launch /etc/bolt_scripts/sqlite_optimize as Root (The skull icon). This script can be used arbitrarily at anytime that you want. Don't load it as boot or copy it to init.d though, it'll significantly slow down your boot up as the script is a very long running script.
Open up Script Manager and launch /etc/bolt_scripts/s70darky_zipalign as Root (The skull icon). This script can be used arbitrarily at anytime that you want. You can copy it to init.d and setting its permission to rwx-rwx-rwx. I moved it to bolt_scripts so that first boot for some people won't be slowed down.
????
PROFIT
Note: The remount script is launched using Script Manager as any ROM lagfix will remount the partitions again later after init.d scripts finished launching hence reverting the mounts to stock lagfix mounts. This is true for MIUI/CM7, Voodoo and other lagfixes where partitions will be remounted to relatime just before Android OS appears, thus nullifying the init.d remount.The script then has to be launched only after the Android OS has launched.
Note: sqlite_optimize can be executed at anytime. i.e. once a week to optimize your *.db files. It's usually a 30secs - 2minutes process. Ignore the "malformed database" and "No collation found" errors.
Reverting/Undoing ThunderBolt!
To revert ThunderBolt!, download the appropriate zip packages of your device. Sorry, only CM7/MIUI/i9000 for now. Let me know of your device and I can probably make a restore package for you. All other devices other than CM7/MIUI/i9000, you're on your own if you need to restore. Hence, be sure to have a nandroid backup handy.
Go to CWM, mount /system. Install the restore CWM package.
Repackaging
Repackaging ThunderBolt! into custom ROMs is allowable as long as it is included as a prominent feature of the ROM as well as proper credits are included.
Please reply into the thread if you would like to include it as its just a nice thing to do
You are free to modify the contents of the scripts, but please make it known that you've modified it and also briefly include the modifications you've done to the list of features
How to find out if it works
Use File Expert/ Root Explorer, and navigate here:
Code:
/system/etc/init.d/
You will find at least these files inside (from the main ThunderBolt! package):
Code:
S98system_tweak
S98CFS
Now, using Terminal Emulator, do this:
To enter superuser mode:
Code:
su
Then:
Code:
sysctl -a | grep vm
You will get values like this:
Code:
dirty_ratio = 80
dirty_background_ratio = 40
vfs_cache_pressure = 10
If you use the screenstate_scaling addon and then use ADB, and when the screen is off, you will get:
Code:
dirty_ratio = 90
dirty_background_ratio = 75
vfs_cache_pressure = 1
Next, do this in Terminal Emulator to check for the installed the LMK addon if it works correctly:
Code:
getprop | grep ADJ
You will get:
Code:
[ro.FOREGROUND_APP_ADJ]: [0]
[ro.VISIBLE_APP_ADJ]: [1]
[ro.PERCEPTIBLE_APP_ADJ]: [2]
[ro.HEAVY_WEIGHT_APP_ADJ]: [4]
[ro.SECONDARY_SERVER_ADJ]: [5]
[ro.BACKUP_APP_ADJ]: [6]
[ro.HOME_APP_ADJ]: [3]
[ro.HIDDEN_APP_MIN_ADJ]: [7]
[ro.EMPTY_APP_ADJ]: [15]
Credits
Zacharias.maladroit
XDA's devs for some reference of some tweaks in Zach's scripts
zeppelinrox Supercharger scripts
nikademus - Fugutweaks
ForeverSupra - Fugutweaks ICS
ChainFire - Touchscreen Tweaks
Sources for libsqlite
https://github.com/CyanogenMod/android_external_sqlite
File: sqlite3.c (sqlite v3.7.2)
Modified:
Code:
-73097: aNew->safety_level = 3;
+73097: aNew->safety_level = 1;
-105161: db->aDb[0].safety_level = 3;
+105161: db->aDb[0].safety_level = 1;
Currently working devices
Samsung Galaxy S i9000
Samsung Galaxy S II i9100
Samsung Captivate
Samsung Vibrant
Samsung Galaxy S 4G
Samsung Galaxy S Plus i9001
Samsung Galaxy Note
Samsung Infuse 4G
Samsung Galaxy Tab
Samsung Galaxy S Plus i9001
Samsung Galaxy SL i9003
Samsung Galaxy SII AT&T i777
Samsung Galaxy Nexus
----------------------------------------------------------------------------------------------------------------------------
BUY me a cup of coffee if you enjoy my work. It'll motivate me to work harder and faster
Main scripts
S98system_tweak and S98screenstate_scaling is based on Zach's Platypus scripts.
WARNING:
Other scripts that tweaks the same VM,I/O,Readahead, CFS,BFS etc settings with different values(check the scripts and compare) and what not should not belong in the init.d with Zach's scripts. It'll ruin the harmony of the settings causing decrease in performance/battery life.
The system_tweak file will tweak these:
VM settings (tweaked to offer more battery life and performance with the RAM, a faster memory being used more often than NAND writes)
Prop tweaks (3G/HSDPA tweaks mostly that offer more speed to some people that use US carriers that deliberately reduce their 3G/HSDPA in their build.prop)
Scheduler tweaks (CFS scheduler tweaks that offer more granularity)
TCP tweaks (tweaks the TCP to be more like how our desktop acts)
Network security tweaks (Disables some well known attack windows such as icmp_echo_ignore_broadcasts etc)
Misc tweaks (you can look at the script itself, google will tell you what it does)
Readahead tweaks. Optimizes different memory devices readahead values. It's not 1024/2048 for all devices. It won't work well that way.
Screenstate_scaling can tweak these (governor scaling is disabled by default):
Governor and governor tweaks (threshold etc) when screen is off. Screenstate scaling is used to conserve battery as it swaps out the ondemand governor to conservative when your screen is off. When it turns on again, it will swap it out with ondemand. You can of course, change the AWAKE_GOVERNOR and SLEEP_GOVERNOR to whichever governor you like. Please edit the script and tweak it to your liking
The screen state scaling is to optimize battery life when your screen is off, hence you'll get more battery life out of it.
Editing screenstate_scaling script
Beginning v1.9.3, no governor scaling is done in screenstate_scaling. Only VM scaling.
To enable governor scaling yourself, Use VIM editor ONLY! Using other editors will introduce spaces at the end of each line, corrupting the script.
Read the script, edit it in your PC (it is easy to edit, just read it thoroughly), then push it back to init.d and giving the rwx-rwx-rwx permission.
Link: http://www.vim.org/download.php#pc
Governor of choice
smartassV2 (Both awake and sleep governor).
Don't need to edit the screenstate_scaling for this. Just enable it in Voltage Control etc. Sleep sticks to 100MHz most of the time while 800MHz is the ideal frequency when awake. Might consume more battery when awake compared to ondemand.
ondemand with patched sleep detection (Both awake and sleep governor).
Don't need to edit the screenstate_scaling for this. Just enable it in Voltage Control etc. Battery saving at sleep and fast switching at awake. Might not be as smooth as smartassV2. Note that only TalonDev and Semaphore has this AFAIK. Other kernels might apply the patch in the future. Check with the dev.
ondemand as awake governor and conservative as sleep governor
Battery saving, but not as battery saving as the combinations above. Conservative is a bit more battery saving than ondemand, but due to its tunables being a bit aggressive, only a bit more battery saving. Conservative is battery saving in nature due to it scaling slower than ondemand. It still has the problem of inherently scaling to the maximum while asleep which is non-existent or low probability of happening in the combination above.
Disclaimer
This won't brick your phone or cause it to go haywire. If it does, I will not be responsible for it. Do some research before attempting to use it (as always).
remount Script
I created a post-boot script that you could remount your partitions to:
Disable barriers for /data
Noatime for every mount point (Using atime for mount points will decrease the life of the disk as writes are performed everytime a file is accessed for the access time)
Increased commit time to 60 seconds as opposed to 5 seconds. By default, journaling will commit to disk every 5 seconds. That means, if you changed something more than a time span of 5 seconds, your files are not likely to get corrupted on power loss. By adjusting this to 60seconds, the risk is slightly higher, but it's a risk I'm willing to take, and an informed decision that you should make if you choose to use this script. This increases performance by a lot! 59 seconds of the time, you will not face lags stemming from journaling. It's like having journaling only 1/12th of the time.
How-To
Wait till Android finishes loading everything.
Install Script Manager from Market
Point script manager to the script you placed in the sdcard.
Run as root.
Do this at every boot.
You can add a widget to your home screen for the script so that you can
activate it easily.
Disclaimer
I am not responsible for data corruption or data loss from using this remount script. You should know its risks after reading the information from this guide. If you haven't, you should read the whole guide and make an informed decision.
FYI
Acid tweaks/SAS/USAS also has this remount script in the init.d. Too bad the Voodoo mounts will revert it to normal when you boot, hence the init.d script doesn't work. Only a post-boot script works to remount. I'm not sure about other lagfixes (CF-root,Speedmod etc), but it's highly likely that remount script in the init.d doesn't work as well.
zipalign Script
I've modified the original darky zipalign script to actually work. The previous script doesn't work as the file redirection actually doesn't work. I've also moved this to /etc/bolt_scripts in 2.6.0 so that boot time is lessened for first time boot (if the user has a lot of unzipaligned APKs). Try running it in Script Manager or move it to init.d whenever you want
drop Script
Drop script perform a cache drop operation to provide more free memory to the user. Use it when you feel that memory is lacking.
S98CFS* Script
The CFS script is only for tweaking the CFS values. If you still get lags here and there, you can try replacing the CFS script with the ones in the bolt_script directory. To temporarily apply it to test it out, you can run them from Script Manager as well (as root). When you're satisfied, just delete the existing S98CFS* script and copy the CFS file you like to init.d.
s78enable_touchscreen Script
This is a script to tweak the touchscreen sensitivity. In the bolt_scripts directory, I've included another 2 files which are stock and s78enable_touchscreen_2. Both revert to stock and much more sensitive touchscreen respectively. Replace the files if you want to use it. To temporarily increase the sensitivity, you can use Script Manager (run as root) as well.
sqlite_optimize Script
Optimizes your SQLite databases (*.db) on your phone by VACUUMing it and REINDEXing it. Should make apps faster and reduce disk space consumption.
bolt_siyah Script
bolt_siyah script is a script stemming from the Siyah kernel and is only applicable for SGSII phones. It optimizes your CPU hotplug settings as well as power savings and brightness (for SGSII phones). It is located in /etc/bolt_scripts/S98bolt_siyah. You can move it to init.d if you have an SGSII phone and would like ThunderBolt!'s settings to apply at boot.
cpugputune Script
cpugpu tune script (/etc/bolt_scripts/cpugputune) contains:
* Siyah GPU frequency/voltage tuning (with my own settings for a balanced performance/battery saving proflie).
* CPU undervolting (similar to Voltage Control, but doesn't have the limitation of Voltage Control's limits. You can set it however you want till it hits the limits that is set in your kernel itself. (Note: You will require a kernel that supports undervolting for this to work)
- To run this script, follow the same instructions as the remount script.
- I've commented out the voltage settings for CPU/GPU because each phone will have its own threshold for each (too low and it hangs). Before uncommenting, be sure to change the UV_mV_table to your own stable settings.
- To know how to undervolt, play a MKV file in software decoding using MX Video Player for 10minutes while limiting the frequency's voltage that you want to tune. Slowly decrease it (by editing it and then running the file on Script Manager) until it hangs. Then add +50mV to get a stable voltage.
- To limit a frequency, add these lines to the script:
Code:
echo "200000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo "200000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq;
This limits it to 200MHz (example).
- To undervolt the GPU frequency, use Nenamark as a benchmark. To limit a frequency for GPU, set all 3 frequencies to be the same. E.g.:
Code:
echo "100 100 100" > /sys/class/misc/gpu_clock_control/gpu_control;
This will limit it to 100. Then run the script in Script Manager and run Nenamark. If Nenamark cuts to black and phone fails to respond, calm down first. Press the home key and wait for it to get to your homescreen, then reboot from there.
- NOTE: Be sure to disable the remount script (untick the wheel icon in Script Manager and then reboot) before proceeding to undervolt your phone as the remount script will increase the likelihood of corruption after a phone hang.
Changelog:
3/5/2012 (LMK 1.0.7)
- Fixed the positioning of default.prop (there was a mess in placement of the default.prop inside /etc in some of the LMK zip files. I forgot which, hence I'm refreshing all the LMKs up a version with the placement fixed for those that are broken. Please redownload.
3/5/2012 (2.6.1)
- Fixed updater script for main CWM. Just removing obsolete lines (no feature impact)
- Moved S98bolt_siyah to /etc/bolt_scripts as Siyah currently has a tweak app called ExtTweak by xan In order for it not to be override it. you can move this file to the init.d or run it with Script Manager if you want ThunderBolt!'s settings to override it.
3/4/2012 (2.6.0, screenstate_scaling 1.6.0, LMK 1.0.6, Restore 1.1.0)
- Less aggressive RAM tuned at screen on. Same aggressiveness when screen is off.
- More battery centric governors at sleep (with 99 up_threshold on most of the governors at screen off).
- Ondemand is at 95 up_threshold if io_is_busy is set.
- Removed kernel panic settings. Leave it at kernel defaults (whatever that is)
- Updated LMK to not use /data/local.prop. Instead it uses /system/default.prop
- Updated main CWM to not use /sdcard. bolt_scripts is now located at /system/etc/bolt_scripts. Be sure to point your Script Manager settings there now.
- Moved the zipalign script to bolt_scripts to ensure first time boot is faster. First time boot for some people might be slow as they might have a lot of unzipaligned APKs. You can move the script to init.d and give it rwx-rwx-rwx permissions if you want to.
2/13/2012 (2.5.1)
- A small fix to cpugputune by commenting out the if/fi between the UV_MV_Table tweak so that people can run the script fine even without any edits.
2/9/2012 (2.5.0 and screenstate_scaling 1.5.2)
- Added a CPU/GPU tune file (/etc/bolt_scripts/cpugputune) that contains:
* Siyah GPU frequency/voltage tuning (with my own settings for a balanced performance/battery saving proflie).
* CPU undervolting (similar to Voltage Control, but doesn't have the limitation of Voltage Control's limits. You can set it however you want till it hits the limits that is set in your kernel itself. (Note: You will require a kernel that supports undervolting for this to work)
- To run this script, follow the same instructions as the remount script.
- I've commented out the voltage settings for CPU/GPU because each phone will have its own threshold for each (too low and it hangs). Before uncommenting, be sure to change the UV_mV_table to your own stable settings.
- To know how to undervolt, play a MKV file in software decoding using MX Video Player for 10minutes while limiting the frequency's voltage that you want to tune. Slowly decrease it (by editing it and then running the file on Script Manager) until it hangs. Then add +50mV to get a stable voltage.
- To limit a frequency, add these lines to the script:
Code:
echo "200000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo "200000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq;
This limits it to 200MHz (example).
- To undervolt the GPU frequency, use Nenamark as a benchmark. To limit a frequency for GPU, set all 3 frequencies to be the same. E.g.:
Code:
echo "100 100 100" > /sys/class/misc/gpu_clock_control/gpu_control;
This will limit it to 100. Then run the script in Script Manager and run Nenamark. If Nenamark cuts to black and phone fails to respond, calm down first. Press the home key and wait for it to get to your homescreen, then reboot from there.
- NOTE: Be sure to disable the remount script (untick the wheel icon in Script Manager and then reboot) before proceeding to undervolt your phone as the remount script will increase the likelihood of corruption after a phone hang.
- Also tuned the conservative and smartassV2 governor to have a threshold difference of 10 instead of 5.
2/3/2012 (2.4.1 and screenstate_scaling 1.5.1)
- Mostly comment cleaning
- Changed TCP Syncookis to false. Most kernels won't even support it. Hence its a useless change, but change it in case some kernels do support it and nope TalonDev and Siyah doesn't support it. Can't enable/disable it.
1/26/2012 (2.4 and screenstate_scaling 1.5)
- Changed zipalign script to reroute to /data/local dir instead of sdcard.
- Updated screenstate_scaling sample rates to 100k for sleep and 20k for awake.
1/23/2012 (2.3.131)
- Bugfix update by removing one line before s98system_tweak.
1/21/2012 (2.3.13, screenstate_scaling 1.4.14)
- Disabled down_differential. Too battery draining for some people.
- Tweaked smartassV2 and conservative to be more battery friendly.
1/19/2012 (2.3.12, screenstate_scaling 1.4.13)
- Fixed max_events_per_sec not tuned correctly.
- Added down_differential (only for kernels that supports this) tuning to ondemand governors that will reduce lags by a little bit.
1/15/2012 (2.3.11, screenstate_Scaling 1.4.12)
- Fixed a bug on ondemand sleep scaling. Thanks ::Crack::
- Enabled MTD block tweaking. Thanks ::Crack::
- Made all sleeping governors have 90k sample rate. Good for battery life.
1/13/2012 (2.3.10, screenstate_scaling 1.4.11)
- Tuned sampling_down_factor of ondemand, ondemandX, conservative. This should resolve the issue of getting stuck 500MHz and above (I think). Siyah tweaked the sampling_down_factor to 4 and sampling rate of 120k. Since I tuned the sampling_rate to 10k, I'll need to tuned sampling_down_factor as well.
- Tuned interactive based governors (lulzactive, smartassV2) to have a more aggressive sleep.
1/12/2012 (2.3.9, screenstate_scaling 1.4.10)
- Tuned the ondemand, ondemandX and lulzactive to have up_threshold of 85.
- Tuned hotplugging in SGSII to be performance oriented a little bit.
- Tuned smooth_* to be performance oriented a bit.
1/12/2012 (2.3.8, screenstate_scaling 1.4.9)
- Fixed SOD/deadsleeping for SGSII kernels by disabling deepsleeplevel tweaking. Some phones can't handle it.
- Tuned ondemand,ondemandX, smartassV2, lulzactive governors again. Tuned hotplug settings again also (based on the governor tweaks). Added conservative governor tweaking.
1/10/2012 (2.3.7, screenstate_scaling 1.4.8, LMK 1.0.3, 3G 1.0.5, bin files 1.1.2)
- Updated main CWM to 2.3.7 with some cosmetic cleanup of the script and also enabled a default sampling_rate of 10,000 for ondemand/ondemandX.
- Updated screenstate_scaling to 1.4.8 fixing a typo bug in lulzactive. Also updated screenstate_scaling to 1.4.9 with cosmetic cleanup.
- Updated LMK, 3G, bin files with newer updater_binary.
1/7/2012 (2.3.6, screenstate_scaling 1.4.6, restore pack 1.0.3)
- Updated restore pack to remove bolt_siyah script and update updater binary.
- Fixed Siyah v2.6.5 lockup due to Siyah having hung tasks. ThunderBolt! enabled the lockup detection. I disabled this pending fix from gokhanmoral.
- Fixed some typo errors in system_tweak (kernel.sem, dirty_writeback_centisecs)
- Made windowmgr events to have a minimum of 60.
- Increased screenstate_scaling ondemand threshold to 95 if io_is_busy is enabled.
1/4/2012 (2.3.5, screenstate_scaling 1.4.5)
- Decreased the up_threshold for lulzactive, ondemand, ondemandx, smartassV2 for faster scaling.
- Disabled smooth_target/smooth_step/smooth_offset. Brings stutters to ondemand/ondemandX.
- Fixed iostats bug - Thanks PedroMRP.
1/2/2012 (2.3.4, screenstate_scaling 1.4.4, graphics 1.0.3)
- Fixed OndemandX, lulzactive, ondemand governor suspend_freq, pump_up_step respectively and sampling_rate (for all governors).
- Commented out graphic voltage settings
- Set deepsleep levels 1 level higher, prevents SOD.
- Fixed S98graphics, save as unix file.
1/1/2012 (2.3.3, screenstate_scaling 1.4.3)
- Updated lulzactive governor to check for minimum/maximum frequency so that it can scale properly
- Updated ondemandX governor to check for minimum frequency so that it can be the suspend frequency, in which previously it was set to 200MHz by default.
12/31/2011 (2.3.2, screenstate_scaling 1.4.2)
- Fixed ondemand tweaking for certain kernels(some kernels have the path to be /cpufreq/cpu0/* rather than /cpufreq/*)
- Added OndemandX tweaking as well in screenstate_scaling.
- Added sample rate tweaking in screenstate_scaling. This will make all tweaked governors (ondemand/ondemandX/lulzactive/smartass perform faster and sleep better using screenstate_scaling.
- Tweaked lulzactive/smartass/ondemand/ondemandX to have 20,000 sample rate when screen is on. 10,000 seems a bit too much.
- Tweaked all governors to have a sample rate of 100,000 when sleeping. Battery friendly.
12/31/2011 (2.3.1, screenstate_scaling 1.4.1)
- Moved SGSII tweaks onto another file (S98bolt_siyah)
- Made heap_size tweak to be 64MB by default or 80MB if greater than 64MB (in build.prop). 48MB or 64MB doesn't really make a difference. Haven't seen an app consume more than 32MB of heap yet.
- Commented out max window events. Each phone is different. Defaulting this to 60 seems wrong.
- Used an if/else on the idle_sleeping_frequency for smartassV2.
- Commented out sampling_down_factor. Some phones can't take it.
- Finally figured out why touchscreen tweaks aren't working :S I saved it using the wrong format! It should be UTF-8 [unix] instead of UTF-8[windows]. Facepalm!
12/30/2011 (2.3.0, screenstate_scaling 1.4.0)
- Updated 2.3.0 with minor editiing of sdcard tweak arrangement, smartassV2 and lulzactive governor tweaking, and SGSII tunables (hotplugging, bus frequencies etc).
- Added i9100 restore pack
- Used newest updater_binary. All the older CWM zips are not using the newer binary. Just update it with the file I've uploaded in the 2nd post.
- Forgot to add this: Enabled sampling_down_factor of 2 while screen is on. Might cause reboots/hangs if you've undervolted your top frequency (e.g. 1GHz) extensively. Recommend to add 25mV if you're facing issues.
12/17/2011 (2.2.0, screenstate_scaling 1.3.1)
- Updated 2.2.0 with CFSK as the default CFS. CFSK is still the fastest based on some feedback.
- Updated 1.3.1 for screenstate_scaling. Disabled sampling_down_factor as it makes the phone unstable when sampling rate is too low. If you're still getting reboots, please add 25mV to 1GHz.
12/13/2011 (2.1.9, screenstate_scaling 1.30, restore packs 1.0.2, all others)
- Updated main CWM to v2.1.9 with CFS 1.9.4 as the default due to popular demand.
- Renamed all the CFS scripts that have extensions. init.d can't load CFS's that have extensions (I tried using 1.9.4 and it didn't work when it had the .9.4 extension)
- Added io_is_busy and sampling_down_factor to ondemand. Will increase the performance while awake as sampling rate will be faster, and frequencies will stay very flexible when near 1GHz. io_is_busy will ensure that I/O operations utilizes high frequencies ~400-1GHz rather than being 100Hz when CPU is mostly idle. Will prevent microlags.
- Changed the screenstate_scaling ondemand up_threshold to 95 while awake and 98 while asleep to increase battery savings since microlags are eliminated almost completely from the above setting.
- Updated all addons' updater_script to ensure installation of consecutive CWM zips are correct.
12/10/2011 (graphics 1.0.1)
- Used the wrong updater_script for the graphics addon. Corrected this mistake.
12/10/2011 (2.1.7)
- Removed sleep_mode setting. Could be the culprit of sleep-deaths and/or reboots/instabilities.
- Separated the graphics acceleration tweaks to an addon. Might not work with some phones or it can cause instabilities. Please test it out for me.
- Discontinued the L version as CFS might not be the culprit for sleep-deaths/instabilities.
12/7/2011 (2.1.6L)
- Tuned down the CFS aggressiveness in the v2.1.6L after a few complaints about devices that can't wake up received.
12/5/2011 (2.1.6)
- Updated updater_script to remove bolt_scripts. I moved the directory hierarchy a bit in the last version (forgot to add that). Hence, removing it so that people will realize the scripts are in a different position already.
- Users have to manually readd remount scripts in Script Manager because of the above change.
- Added remountCM7MIUI-fullext4. A variation of CM7/MIUI that doesn't use yaffs2. Renamed the original remountCM7MIUI to remountCM7MIUI-yaffs.
- I just noticed that CFSK is actually the wrong CFS I wanted to use. Edited CFSK with the correct values. Should feel much smoother.
- Revamped most of the echo tweaks to use sysctl instead. Might make it compatible with ICS.
- Increased Dalvik heapsize to 48MB (another 16MB won't hurt much).
12/3/2011 (2.1.5)
- Added N7000 remounts.
12/2/2011 (2.1.4)
- Integrated some MintBolt! tweaks, notably the noda_auto_alloc and build.prop. The build.prop shouldn't change anything much but the noda_auto_alloc should make I/O transaction a little faster at the expense of corruption risk, which is small by the way.
- Fixed the sqlite_optimize by using busybox find instead. If you can't do busybox find, it means your busybox symlinks are broken. Contact your kernel/ROM developer for a fix.
11/27/2011 (2.1.3/Screenstate_scaling 1.2.3/80MB + 60MB 1.0.3/3G 1.0.3)
- Fix for 3G CM7/MIUI (I think) by removing some settings that doesn't do anything.
- 80MB/60MB LMK modified to be better at performance but sacrifices a bit of multitasking.
- ChainFire's touchscreen tweak integrated. Touchscreen more sensitive.
- Screenstate_scaling edited to be a bit more battery saving.
- CFS moved to another file (CFS experiments moved to bolt_scripts. If you would like to use another CFS, delete the one in init.d and copy the one you like back to init.d)
- sqlite_optimize and darky_zipalign improved to support Script Manager that doesn't symlink xbin/sbin automatically.
- Added SGSII remount
- Reduced readahead for phone mounts (non-sdcard mounts) to 256. This would reduce Quadrant I/O score by a significant value, as higher readahead boosts Quadrant scores. Quadrant is USELESS!!!!!1111 Link. Sdcard readhead is still 1024.
11/25/2011 (LMK 1.0.2)
- Fixed the Talon swappiness/ZRAM size typo
- Fixed the 80MB LMK typo
11/24/2011 (2.1.2/bin files 1.10/80MB LMK 1.0.1)
- Updated main ThunderBolt! CWM to v2.1.2 with most voted/best feedback values. Expect your phone to become super smooth from here. Also, let me know if you're suddenly facing FCs/reboots/apps failing to work because of this.
- Updated bin files addon with Fugutweaks ICS. (LINK)
- Added 80MB LMK. Very minimal/no multitasking, potentially more performance.
- Updated sqlite_optimize script to determine if /dbdata and /datadata is there before optimizing the *.db files under them. Less errors I guess. No difference, just a cosmetic change.
- Added SGS4G remounts.
- Updated Talon LMK settings to have 64MB swap and 40 swappiness. Less swap, more tangible RAM. Less swappiness, less RAM is compcached to swap.
11/23/2011(CFS Beta Pack/LMK addon 1.0.1)
- Added CFS Experiment #3. All of them are based on Experiment I. Please test them.
- Updated LMK addon Supercharger by removing some delay coding and build.prop sed. Seems to be removing the haptic feedback if you start it when you first start the OS (on a cooked ROM)
11/22/2011 (CFS Beta Pack)
- Added CFS Experiment #2 with 1.9.1 and CFS Experiments I. CFS Experiment I is based on 1.9.4 (with a little bit of difference). Let me know if this performs better or worse than 1.9.4.
11/22/2011 (3G 1.0.1)
- Fixed a typo in the hashbang (extra space)
11/22/2011 (Screenstate_scaling 1.2.2)
- Added CFS beta pack
- Fixed a typo hash on the sleep governor echoing.
11/21/2011 (2.1.1.1)
- Removed process renice in system_tweak and screenstate_scaling. Greater smoothness ... for games as well?
- Birthday edition. Notice the version. Yes, it's my birthday at the current moment/day.
11/20/2011 (2.10)
- Found a sweet spot for CFS. Not too aggressive, not too passive and gaming seems to be as smooth as the last time around.
- Found a semi-sweet spot for VM. Tweaked VM to be less aggressive.
- Overall smoother experience!!! Try it!
11/20/2011 (2.0.1)
- Changed VM settings slightly. Made expire to be 30 seconds, but kept the writeback to once every 2 seconds. Should provide a smoother garbage collecting.
- Removed ksoftirqd from being reniced and changed the renice priorities of each app. Should provide a smoother experience.
11/20/2011 (2.0.0)
- Revamped CFS tweaks by making rationalizing the values to a few rules (Values not be 500,000 for each sched_*_ns and latency should be 4 times the min_granularity). Should reduce problems associated with sudden lags or games that are not working correctly or apps that are not working correctly. This is a wide assumption, hence it's not an all encompassing fix, but it should make things work better in the long run.
- Revamped VM tweaks to increase garbage collection of caches and reduced cache ratios so that its getting written much easier. Should reduce microlags by a bit.
- Increased semaphore limit by a bit. Just increasing the limits, wouldn't affect much too, but set the recommended limits.
- Added shmmax and msgmni tweaking. Increased shared memory segments and messaging (thread messaging related). Wouldn't affect much too, but set the recommended limits.
- Added renicing of apps for phone,sms,keyboard,system ui, some important system apps to have higher priority than other processes. Increased smoothness on those apps.
- Added discard mount option to all ext4 mounts. Automatic TRIM is induced to increase write speed of all SSD type mounts in the long run. You'll not feel this at the beginning, but once you've used your disks continuously in the long run, the write speeds will increase by a bit.
- Revamped VM tweaks and added renicing processes for screenstate_scaling. Will scale those by screen behaviour.
- Renamed the CWM zips by removing the duplicate i9000.
11/18/2011(1.9.4)
- Reduced CFS aggressiveness. Lags when playing games and unbootable device issues should be solved by this.
- Updated Supercharger to Update 9 RC3.2. Not sure if this fixes the missing haptic feedback if ThunderBolt! is integrated into a ROM, but please try this out.
- Made screenstate_scaling an addon as some MIUI/CM7 users can't figure out how to delete a file from a zip file.
- Updated VM settings in screenstate_scaling and system_tweak to a all rounded setting. Memory should be cleanly allocated from RAM to Cache to RAM. Would need to experiment if this works out better or not.
- Made LMK an addon since its already stable. Making 6 CWM zips all the time when updating to a new version is painstaking, and makes it longer for me to release an update.
- Made some bugfixes to all updater scripts including the restore packs and addons. Recommend to redownload all addons/restore packs.
I don't understand. What is that?? thanks
EDIT: Thank you for your great work pikachu01 !!!!! *__*
raXoN91 said:
I don't understand. What is that?? thanks
Click to expand...
Click to collapse
I will upload a flashable collection of scripts here in an hour Wait for it
Ok Can I flash it on every Rom?
raXoN91 said:
Ok Can I flash it on every Rom?
Click to expand...
Click to collapse
Yes, you should be able to flash it on every ROM.
This is sure to be as fast as Usain Bolt
Hi pikachu, what is the sqlite3 binary for?
cheers
MintBerryCrunch said:
Hi pikachu, what is the sqlite3 binary for?
cheers
Click to expand...
Click to collapse
The sqlite3 binary is used with the system_tweak script. The script will vacuum the *.db files in /dbdata to make it smaller and faster.
More info:
http://www.sqlite.org/lang_vacuum.html
OK. Uploaded the CWM file. Just flash and enjoy
Be sure to read the instructions beforehand to know about its known issues.
Most recent changelog is here:
Code:
UPDATE 10/10/2011
[B]
- Modified I/O scheduler tweaks to check before applying, as it depends on the scheduler you use (CFQ/VR/SIO). Also read up a lot on I/O schedulers. From best to worst (when tweaked), for flash devices (SIO > Noop > Deadline > VR > BFQ > CFQ). I will provide the explanation on the Tips thread.
[/B]
- Changed the default readahead to 512, all other readaheads are still 1024 (sdcard etc)
[B]
- Added an overcommit_memory tweak that seems to stave of memory leak problems that causes lagginess (confirmed by a few people including me :P).
[/B]
- Commented out net.ipv4.tcp_mem. Better to have it recalculated by the amount of usable RAM by the kernel.
- Added check before applying to some TCP tweaks (IPV6 related)
- Reduced hsupa.category prop to 6 as theoretically SGS can only reach up to 6 on HSUPA.
- Fixed AGPS prop setting. It was not applied correctly
- Reverted ring delay to 500. Seems to work better I think (from experimenting)
- Check before applying on /proc/sys/kernel/sem
- Check before applying on /procy/sys/kernel/sched_features
Most important changes in bold.
Translation:
* Reduced lagginess
* Improved I/O performance on some schedulers.
Hi,
Thanks a lot for the script.
One question, will this work on miui?
DonVito2020 said:
Hi,
Thanks a lot for the script.
One question, will this work on miui?
Click to expand...
Click to collapse
The main CWM should work. The remount script won't work.
Let me know how much speed increases you got
finally.. come out with new nice name.. haha.. gratzy!
DonVito2020 said:
Hi,
Thanks a lot for the script.
One question, will this work on miui?
Click to expand...
Click to collapse
Wait, is MIUI/CM7 using /dev/block/stl9 as /system? If not, the CWM zip might not work (it could work if /system was already mounted).
Flashed successfully over my JVS Rom. And set it to start on the boot. Thank you
raXoN91 said:
Flashed successfully over my JVS Rom. And set it to start on the boot. Thank you
Click to expand...
Click to collapse
Glad you like it
Feel any faster?
Is there some new memory freak settings to use with this zip or your old one are still good?
Mopral said:
Is there some new memory freak settings to use with this zip or your old one are still good?
Click to expand...
Click to collapse
Yeah, there's a new one, in my sig Since memory leak is fixed at my side, i'm using a more aggressive setting.
-------------
Also, my take on I/O schedulers and why I said SIO>NOOP>Deadline>VR>BFQ>CFQ
http://forum.xda-developers.com/showpost.php?p=18291071&postcount=251
Very nice job, wouhh
About the remount script, you say we have to launch the remount script with script manager, if I check run as boot, so I don't have to create a script remount (post 2) for each reboot?
superwahwah said:
Very nice job, wouhh
About the remount script, you say we have to launch the remount script with script manager, if I check run as boot, so I don't have to create a script remount (post 2) for each reboot?
Click to expand...
Click to collapse
If you already check it to run at boot, there's no need to run it again

[KERNEL][S4][CM9] Fusion Ultimate v1.1 ***OBSOLETE*** No longer supported.

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

[KERNEL][3.0.31][HDMI][FULL HD][GUIDE 1.8]JBX-Kernel Hybrid [1,5ghz]

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

Categories

Resources