[MOD][TWEAKS] ThunderBolt! v3.3.0 5/15/16 [Performance+Battery Life Mods & Tweaks] - Android Software/Hacking General [Developers Only]

[MOD][TWEAKS] ThunderBolt! v3.3.0 5/15/16 [Performance+Battery Life Mods & Tweaks]
News
Fixed to be compatible with Android L and M.
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.
Faster disk access through remount script (noatime, disable barrier etc)
Minimum Requirements
Android Gingerbread 2.3.x
At least 3MB free on /system (Delete unused ringtones or useless apps like Aldiko/Allshare etc).
Root.
Script Manager
Busybox
Ext4 filesystem if you want to use the remount script.
Addons
remount script in remounts the partitions in your phone to optimize its performance at the expense of some risk of corruption.
drop script in /etc/bolt_scripts to drop caches.
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.
All scripts have to be launched using script manager
Instructions
Extract scripts to your sdcard/internal memory.
Open up Script Manager and launch the scripts that you want as Root (The skull icon) and as Boot (The wheel icon).
????
PROFIT
Reverting/Undoing ThunderBolt!
To revert ThunderBolt!, just delete the scripts from your sdcard/internal memory and reboot.
Repackaging
Repackaging ThunderBolt! into custom ROMs is allowable as long as it is included as a 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.
How to find out if it works
Use File Expert/ Root Explorer/Root Browser, and navigate here:
To enter superuser mode:
Code:
su
Then:
Code:
sysctl -a | grep vm
You will get values like this (for 512MB RAM devices or below):
Code:
dirty_ratio = 30
dirty_background_ratio = 15
vfs_cache_pressure = 50
You will get values like this (for 1GB RAM devices or below):
Code:
dirty_ratio = 20
dirty_background_ratio = 10
vfs_cache_pressure = 50
You will get values like this (for >1GB RAM devices):
Code:
dirty_ratio = 10
dirty_background_ratio = 5
vfs_cache_pressure = 50
Credits
Zacharias.maladroit
XDA's devs for some reference of some tweaks in Zach's scripts
Confirmed working devices
Any unlocked and rooted Android L or Android M phone.

Script Details
WARNING:
Other scripts that tweaks the same VM,I/O,Readahead, etc settings with different values(check the scripts and compare) and what not should not be running together with these Thunderbolt!. 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)
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.
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.
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.
Changelog:
5/15/2016 (3.4.0)
- Updated for Android 5/6. Removed a lot of junk code as they are not necessary to be tweaked in later Android versions (yes, Android finally coded them to be default values).
3/17/2014 (3.3.0)
- Added universal remount script. Use that script instead of device specific remounts
- Fixed the updater_script to be much more compatible
3/8/2014 (libsqlite addons 3.1.0, screenstate_scaling 3.1, clean uninstall 3.1.0)
- Revamped libsqlite addons to only install libsqlite.so (not libsqlite_jni.so)
- Revamped screenstate_scaling script to become much cleaner and automatically target correct paths
- Revamped clean uninstall to be compatible to current ThunderBolt! versions.
3/3/2014 (3.20)
- Added support to sqlite3 for JB 4.3 and KK 4.4
3/25/2013 (3.11)
- Added Xperia S and Xperia Arc S remounts
3/12/2013 (3.10)
- Added ROW scheduler tweaks. Take note that the ROW scheduler is buggy as one of it's sysfs interface is broken. Suggest using SIO instead.
- Added Nexus4 remount
- Enabled nomerges flag to "1". Let me know if you're facing any performance hits.
2/13/2013 (main CWM 3.05 and libsqlite 3.0.2)
-Added CM10/10.1 fullext4 remount.
- Added LG Mytouch4G remount.
- Added JB 4.1 libsqlite and added support for 4.2.2 for JB 4.2 libsqlite.
2/11/2013 (3.04)
- Added GNex YAFFS remount.
- Removed loop* from being tweaked by the I/O tweaks. It bootloops Galaxy S Gingerbread.
2/5/2013 (3.03)
- Fixed zipalign directory to xbin. Thanks to ggogolewski!
2/5/2013 (main CWM 3.02 and libsqlite 3.0)
- Added SQLITE_NO_SYNC compiled libsqlite libraries that disables sync (fdatasync/fsync) which increases sqlite transactions by 10-20%. You can use RL Benchmark to test for this.
- Added loop* and ram* block to be tweaked by ThunderBolt!'s I/O tweaks.
- Changed write_starved to 4.
2/3/2013 (3.01)
- Added Sony Xperia U remount.
- Changed windowsmgr.max_events_per_sec to 90.
2/3/2013 (3.0 and LMK addon 3.0)
- Added an intelligent backup/restore updater_script on every CWM zip ThunderBolt! has. Thanks to Tungstwenty for his post here.
- Added a restore CWM zip that restores the backup and deletes Thunderbolt!.
- libsqlite addon won't install in ICS/JB. It will warn you if you're installing on the wrong OS.
- LMK addon now backs up the build.prop (or restores the build.prop before modifying it). Hence now you can change LMK settings without doing any build.prop modification/moving/copying. The CWM takes care of it for you.
- Main CWM is smart enough not to replace zipalign and sqlite3 if it's already in your ROM. My policy is "try not to mess around too much as I will tweak only in the right places".
- Added LMK 80MB Alt that follows AOSP ICS LMK for 512MB devices and above.
1/6/2013 (2.9.3)
- Added HTC One S/XL/Sensation 4G remount script. Use remountHTC_Alt.
1/2/2013 (2.9.2)
- Added HTC One X remount script.
12/30/2012 (main CWM 2.9.1 and screenstate_scaling 2.4.0)
- Fixed screenstate_scaling to be AOSP ROM compatible
- Fixed zipalign script to determine whether there are any errors on zipalign before committing.
- Fixed sqlite3 extraction to certain JB ROMs (like 4.2)
12/24/2012 (LMK addons 2.1)
- Revamped how LMK works. Added 120MB LMK.
- The LMK now incorporates knowledge from reading the ActivityManagerServices source code. It should correctly make your apps handle its own memory more efficiently based on how memory is evaluated in the Android OOM. Apologies for this as the previous implementation actually broke some degree of how LRUs/Memory trimmings for apps are calculated.
12/3/2012 (2.9.0 and screenstate_scaling 2.3.0)
- Fixes to screenstate_scaling script. Minor typo that prevents some busybox versions from running it.
- Added kernel.shm* tweaks that is calculated based on your available memory.
- Upped vfs_cache_pressure to 50 on screen on, and 100 on screen off so that free memory is still kept fair, but performance on caches vs disk is still balanced.
- Disable /system/app/*.apk zipalign as this causes some Cyanogenmod devices's Google Apps to disappear.
- Lowered dirty_ratio/dirty_background_ratio for < 512MB a bit based on more recent benchmarks.
11/13/2012 (2.8.0 and screenstate_scaling 2.1.1)
- Added VM dirty* values according to the amount of RAM that you have (< 512MB, < 1GB and more than 1 GB). I've tested write speed for the disks on /data on a few phones and come to a conclusion that VM scaling is most optimized depending on total amount of RAM. This is because the I/O can only write that much dirty data up to an amount at an interval so that I/O doesn't become the bottleneck.
- Commented out some shm* tweaks. Will need to make this scale with amount of RAM also, but need floating point arithmetic support for bash in Android phones. No "bc" command!
- Fixed zipalign script that corrupts Google* APKs by removing already aligned APKs in /data/local. Might still be a problem with some APKs like BetterBatteryStats (what I found to be problematic so far).
- Fixed sqlite3 binary for Jelly Bean. The updater_script will check your build.prop and extract the appropriate sqlite3 binary for you
- Minor pegasusq updates in screenstate_scaling and main CWM.
- Some general fixes on the script (settings applying more than once)
- Might not affect >90% of people but I signed the zip files
8/1/2012 (100MB LMK)
- Added 100MB LMK. Increases performance and a bit more multitasking at the expense of background inactive tasks/apps getting killed.
6/17/2012 (2.7.7, screenstate_scaling 2.02)
- Added I9300 Samsung Galaxy SIII remount script
- Moved noatime remount procedure to the remount scripts
- Fixed a minor typo in screenstate_scaling script (Thanks Tungstwenty).
6/13/2012(LMK 2.0.0 and restore packs 1.2.0)
- Updated LMK to use build.prop method. Older build.prop will be backed up in /system/build.prop.thunderbolt.
- To apply the LMK changes, you'll need to restart twice. Once to modify the build.prop, another to load the modified build.prop
- To restore the build.prop, just copy over build.prop.thunderbolt to build.prop
- Updated restore packs with automounter by iXNyNe.
5/30/2012(2.7.6, screenstate_scaling 2.0.1)
- Updated script asserts on mounts. Detects whether partitions are mounted before installing. Credits to iXNyNe.
- Updated governor parameters to have a lower up_threshold (higher performance) because of visible lags due to the change in the previous version,
5/24/2012(2.7.5, screenstate_scaling 2.0.0)
- Updated all governors to skew towards more battery life.
- Updated pegasusq to correct typo in some of the settings as well as scale better.
5/18/2012 (2.7.4, Screenstate_scaling 1.9.0)
- Updated both main script and screenstate_scaling script to support tweaking abyssplug and pegasusq governors for better performance + battery life when screen is off.
- Removed CFS from executed by default. Use Script Manager to navigate to /etc/bolt_scripts/CFS to manually run it. s98CFS is the default one.
- Removed lulzactive tuning on the pump_up_step as Siyah introduced 18steps of frequency. This needs to be manually set.
- Removed io_is_busy from being set. You can edit the script to set it if you feel performance is lagging.
5/5/2012 (2.7.3)
- Changed write starvation for MTD to be 2:1. Added Hydrogenics I9100 restore pack.
4/25/2012 (2.7.2)
- Changed NAND memory to have 2:1 writes starved as read speed is higher than write speed. SD memory still has 1:1 writes starved. Removed TCP buffers from S98system_tweak. Moved it to /etc/bolt_scripts/S98TCPbuffers as it causes hang at boot for CM7/9 ROMS.
4/20/2012 (2.7.1)
- Changed CFQ I/O scheduler slice_idle for better latency vs throughput.
- Enabled TCP buffer tweaks to improve network throughput (credits to gokhanmoral for the values).
- Changed sched_mc to 0 in bolt_siyah script and commented out some lines. Uncomment them to enable its usage.
4/19/2012 (2.7.0, LMK 1.10)
- Added an autoremount option, no need to mount /system or whatever partitions again before installing.
- Tweaked the I/O scheduler a bit to be a bit more balanced between latency and throughput.
- Moved touchscreen tweaks back to bolt_scripts. Move to init.d if you're using I9000 or use Script Manager to launch the script at boot.
- Reverted the LMK to /data/local.prop. Seems to be the most reliable way for Gingerbread phones.
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

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

Related

[KERNEL] [2.6.32.24] [HAVS] [BFS] [BFQ] KiNgxKernel #11/#11 "Con is an Artist"

[KERNEL] [2.6.32.24] [HAVS] [BFS] [BFQ] KiNgxKernel #11/#11 "Con is an Artist"
I DO NOT have an HTC Evo, but would LOVE to have one for development, and am saving for one. Bear with me until then I just wanted to say thank you to the few who have donated. I am almost there, any help is appreciated!!! I plan to have my HTC Evo fairly soon
DO NOT FORGET TO READ THE ENTIRE POST ON MY SITE, THERE IS IMPORTANT INFO
So, just as the name implies, this is an Evo kernel with SVS (Static Voltage Scaling) & HAVS (Hybrid Adaptive Voltage Scaling.) A huge thanks to estes for the havs code and raven for being the first to implement it into the nexus kernel. What this does is provide SUPERIOR BATTERY life with stability to boot. Just flash the .zip in your favorite recovery image. Enjoy and post any bugs with a logcat please.
This is compatible with any 2.2 Sense ROM
Code:
Also, a little info on HAVS and AVS:
The purpose of HAVS is to minimize the power used by the CPU by determining
and setting the optimal voltage. At the same time, the maximum voltage by
which HAVS can scale to is fixed to a specified voltage depending on the
CPU frequency in order to prevent scaling to a higher voltage than what is
normally used at a specified voltage. The optimal voltage is actively determined
for each frequency and temperature. HAVS actively adjusts the CPU voltage as the
CPU frequency and temperature changes.
Code:
While we are at it, some info on BFS:
What is BFS(Brain **** Scheduler):http://ck.kolivas.org/patches/bfs/sched-BFS.txt
FAQS about BFS:http://ck.kolivas.org/patches/bfs/bfs-faq.txt
nugzo said:
I have full adb. I didnt have it when i upgraded from previous king kernels. Had to do a full wipe. Reinstalled rom and installed kernel before rebooting. adb works perfect. full access.
Click to expand...
Click to collapse
ENJOY!
Credits: Cyanogen, Netarchy (epson fps panel fix), toastcfh, ffolkes - all for bits of their code (see changelog), Koush for his any kernel .zip, AssasinsLaminent (nova fix), and most importantly, HTC for their kernel source
Download: CFS Kernel #11 & BFS Kernel #11[/URL] Date: 10/28/10 9:40 PM PST
If you Like my work follow me on twitter:
All my code is on github:
I am not responsible for anything that happens to your device
ChEeRs
BFS Changelog
Kernel #11
- HAVS is now OUT. We are not currently using it
- Using SVS for voltage regulation at the moment
- Battery life should be great now
- I forgot about an awful lot of longs and ints that will overflow on 32 bit now with u64 deadlines. Fix them.
- Add some macro tidiness
- Make sched_clock sanity checking robust and standardised, using jiffy
difference as upper limit, and use nominal 1us when difference cannot be
trusted.
- In layman's terms these are all MAJOR fixes to his BFS scheduler
- These fixes will provide a performance and stability boost
- Higher clockspeeds are more stable!
- More I will add
Kernel #10
- Performance boost!
- More stable due to BFS overhaul
- Patched up BFS scheduler to BFS 330
- Patched in *NEW* BFS TEST patch that applies over 330 (from CKolivas himself)
* Major overhaul of queued changes
* Micooptimise multiplications/divisions to be shifts where suitable
* Drop the "skip_clock_update" concept as we update the niffies each time we
update the rq clocks, thus we want to update it more often
* Add a local last_task variable to each runqueue which keeps a copy of the
last non-idle task that ran on this CPU. Use this value to determine that a
task is still cache warm on this CPU even if it has run elsewhere in the
meantime. This improves throughput on relatively idle systems with >2 logical
CPUs
* Change SCHED_BATCH tasks to refill timeslices and reset deadline every time
they're descheduled as they've been flagged as latency insensitive, likely
fully CPU bound tasks. This should decrease the impact running batch tasks
has on other tasks
* Bypass rechecking deadline when we know that prev will run again in schedule
* Change all deadline accounting to use nanosecond values
* Rework try_preempt
* MUCH MUCH more check my patch code if you please
- Voltage tweaks for stability
- Compiled with toolchain optimizations
- Neon optimizations this time around
Kernel #9
- Finally released
- Board files fixed to allow lower undervolt
- Undervolted to 825Mhz for safe frequencies
- Higher clockspeeds WILL be more stable now
- Compiled CIFS module per request
- Regulator tweaks
- Removed some bloat
- Now using ondemand governor by default, feel free to change it
- Battery charging tweaks (like my inc kernel)
- You guys are going to like this one
Kernel #8
- Reverted BFS Scheduler to 318
- Reverted GPU changes causing stutters
- Other minor fixes
Kernel #7
- Updated BFS Scheduler all the way up to 330
- MANY fixes to HAVS code *thanks for some of them netarchy*
- Regulator being properly used now
- Usleep fixes for sleep mode *via nnode*
- Longer battery life as a result of these major changes
- Volume boost tweaks
- Torture test disabled
- Torture test support disabled
- More I will add
Kernel #6
- Minor code cleanup
- Now undervolted to 825Mv! *Longer batter life*
- Ksgl tweaks for performance
- Higher clock speeds should now be more stable
- Wifi module tweaks
- Other things I will add
Kernel #5
- Rpc changes/tweaks
- V4L2 code disabled now for media interface
- Vmalloced tweaks via @cyanogen *PERFORMANCE BOOST*
- Tweaks for stability
- More I will add
Kernel #4
- BIG update
- Code cleanup
- Undervolted even more (Battery life is LONG)
- Compiled with neon optimizations
- Conservative governor threshold tweaked (via netarchy)
- Conservative Governor sampling rate tweaked per user request
- GPU edits for performance
- 5MB of memory reserved for the Adreno GPU
- Kernel will boot faster as a result of "set read ahead" changes
- Various wifi module tweaks
- Packet Filtering set to turn off after 1s
- Bluetooth sleep bug fixed *via kmobs via kernelzilla*
- More I will add
Kernel #3
- Added BFQ I/O Scheduler
- Default scheduler is bfq
- Fixed atomic functions in bfq *thanks cyanogen and co*
- Cleaned up/removed unneeded code
- HAVS is still included and functioning
Kernel #2
- Updated BFS Scheduler all the way up to 318
- Manual patches made by me to successfully get it working 100%
- Minor bug fixes
- Things I'll add
Kernel #1
- Fresh sources
- FAST
- Based off of CFS Kernel #7
- Applied BFS 313 (Brain **** Scheduler by Con Kolivas)
- HAVS implemented
- Minor bug fixes
CFS Changelog
Kernel #11
- Kernel now patched up to 2.6.32.24
- Bug fix causing battery drain
- Reverted some UV levels causing instability
- CFS updates
* Implement different treatment for idle shares
* Fix CFS 'Over-scheduling' bug
* sched: Fix granularity of task_u/stime()
* sched, cputime: Introduce thread_group_times()
* sched: Fix select_idle_sibling()
* sched: cpuacct: Use bigger percpu counter batch values for stats counters
* sched: fix racy fair sched*trq
* sched: Cleanup select_task_rq_fair()
- EXT4 support now!
- EXT4 compiled as a module
- EXT4 filesystem bug fixes
* ext4: Fix potential quota deadlock
* ext4: Fix BUG_ON at fs/buffer.c:652 in no journal mode
* ext4: fix memory leaks in error path handling of ext4_ext_zeroout()
* ext4: Prevent creation of files larger than RLIMIT_FSIZE using fallocate
* ext4: Ensure zeroout blocks have no dirty metadata
* ext4: Consolidate inlign pages
- CIFS bug fixes for stability and security
* cifs: Fix a malicious redirect problem in the DNS lookup code
* cifs: don't attempt busy-file rename unless it's in same directory
* cifs: remove bogus first_time check in NTLMv2 session setup code
- Netfilter IPv6 bug fixes
- Memory leak fixed in firmware
- CPU Governor fixes
- Mutex bug fix
* mutex: Don't spin when the owner CPU is offline or other weird cases
- Using xen_clocksource_read now for scheduler (part of 2.6.32.18 patchset)
- vmscan: raise the bar to PAGEOUT_IO_SYNC stalls
- SLAB fixes
- drm: Only decouple the old_fb from the crtc is we call mode_set*
- arm fixes: arm: fix really nasty sigreturn bug
- RDS memory leak fixed
- mm: page allocator: update free page counters after pages are placed on the free list
- mm: page allocator: calculate a better estimate of NR_FREE_PAGES when memory is low and kswapd is awake
- So much more, check my code if you please
Kernel #10
- Patched up to Linux Kernel version 2.6.32.17 (all commits an android kernel would need, no extra bloat) *All credit goes to the linux project, check my github for authors please*
- CFS updates
* Implement different treatment for idle shares
* Fix CFS 'Over-scheduling' bug
- EXT4 support now!
- EXT4 compiled as a module
- EXT4 filesystem bug fixes
* ext4: Fix potential quota deadlock
* ext4: Fix BUG_ON at fs/buffer.c:652 in no journal mode
* ext4: fix memory leaks in error path handling of ext4_ext_zeroout()
* ext4: Prevent creation of files larger than RLIMIT_FSIZE using fallocate
* ext4: Ensure zeroout blocks have no dirty metadata
- CIFS bug fixes for stability and security
* cifs: Fix a malicious redirect problem in the DNS lookup code
* cifs: don't attempt busy-file rename unless it's in same directory
* cifs: remove bogus first_time check in NTLMv2 session setup code
- Netfilter IPv6 bug fixes
- Memory leak fixed in firmware
- CPU Governor fixes
- Mutex bug fix
- Using xen_clocksource_read now for scheduler (part of 2.6.32.18 patchset)
- Much more I will add
Kernel #9
- Board files fixed to allow lower undervolt
- Undervolted to 825Mhz for safe frequencies
- Higher clockspeeds WILL be more stable now
- Compiled CIFS module per request
- Regulator tweaks
- Removed some bloat
- Now using ondemand governor by default, feel free to change it
- Battery charging tweaks (like my inc kernel)
- MANY fixes to HAVS code *thanks for some of them netarchy*
- Regulator being properly used now
- Usleep fixes for sleep mode *via nnode*
- Longer battery life as a result of these major changes
- Volume boost tweaks
- Torture test disabled
- Torture test support disabled
- Ksgl tweaks for performance
- Higher clock speeds should now be more stable
- Wifi module tweaks
- More I will add
Kernel #8
- Added BFQ I/O Scheduler
- Default scheduler is bfq
- Fixed atomic functions in bfq *thanks cyanogen and co*
- Cleaned up/removed unneeded code
- HAVS is still included and functioning
- Code cleanup
- Undervolted even more (Battery life is LONG)
- Compiled with neon optimizations
- Conservative governor threshold tweaked (via netarchy)
- Conservative Governor sampling rate tweaked per user request
- GPU edits for performance
- 5MB of memory reserved for the Adreno GPU
- Kernel will boot faster as a result of "set read ahead" changes
- Various wifi module tweaks
- Packet Filtering set to turn off after 1s
- Bluetooth sleep bug fixed *via kmobs via kernelzilla*
- Rpc changes/tweaks
- V4L2 code disabled now for media interface
- Vmalloced tweaks via @cyanogen *PERFORMANCE BOOST*
- Tweaks for stability
- Now undervolted to 825Mv! *Longer batter life*
- Ksgl tweaks for performance
- Higher clock speeds should now be more stable
- Wifi module tweaks
- More I will add
Kernel #7
- Added new CPU Governor - 'Interactive Governor' thanks Mike Chan @google
- Still using Conservative Governor
- Now overclockable to speeds up to 1.26Ghz (Not all phones can run 1.26, if your phone locks up, OC lower)
- Bluetooth tweaks (double check that bluetooth works for me please)
- Even more undervolted
- Wireless 'n' support
- Switched to 'cfq' scheduler
- Open VPN Modules
- Other things I will add
Kernel #6
- Overclocking should be 100% functioning
- SetCPU works now
- Overclockable up to 1.113 (Will raise this number soon )
- Added CPU Governor "OnDemand"
- Added CPU Governor "UserSpace"
- Added CPU Governor "Performance"
- Added CPU Governor "Conservative"
- Default CPU governor changed to "Conservative"
Kernel #5
- Five point multitouch (thanks for the code ffolkes)
- ADB working for most.... (wierd)
- Speed tweaks
- CPU Governors updated
- CPU tables updated
- Code is live
Kernel #4
- Much faster
- Much smaller kernel, removed all bloat
- ADB should work now, let me know
- Overclocking should work, let me know
- Switched scheduler to deadline
- More audio tweaks (per request, I forget who asked)
- Included a slew of modules, should cover any module you'd need
- More I will add
Kernel #3
- OC capability should work via terminal
- Netfilter (Wifi tether) built into the kernel
- Added OnDemand CPU governor
- Added UserSpace CPU governor
- Added Conservative CPU governor
- Default governor is currently OnDemand
Kernel #2
- Speed boost
- Five point multi touch support (believe this was ffolkes, thank you)
- FPS unlocked now! (thanks toast)
- Audio Boost Tweaks (LOUD)
- Integrated code to use 3 point for sensors that do not support 5 (thank you ffolkes)
- Kernel should work on CM6 now (let me know)
- Kernel should now detect screen arch on boot (thanks cyanogen)
- Should support both epson and n
- OC Capable now - up to 1.26 Ghz!
- Voltages lowered significantly for even better battery life
- Changed default scheduler to cfq
- Cleaned up unneeded code
- More I will add
Kernel #1
- First kernel for the HTC Evo
- Based off of the HTC source code - 2.6.32.12
- Added drivers for Static Voltage Scaling (SVS)
- Added drivers for Hybrid Adaptive Voltage Scaling (HAVS)
- Using CFS
- No OC capabilities as of now
- Cameras should work fine
- WiFI should work fine
- Bluetooth should work fine
- All things you would expect to work should be working, let me know
Any chance we could see some of the Desire's audio values in this kernel?
neckface said:
Any chance we could see some of the Desire's audio values in this kernel?
Click to expand...
Click to collapse
if I can find the code for it, yes.
You evo users have no idea what HAVS is like
I can't wait to see the feedback
kingklick said:
You evo users have no idea what HAVS is like
Click to expand...
Click to collapse
Well, for me, I have no idea what it is at all lol
Mind explaining what it does plz? =P
kingklick said:
if I can find the code for it, yes.
You evo users have no idea what HAVS is like
I can't wait to see the feedback
Click to expand...
Click to collapse
If you don't find it before I get home, I'll pm the directory to you.
And yeah, I haven't a clue what that is. Lol
This is interesting... any more details?
- Sent via my EVO 2.2 (Fresh 3.1.0.1) from the back seat of your Momma's car.
What on Earth is HAVS?
after a little googling...
Hybrid Adaptive Voltage Scaling (HAVS)
david279 said:
after a little googling...
Hybrid Adaptive Voltage Scaling (HAVS)
Click to expand...
Click to collapse
MMhhh can't wait to try this one out
Is FPS unlocked on this?
Does this work for all 2.2 roms?
bigant262 said:
Is FPS unlocked on this?
Click to expand...
Click to collapse
as of now, most likely not. It can easily be implemented
jaysmi32 said:
Does this work for all 2.2 roms?
Click to expand...
Click to collapse
YUP! should have no issues
If one was to push this to their device on top of whatever custom kernel/rom running.. would things start to get messy?
whats the best recommendation ?
kingklick said:
as of now, most likely not. It can easily be implemented
YUP! should have no issues
Click to expand...
Click to collapse
Thanks for the quick reply. I'll wait until you put it in. Will look forward to updates on this.
ok guys kernel is live =)
let me know if you have any other questions
I'm done playing for the day but I'm def keeping an eye on this thread. I can't wait to see some real world test results. I have a feeling this thread is going to blow up by the time I get up in the morning.
While I would absolutely love HAVS, I also don't want to lose the modifications in netarchy's kernel with the FPS cap unlocked. Any way you could possibly integrate that into your kernel?
An update.zip would be grand, too.
I have netarchy kernel 4.0.3a with Fresh 3.1.0.1... can i simply flash this over it?
- Sent via my EVO 2.2 (Fresh 3.1.0.1) from the back seat of your Momma's car.
cosine83 said:
While I would absolutely love HAVS, I also don't want to lose the modifications in netarchy's kernel with the FPS cap unlocked. Any way you could possibly integrate that into your kernel?
An update.zip would be grand, too.
Click to expand...
Click to collapse
Yup, if he sends me his code
HondaCop said:
I have netarchy kernel 4.0.3a with Fresh 3.1.0.1... can i simply flash this over it?
- Sent via my EVO 2.2 (Fresh 3.1.0.1) from the back seat of your Momma's car.
Click to expand...
Click to collapse
yes, use fastboot to flash the kernel itself, then adb push the modules

[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][STABLE] Badass Kernel 1.9.2

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

[KERNEL][LP][May 29] ThunderZap 4.16 | Zooom Zoooom!

{
"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"
}
Code:
#include
/*
* I am not responsible for bricked devices, dead SD cards, thermonuclear
* war, or the current economic crisis caused by you following these
* directions. YOU are choosing to make these modificiations, and
* if you point your finger at me for messing up your device, I will
* laugh at you.
*/
FEATURES:
-Based on latest sources
- Compiled off Linaro 4.9.3!
- Philz Recovery 6.48.4
-Insecured
-/system mounted as rw
-CPU Overclockable upto 1.7Ghz
-GPU Overclockable to 500Mhz
-Optimized RWSEM Algorithms
-LZO compression for faster boot
-Disabled GENTLE_FAIR_SLEEPERS
-Dynamic Fsync control
-Optimized AES and SHA1 routines
-Neon optimizations
-Removed old SHA1 routines
-Optimized git implementation for SHA1
-Lowered vfs cache pressure size to 20
-Enabled ARCH_POWER
-Optimizations to default SLUB allocator
-Patch for depleting entropy requiring no need of frandom or any rngd tweaks
-Tuned CFS parameters
-Asynchronous I/O latency to a solid-state disk greatly increased
-Optimized conservative governor
-Optimizations to Android lowmemorykiller
-Faster NOATIME and NODIRATIME fs mounting flags
-CPU Voltage Control
-Lowered log buffer shift
-O3 Optimizations
-Optimized apply_slack() method for size and speed
-Lock initial TCP window size to 64k (Improves network ping and output)
-Dynamic management of dirty page writebacks
-Philz recovery
- Introducing Intelli_thermal - A new thermal protection mechanism ported to MSM8930 by me, originally developed by faux123 (Replaces stock msm_thermal)
- Introducing ThunderSonic Sound Engine - A sound control driver wholly developed by me
- Introducing Charger Control 2.0 - A charger current rate control driver wholly written by me
- Nullified all the RAM and battery issues by disabling some unnecessary stuff!
- Added zSwap from Linux 3.11 [More RAM love? ]
- Added frontswap
- Added vnswap - a virtual swap page file residing the RAM memory pool.
- Disabled FRAME_POINTER slowing down the kernel
- Added Intelli_active governor
- Tuned the kernel for Cortex-A15
- Disabled lots of debugging
- Added native LZ4 compression support
- Added full support for Android Kitkat in separate version
- Fixed second core frequency overiding issue
- Now powered by AROMA Installer
- Disabled proc fs config storage swelling the kernel
- Added generic input joystick support
- Loads of other code cleanups and arbitrary optimizations
- Introduced in GPU Voltage Control
- Added BFQ IOScheduler
- FIOPS IOScheduler
- Added Assload of new TCP Congestion controls
- Improved IO throughput
- Merged some writeback patches to improve vmscan module
- Added native Samsung F2FS filesystem support
- Linux MM Readahead set to 256k
- Recovery some RAM by reducing android logger memory allocation
- Patches to improve deep sleep
- Disabled useless userspace and powersave governors
- Switched to XZ kernel compression
- Removed ARM tracer debug code
DOWNLOAD:
Mirror 1
GPL Compliance:
http://bit.ly/1cypvyz
Just a statement regarding kernel source: The Kernel Source is of course covered under GPL version 2. Free software does NOT mean no work or time was spent working on it. I have donated a large sum of my free time to this kernel. If you want to include my kernel in your project or use my source code, please mention it in your post, give proper credits.
Opensource does not mean 'Out-of-credit'
Thank you.
Credits:
@DD-Ripper : For amazing logo design!
@faux123- For his various kernel patches and features.
And all others mentioned on my github in contributors tab.
XDA:DevDB Information
ThunderZap Kernel, Kernel for the Sony Xperia L
Contributors
varun.chitre15
Kernel Special Features: Stability coupled with Velocity!
Version Information
Status: Stable
Created 2013-09-22
Last Updated 2015-08-29
Reserved
ThunderZap 4.9 - November 7
Code:
- Compatibility with CM12 beta 2
- SELinux enabled and set to permissive
ThunderZap 4.8-r2 - Not released
Code:
- Fix un-bootability issues with some phones
- 1.7 Ghz OC now available for Kitkat variant too
- SELinux enabled and set to permissive
ThunderZap 4.8 - November 22
Code:
- Lollipop compatibility
- ThunderSonic Engine 2.0 - Implemented locking mechanism
- Pushed CPU Clock to 1.7Ghz - (Lollipop only)
- Merged Lollipop patches from CAF
- BFQ IOScheduler updated to v7r6
- Optimized Low memory killer to reduce aggressiveness
- Memory management patches from Nexus 6 kernel
- CPUFreq optimizations from Nexus 6 kernel
- Patches to TCP from upstream
ThunderZap 4.7 - September 14
Code:
- Updated exFAT to latest upstream version
- Huge bunch of Samsung F2FS updates
- TWRP 2.8.0.0New
- Philz Touch 6.57.5 Updated
- Dual recovery is here!New - TWRP+Philz Touch
- Fixed in-recovery 1970 timing mismatch
- Optimizations to cpufreq driver
- New governor: SmartMax: This is my new favorite governor, an ideal choice for optimum performance and battery backup
- New IOScheduler: TripNDroid: My second favorite scheduler after BFQ!
- Optimized GPU flags
- Sysfs interface to control GENTLE_FAIR_SLEEPERS on the fly
- BFQ scheduler optimized for SSD
- Disabled add_random method for improved IO performance
- Moved to Linaro 4.7 from Linaro 4.6
- Enabled aggressive multi-core power savings
- Updated base CAF sources with over 100 new patches that go to VIDC, Adreno GPU driver, qssecom daemon, touchscreen driver etc
- Updated wifi driver from latest CAF sources
- Speedup in /proc/net/unix access
- Optimizations to ext4 filesystem from upstream.
v4.6 - July 10
Code:
Introduced in GPU Voltage Control - instructions on Post #3
- Pushed CPU clock to 1.6Ghz
- Added BFQ IOScheduler v7-r5 (my favorite one)
- Brought back FIOPS IOScheduler
- Added Assload of new TCP Congestion controls
Code:
* .westwood (default)
* .reno
*. bic
*. highspeed
*. hybla
*. htcp
*. vegas
*. veno
*. scalable
*. yeah
*. lp
*. illinois
- Improved IO throughput
- Merged some writeback patches to improve vmscan module
- Added native Samsung F2FS filesystem support
- Linux MM Readahead set to 256k
- Recovered some RAM by reducing android logger memory allocation
- Patches to improve deep sleep
- Disabled useless userspace and powersave governors
- Switched to XZ kernel compression
- Removed ARM tracer debug ****
- Philz touch updated to 6.48.4
- Merged all CAF kernel changes
- Compatibility to latest CM releases(model number issues)
v4.5-r1 - June 16
Code:
- Merged in all CAF kernel changes
- Philz touch updated
- Compatibility with new CM build
v4.5 - June 14
Code:
- Added compatibility for Kitkat
- CPU freq down to 1.5Ghz
- Philz recovery
- Updated wifi driver
- Updated CAF source to Android 4.4.3
- Fixes to Thundersonic Engine for future app compatibility
- Removed some unused features, rest all features intact!
v4.1-r2 - Mar 20
Code:
- Added compatibility to CM11-M4
- [Color="Red"]Workaround for internal storage - Now you can have full access to your internal storage at a new mount point in /storage/sdcard2! on any 4.4 ROM
[/Color]
v4.1 - Mar 10
Code:
- Removed GPU OC, ROW & FIOPS IOscheduler
- Updated TWRP to latest 2.7.0.0
- TWRP : Working implementation of reboot recovery
- Fixed the shutdown and logolooping problems
v4.0 - Mar 06 - Major release
Code:
- Introducing Intelli_thermal - A new thermal protection mechanism ported to MSM8930 by me, originally developed by faux123 (Replaces stock msm_thermal)
- Introducing ThunderSonic Sound Engine - A sound control driver wholly developed by me
- Introducing Charger Control 2.0 - A charger current rate control driver wholly written by me
- Nullified all the RAM and battery issues by disabling some unnecessary stuff!
- Upgraded sources to 3.4.82 [More than 3000 new improvements]
- Added SELinux support
- Overclocked upto 1.7Ghz - With the second core overiding issue almost vanished we don't have any issue with higher OC
- Added support for Microsoft XBox 360 Xpad controller (experimental)
- Added zSwap from Linux 3.11 [More RAM love? ]
- Added frontswap
- Added vnswap - a virtual swap page file residing the RAM memory pool.
- Disabled FRAME_POINTER slowing down the kernel
- Asynchronous Fsync from HTC kernels
- Added Intelli_active governor
- Added ROW IOScheduler
- Added FIOPS IOScheduler
- GPU OC upto 533Mhz
- Enabled hardware real-time clock write access - Fixes mismatched timestamps in recoveries and their backups
- Tuned the kernel for Cortex-A15
- Disabled lots of debugging
- Added native LZ4 compression support
- Added full support for Android Kitkat in separate version
- CD-ROM emulation via sysfs lun file (Thanks to @FrozenCow)
- Fixed second core frequency overiding issue
- Added TWRP 2.6.3.0(latest) in separate version
- Updated CWM to 6.0.4.7(latest)
- Now powered by AROMA Installer
- Disabled proc fs config storage swelling the kernel
- Added generic input joystick support
- CWM Recovery changes: Completely working reboot recovery implementation
- Loads of other code cleanups and arbitrary optimizations
v3.1 - Dec 28
Code:
- Disabled Memory compaction - should fix overusage of RAM issue
- Optimized and reduced voltage table by 62mV
- Merged 15.3.A.1.12 sources - Kernel is now future compatible with the new firmware
- Boosted the display panel frame-rate slightly for more smooth UI
- Added back the Westwood TCP Congestion control and set it as default - Should manage all Network traffic more efficiently!
v3.0 - Nov 28
Code:
*. Major update - Read changelog [URL="http://forum.xda-developers.com/showthread.php?p=47935391"]here[/URL]
v2.0-rc1 - Aug 07
Code:
*. Voltage table fixed causing phone freeze
v2.0 - Aug 03
Code:
*. Initial release
FAQs
Well lets begin, almost all features can be controlled using the TricksterMOD
How to access recovery?
Keep pressing volume down button when you see Thunderzap logo
Now special things about this!-
1. You can also use camera key to boot into recovery! hell yeah! BUT remember, NOT to use it for your first recovery boot. Make first recovery boot only using vol down key! Remember this. If you do so, phone will stuck up on ThunderZap logo and your key combo will get swapped and remapped to Volume up and you would need to use Vol up to boot into recovery until the next kernel flash.
2. You can also reboot to recovery from your Android OS directly! Yes I have done it! But same criteria as above! not to use that way for first boot. After you are done with first recovery boot you can use camera key, terminal way anytime!!
So how to use the terminal way?
Open terminal emulator[NOT adb shell]
Gain su permissions and type
Code:
start-cwm
And within a minute you will be in CWM!
How to determine which TCP congestion to use??
Latency - Download - Upload
cubic:
1st run: 15ms - 10,75Mbps - 7,82Mbps
2nd run: 14ms - 10,84Mbps - 8,06Mbps
reno:
1st run: 13ms - 15,51Mbps - 6,73Mbps
2nd run: 13ms - 14,73Mbps - 8,51Mbps
bic:
1st run: 12ms - 10,38Mbps - 8,61Mbps
2nd run: 13ms - 10,78Mbps - 8,62Mbps
westwood:
1st run: 11ms - 17,65Mbps - 8,30Mbps
2nd run: 13ms - 13,28Mbps - 8,29Mbps
highspeed:
1st run: 13ms - 10,76Mbps - 7,94Mbps
2nd run: 16ms - 14,42Mbps - 8,52Mbps
hybla:
1st run: 14ms - 11,19Mbps - 7,44Mbps
2nd run: 14ms - 13,47Mbps - 7,56Mbps
htcp:
1st run: 14ms - 13,24Mbps - 7,03Mbps
2nd run: 15ms - 10,85Mbps - 8,00Mbps
vegas:
1st run: 14ms - 8,49Mbps - 6,62Mbps
2nd run: 14ms - 12,00Mbps - 7,07Mbps
veno:
1st run: 13ms - 9,58Mbps - 8,13Mbps
2nd run: 13ms - 8,50Mbps - 7,64Mbps
scalable:
1st run: 18ms - 12,01Mbps - 8,73Mbps
2nd run: 14ms - 13,96Mbps - 8,23Mbps
lp:
1st run: 14ms - 14,90Mbps - 8,68Mbps
2nd run: 14ms - 13,44Mbps - 8,72Mbps
yeah:
1st run: 14ms - 13,37Mbps - 8,28Mbps
2nd run: 17ms - 13,89Mbps - 8,14Mbps
illinois:
1st run: 13ms - 12,93Mbps - 8,24Mbps
2nd run: 16ms - 13,97Mbps - 6,46Mbps
Click to expand...
Click to collapse
See above chart and decide which to use! But westwood has been set as default!
Some of them from above chart won't be present, so watch only those which are present in feature list.
Q. How to use vibration intensity control?
echo "your-value" > /sys/devices/virtual/timed_output/vibrator/level
Values range is 12-31. None other
Q. How to use ThunderSonic Engine?
It is a sound control driver. There are two interfaces which you can control
1. Headphone boost - I made this feature because louder volume than max volume in earphones rushes more adrenaline in me making music more enjoyable.
Turning this On will give you instant significant volume boost in earphones which is greater than what you get when the volume is max. Just make the volume maximum and turn this ON and you will notice it
How to turn on:
In terminal emulator/ adb shell, get su permissions and then type
Code:
echo 1 > /sys/kernel/thundersonic_engine/headphone_boost
and use 0 to turn off
2. Speaker boost - In crowded areas I felt speakers of XL fall short in terms of volume magnitude. So I made this to increase speaker volume speakers beyond its limit and now my phone sounds even louder than those dirt cheap china phones
This is 8-leveled boost interface. That means there are 8 boost levels. The default is 3 on TZ
How to turn on
Code:
echo X > /sys/kernel/thundersonic_engine/speaker_boost
where X can be any value from 4 to 8 depending upon the volume boost you require To reset back to default use value 3
Use above features with caution. Using headphone boost for a long time may damage your ears. And do not use speaker boost for a long time. If for some songs you hear crackling of speakers then reset its boost level to 3 or a relatively lower level of 4 or 5
Q. How to use charger control?
1. AC current control: In times of hurry I felt the charging times to be too long and so I made this. With this you can control the charging current rate through wall charger.
Before doing anything you first need to enable the master switch of the control or else the values you write will be negelected
How to enable master switch
Code:
echo 1 > /sys/kernel/charger_control/enabled
After this you can use custom current values like this
Code:
echo X > /sys/kernel/charger_control/custom_ac_current
where X can be any value in mA (Milliamperes) I use 1600 i.e 1600mA which completes my phone's charging from 3% to 100% in around 1 hour 30 mins.
The stock current ranges from 1000-1100mA and takes around 2 hour 30 mins to 3 hours. Avoid using values higher than 2200.
2. USB current control: Everyone knows the charging rate from PC via USB is damn slow. Many new PC's have newer USB ports which can offer current rates higher than 1500mA but still our kernel only pulls 500mA. I made this to control it yourself
As usual you need master switch enabled to write the new values.
How to use
Code:
echo X > /sys/kernel/charger_control/custom_usb_current
where X can be any value in Milliamperes. I use 1500 i.e 1500mA
Q. How to use GPU Voltage Control?
Currently there are no GPU voltage controlling apps. The upcoming ThunderZap control app supports that.
Obtain current voltage values
Code:
cat /sys/devices/system/cpu/cpu0/cpufreq/gpu_mv_table
Output will be something like this:
945 mV
1050 mV
1150 mV
Change these values:
Code:
echo "930 1000 1100" > /sys/devices/system/cpu/cpu0/cpufreq/gpu_mv_table
This will change the voltages as below
930 mV
1000 mV
1150 mV
Q. I am having abnormal battery drain
Most of the time the kernel isn't responsible for this.
a) Make sure you are on stock frequency of 1Ghz. Sometimes the frequency is getting overridden to 1.5Ghz even if you didn't set that. To avoid such situations use frequency lock option from Trickstermod kernel app.
b) The kernel is not pre-undervolted any more. You can undervolt it on your own. Optimum value is 75mV. Don't undervolt more than that
Q. How to use extra modules provided
Best way is to use init.d script to load them on boot.
e.g If you want to use the NTFS file system module. You have to first place the ntfs.ko module provided in /system/lib/modules. Then you need to create an init.d script in /system/etc/init.d with any name say 99modules with following code
Code:
#!/system/bin/sh
insmod /system/lib/modules/ntfs.ko
Next you need to give that file all permissions and reboot the phone and you are done!
P.S: Loading external modules affects battery life of the phone.
reserved
Good work.
All the best.
Good job man.
Best of luck! :highfive:
Post #3 updated with all controlling stuff!
Enjoy!
I've some concerns :-
1) As you can see from screenshot, default boot frequency of cpu0 is 1188 MHz while of cpu1 jumps to 1566MHz on load.
This is one of few reasons I disabled overclock in my kernel. One should enable intelliplug and disable mp decision to fix this.
Code:
su
stop mpdecison
2) Eco-Mode? Isn't it for quad core devices? Turning it off disables two cores. And we've only two.
3) Intelliplug works well.
4) Your voltage table is wrong. 1242MHz runs at lower voltage than 1188MHz. It's also irregular.
for example all 384,432,486 MHz run at same voltages.
5) Your ramdisk.cpio contains another ramdisk.cpio + pack script. Remove these junks.
6) xz -e offers best compression ratio but it's way slower than lzop (which in turn has poorest compression ratio).
So, xz compressed kernel is light weight but takes longer time ( usually 3-4 seconds more to decompress fully) than lzop compressed one.
You can see benchmark comparsion of gzip,xz,lzma etc here
In all xz compressed kernel doesn't boot fast in any way.
That's it for now
Rachit Rawat said:
I've some concerns :-
1) As you can see from screenshot, default boot frequency of cpu0 is 1188 MHz while of cpu1 jumps to 1566MHz on load.
This is one of few reasons I disabled overclock in my kernel.
2) Eco-Mode? Isn't it for quad core devices? Turning it off disables two cores. And we've only two.
3) Intelliplug works well.
4) Your voltage table is wrong. 1242MHz runs at lower voltage than 1188MHz. It's also irregular.
for example all 384,432,486 MHz run at same voltages.
Click to expand...
Click to collapse
1. True (I will be releasing a 1.2Ghz version of kernel tomorrow who are not that much concerned with gaming)
2. This is true as well. But this works with dual core too according to my last 20 days testing and I have noticed gradual improvement in battery backup. I will contact faux123 to reconfirm my observations.
4. Thanks! Didn't observe that. Will fix it with tomorrow's minor update
Sent from my Sony Xperia L (C2104) using Tapatalk 4 beta
@Rachit Rawat
Quick fix for the issue 1 of cpu1 getting maxed out!
Do this- Change freq to any other step and put it back to original. Now try doing a heavy task and see where cpu1 is getting capped at!
Just try it out
Sent from my Sony Xperia L (C2104) using Tapatalk 4 beta
varun.chitre15 said:
@Rachit Rawat
Quick fix for the issue 1 of cpu1 getting maxed out!
Do this- Change freq to any other step and put it back to original. Now try doing a heavy task and see where cpu1 is getting capped at!
Just try it out
Sent from my Sony Xperia L (C2104) using Tapatalk 4 beta
Click to expand...
Click to collapse
why not just turn on intelliplug and disable mpdecision?
Rachit Rawat said:
why not just turn on intelliplug and disable mpdecision?
Click to expand...
Click to collapse
I already have done that and I saw the maxing out of cpu1 myself right after you posted even though I have intelli_plug on
The trick I mentioned fixed that
Sent from my Sony Xperia L (C2104) using Tapatalk 4 beta
May I ask for a simple explanation concerning intelli_plug?
So it is a hotplug alternative, that means it switches unused cpu-cores off. Which results in same speed and half battery - consumption in cost of stability if cpu is in heavy use? And Eco-mode keeps the second core switched off permanently, or nearly?
If I am getting this correctly, then we transform our device into a single-core phone (which would be good itself, we can easier the cpus use with greenify to reduce background processes, right?).
My questions are:
Can that harm the processor (if we dont overclock?) and
if we do not use Eco-mode, will we have the single-core-effect and lagfree games?
Greets
Sent from my C2105 using xda premium
keenofhiphop said:
May I ask for a simple explanation concerning intelli_plug?
So it is a hotplug alternative, that means it switches unused cpu-cores off. Which results in same speed and half battery - consumption in cost of stability if cpu is in heavy use? And Eco-mode keeps the second core switched off permanently, or nearly?
If I am getting this correctly, then we transform our device into a single-core phone (which would be good itself, we can easier the cpus use with greenify to reduce background processes, right?).
My questions are:
Can that harm the processor (if we dont overclock?) and
if we do not use Eco-mode, will we have the single-core-effect and lagfree games?
Greets
Sent from my C2105 using xda premium
Click to expand...
Click to collapse
No, let me try.
Hotplugging means plugging out second core when not needed and plugging it in back when phone is doing some heavy work.
Consider few situations.
1. You are using a mere app like Instagram. In this case there is no need of second core and only first core can process the app smoothly. Here the second is asked to go offline and only first core runs.
2. Now you open NFSMW which is a heavy game. Now the phone understands that there is situation of heavy load, so it plugs in second core that is asks it go online and start sharing the workload from first core.
So this mechanism was managed by mpdecision named service previously. Intelli_plug is alternative mechanism to it. It is more efficient than mpdecision. That is improved algorithms of detecting whether second CPU is really needed or no. It determines that very intelligently and performs a very quick action providing much smoother User experience.
Now ECO-Mode , it just makes intelli_plug a bit lazy. It avoids plugging in second core for many situations and forces first core to do all work as far as I observed. It does plug in second core when phone is in very need of it. This saves a lot of battery.
And no, these features do not cause any harm to hardware because mpdecision does same thing but inefficiently.
I hope everything is clear here.
Sent from my Sony Xperia L (C2104) using Tapatalk 4 beta
varun.chitre15 said:
No, let me try.
Hotplugging means plugging out second core when not needed and plugging it in back when phone is doing some heavy work.
Consider few situations.
1. You are using a mere app like Instagram. In this case there is no need of second core and only first core can process the app smoothly. Here the second is asked to go offline and only first core runs.
2. Now you open NFSMW which is a heavy game. Now the phone understands that there is situation of heavy load, so it plugs in second core that is asks it go online and start sharing the workload from first core.
So this mechanism was managed by mpdecision named service previously. Intelli_plug is alternative mechanism to it. It is more efficient than mpdecision. That is improved algorithms of detecting whether second CPU is really needed or no. It determines that very intelligently and performs a very quick action providing much smoother User experience.
Now ECO-Mode , it just makes intelli_plug a bit lazy. It avoids plugging in second core for many situations and forces first core to do all work as far as I observed. It does plug in second core when phone is in very need of it. This saves a lot of battery.
And no, these features do not cause any harm to hardware because mpdecision does same thing but inefficiently.
I hope everything is clear here.
Sent from my Sony Xperia L (C2104) using Tapatalk 4 beta
Click to expand...
Click to collapse
nice kernel varun
one question
Can i turn off both intelli-lug and mpdecision at same time ? and i cant see any setting for intelli-plug in trickstermode i mean how can i turn it off , only MPdecision setting is der
Thanks
naitik2012 said:
nice kernel varun
one question
Can i turn off both intelli-lug and mpdecision at same time ? and i cant see any setting for intelli-plug in trickstermode i mean how can i turn it off , only MPdecision setting is der
Thanks
Click to expand...
Click to collapse
Don't turn both of them off, you will face heavy battery drain. Turn off mpdecision and turn on intelli_plug
And switch for intelli_plug is there in trickstermod in special tab.
Sent from my Sony Xperia L (C2104) using Tapatalk 4 beta
@varun.chitre15 can you upload to mediafire? I have problems downloading from goo.im
Sent from my C2105 using xda premium
PayPal Donations
please do the following:
Sign in to your PayPal account page
Go to 'Send Payment'
Enter my email id "[email protected]"
option "Personal payment" doesn't work for India, please set "Online purchases". and check Goods or Service (preferably service)
Make the payment of the desired amount of donation you want to send.
Thank you for your kind donations!
Super kernel
varun.chitre15 said:
Click to expand...
Click to collapse
Super stable. Reserved for more detailed review :laugh:
varun.chitre15 said:
I have mirrored the kernel on dev-host.
Check first post.
Sent from my Sony Xperia L (C2104) using Tapatalk 4 beta
Click to expand...
Click to collapse
one more thing
Any news about JetMode ?

[Kernel][Tuneable][STOCK/CM] SmoothMod Kernel for SM-T311

SmoothMod Kernel (SMK) for Samsung Galaxy Tab 3 8.0 3G (SM-T311), also may work on WiFi version (SM-T310), all stock and CM ROMs.
Development discontinued, read reason here.
This kernel is developed to give you more smoothness and stability than you can have on stock kernel and others.
Warning. Kernel may work on your device/ROM and may not. For me it works at all ROMs and for many people (on 4PDA.RU forum) it works too. Some people say (or said before kernel worked, this also can be) it doesn't work. So do a kernel backup please before you flash it first time. I've never had boot or usage problems with SMK, but it could be because i'm its developer (though it can not be the reason for that I'm always successfully boot it..). So it seems that our devices of the same model might be different. Be careful as I can not help you.
Features:
- Kernel version updated up to 3.2.26 and keeps updating
- Safe CPU overclock to 1.9 GHz with CPU-Boost kernel driver developed also by myself
- Custom (and only here) governor Smooth that is made to give both good battery saving and absolute smoothness. Uses GPU load and io_wait to additionally increase frequency at the right time.
- Kernel has a custom Android service smkd that controls all its features and provides many tweakable settings that you can change very simply: through terminal command "smkd" (instructions below) or "by hands" at folder "/smk" (like usual linux kernel settings at "/proc/sys/{kernel|vm|net}"). The program is written in C language, not as a script, for performance (shell-scripts are very slow when comparing with optimized C-programs).
- Tweak Menu that can be found if you type 'smkd' in your terminal.
- SmoothnessControl - one of smkd's functions that tries to guarantee UI smoothness to your tablet even if there are very CPU-hungry (but not I/O) apps/programs running like android.process.media and others. By default disabled. To enable, type this: 'su -c "scd --enable"' in terminal emulator. To disable, type 'scd --disable'.
- CPU Undervolt controlled through smkd.
- DynBS program (also developed by me) used by smkd to improve battery saving by 40% and more.
- Boeffla Sound Engine with custom settings, not working with Boeffla Sound Control app because smkd controls them (it's needed because smkd fixes engine's sound effects bug). Settings are stored folder "/smk" in files beginning with "boeffla.".
- Cron scheduler configured from file /sdcard/cron/root.
- All the custom tweakable settings described upper are reloading instantly after you change them or on delete (cron schedule file is also under the same watch).
- Kernel is compiled with optimized HYPER-TOOLCHAIN with gcc version 6.0 and maximally optimized compiler configuration.
Customizing kernel:
There is now nothing that needs to be explained, as customizing is pretty simple! Just type command 'smkd' (without quotes) and go through the menu (by entering appropriate symbols) as you want, changing parameters as you need.
Ask, if you have questions
If you have questions or suggestions about my kernel, feel free to write about that here and I will try to answer.
F.A.Q.:
Q.: Do I need to wipe Dalvik/ART cache before/after flashing this kernel?
A.: It is even not useful to wipe caches because they are used by Android only, not by kernel. So, it's not needed.
Q.: The kernel does not boot! What do I have to do to boot it?
A.: Write a message in this thread providing info about what ROM do you use, what Android version it is and what kernel build (kk/lp/mm) and version you are trying to boot. I will reply to that message and try to fix that problem.
Author: me, igoryan94
Download from Google Drive
Before flashing this kernel please do a backup yours first!
Warning! If you have a Jellybean/Kitkat rom, then download the smoothmod-kernel-kk-... build. If you use Lollipop (CM12), then your build to download will be ...-lp.... If it is a Marshmallow (CM13), then download mm build.
Other choice will cause your device to not be able to boot!
(Sorry for my (maybe )bad english)
Plans:
-
Developing now:
-
Changelogs (old*):
1.2.1/1.2.2:
- Returned possibility to load a profile from command line (command 'smkd --load [name]' or 'smkd ld [name]')
- Added custom setting for apps CPU time, now it has two groups: idle and high.
Idle group gives an app very small amount of CPU time, use for hungry apps that you don't need.
High group grants an app a 95% of all CPU time. Use to speed up some apps or games.
It is all very similar to Greenify and others, excepting that this is not battery saving solution, only to smooth up your Android, as Greenify disables an app and CGroup lowers app's CPU execution time available to it.
- I/O settings fully rebalanced for smoothness for system processes and apps processes
- Also added control group for I/O that does like one for CPU, but for I/O and developed its correct (for Android) behavior.
- Current configuration name in smkd menu now correctly saves and loads after reboot.
- Default LMK level changed to 125
XDA->SMK:
1.2:
- Got a smoother UI with better CGroup tweaking
- In case of some situations smkd will notify user with drawing a small square of some color at the left upper screen edge (portrait orientation). For overheat the color is red. When SmoothnessControl gets to work, color is light blue/cyan. If device's load is too high, the color will be blue.
"Notification" will blink when screen updates because the framebuffer devices are not support this method of screen drawing. But it works for now and I think that it is very useful to know the reasons of device's lags and freezes.
- Menu now immediately reacts to input, instead of pressing some characters and then Enter. Modified all menus that way so the interface is now much better.
- When exiting menu, parameters are automatically saved to default profile. No need to care about it anymore...
- Added Quick settings also to RAM and I/O
- Main menu: moved all "p)" menu elements to main menu level, it is quicker to access now
- Some more Quick settings options added
- Added Quick settings to my menu templates, so I will add this to most of the new menus in the future
- Main Quick settings colors changed to blue, additional are still white
- Overclock to 1920 MHz lowered to 1800 MHz because 1800 is much more stable (1920 causes reboots on Marshmallow on my tablet)
- Device now reboots when charging speed is too bad. By default this is disabled. Also added setting "Charge cycle time" and Quick settings for that so you can quickly set up to what charge speed you need (reboots are helpful but not very good for users that want to play device when it charges).
- 'Boost' feature disabled so now DynBS will work as always even when device is laggy
Previous:
1.1.22:
- CPU, Boeffla Sound and Network setting menus in smkd now have the Quick settings feature that helps to configure them by one click instead of tweaking them each
1.1.21.1:
- DynBS updated: now it uses frequencies from 350 to 700 MHz too, so more battery can be saved.
1.1.21:
- smkd now has menu interface which opens by default by command 'smkd' without options.
- All setting commands are removed. Use menu instead.
- In Cyanogenmod ROMs SystemUI is restarted every time when screen becomes disabled, so you may never see it lags or freezes again.
- PCS renamed to SC (SmoothnessControl).
- Overclock enables when device is laggy even when it is disabled in settings
- Redone temperature control: now smkd monitors a device temperature instead of CPU. It leads to better smoothness. Also overheat situations disable some functions like I/O readahead, ZRam, KSM.
- Overheat prevention function fully removed
- Governor Smooth now enables both cores on gestures with two or more fingers instead of simple tap.
1.1.20:
- Added charging compensation: now when battery charging is too slow, CPU Topology and voltage will be changed appropriately for quicker charge.
- Touch boost changed from 1400 to 1000 MHz, but it also boosts busfreq to 400 instead of 267 MHz. Results in better reaction on screen touch.
- Governor Smooth's default sampling_rate changed from 27000 to 16000 for quicker reaction
1.1.19:
- Added ARM CPU Topology for better multithread scheduling
- Some CPU Scheduler changes for smoothness or power saving (tweakable)
- Improved smkd UI code
1.1.18.1:
- Fixed performance/smoothness problems.
1.1.18:
- Added new default configuration "throughput"
- GPU acceleration is now forced for all apps and it is changeable from smkd.
- I/O scheduler SIOPlus added.
- DynBS is returned (one user asked for it as it really saves battery, as he said).
1.1.17:
- User profiles are no more exist, replaced with default configurations" instead. They are: smooth, battery, ram and cool. After each launch of smkd (mostly on reboot) configurations are removed and recreated to always be fresh and up to date.
- Added ability to create, rename and delete profiles by normal way, but default profiles cannot be replaced, deleted or renamed through smkd (only "by hands").
- GPU settings: composition and forced GPU-acceleration from Android settings for developers.
- Tripndroid and Zen I/O schedulers are added.
1.1.16.1:
- Configurations loading is now be always successful (but only if appropriate file exists), without that annoying errors "try again later, please..."
- Small tweaks optimization
1.1.16:
- Overclock now disabled by default, as it was on 1.1.14 and before, for battery saving (overclock eats too much battery). Can be enabled with command 'smkd -c -o 1'. Temperature control is now optimized for both CPU overclock and hardware maximal frequency modes.
- smkd interface improved a little.
- KSM functionality added with some fixes for Mali GPU driver bugs in userspace.
- Default temperature limit is now 64 C (before it was 67 C). This is done for more stability when the weather is hot.
- Some changes for smoothness and stability...
1.1.15:
- Overclock is enabled now for any time when screen is enabled (no more boost).
- Developed overheat preventing functions that cool device when temperature is between 90% of threshold and higher. CPU frequency will be set according to temperature for the moment (for every 2% will be a different frequency). Function can be disabled but it is not recommended.
- All cooling functions now control voltage too to be more effective.
- Governor Smooth tweaked for more balance (oc_nr_run_threshold->6)
- Governor Smooth: changed logic: half-overclock (to 1.7 GHz) will occur if number of processes running is a half of oc_nr_run_threshold tunable.
- smkd now controls I/O scheduler and I/O readahead settings, they are tweakable with smkd command. Profiles change this parameters too.
1.1.14:
- smkd tweaker program fully translated to english and comes now in two languages. Now it uses Android's property 'persist.sys.language'.
If your device configured for any language excepting russian, then program will be in english for you. At the other case it will print out text and messages in russian.
- Improved custom configurations in smkd. Now it loads profiles synchronous with service (by using mutex) instead of relaunching it with shell stop/start (it was too slow and even buggy to do that).
- DynBS will not be in kernel anymore, it is not so effective as needed. Instead, I've added a profile tweaks for my governor Smooth, that tweaks easily changeable from smkd (cmd. "smkd -c -s [0-2]").
1.1.13:
- Cron scheduler now works correctly (i'm happy ), doing exactly what was scheduled by the user at the exact times.
- I don't remember what was in this version because forgot this as I worked on 1.1.14 intensively.
-----
* Newer versions contain changelogs in install archive itself.
Very good kernel. Use [5.1.1] Resurrection Remix 5.5.9 + SMK 1.0.20.1 lp.
Nerovinger said:
Very good kernel.
Click to expand...
Click to collapse
Thanks
stuck at bootanimation..
Sent from my SM-T311 using XDA-Developers mobile app
so.hell said:
stuck at bootanimation..
Sent from my SM-T311 using XDA-Developers mobile app
Click to expand...
Click to collapse
What ROM do you use? Android version, SMK version?
AICP BY GR8NOLE.
SMK V-1.1.12
i try dirty flash n clean flash.stuck at bootamination..
Sent from my SM-T311 using XDA-Developers mobile app
so.hell said:
AICP BY GR8NOLE.
SMK V-1.1.12
i try dirty flash n clean flash.stuck at bootamination..
Sent from my SM-T311 using XDA-Developers mobile app
Click to expand...
Click to collapse
Looks like it will not work on AICP ROM, on Cyanogenmod 13 and ResurrectionRemix kernel works fine (I've tested that)... Sorry The reason for that I can not fix this problem is that I do not know (even cannot know) how to make an init.rc (this file starts all Android services on boot) file universal (to support absolutely all ROMs at one time). This is also the reason for three builds of kernel: kk, lp and mm...
Nice kernel. But can you please make a version of your kernel work with the T310 (WiFi)?
Stuck at Bootanimation
ROM: Resurrection Remix 5.6.9 by powermetza
Android Version:6.0.1
SMK version 1.1.12
pawas99 said:
Stuck at Bootanimation
ROM: Resurrection Remix 5.6.9 by powermetza
Android Version:6.0.1
SMK version 1.1.12
Click to expand...
Click to collapse
Try to flash on a clean ROM (with backup of cource)... All fine for me on RR.
Luis_0 said:
Nice kernel. But can you please make a version of your kernel work with the T310 (WiFi)?
Click to expand...
Click to collapse
I can't as i don't know much about modding in '/init.rc' script and also about what differences it has in kernels for T310, T311 and T315... Sorry.
There are too much incompatibilities with builds that are now (they must work everywhere but they don't)...
Ok. Added one question to poll. There are three variants for ROM and two for working or not (six at all), for me all works fine, so I voted for the first three answers.
Version 1.1.14 developer testing ends now, smkd fully translated to english. I will now build the kernel and then begin uploading it to Google Drive.
(sorry for my incorrect english)
igoryan94 said:
Try to flash on a clean ROM (with backup of cource)... All fine for me on RR.
Click to expand...
Click to collapse
Stuck at bootanimation even after flashing on a clean ROM.
waiting for update..
Hey @igoryan94,
Thanks a lot for making this great kernel!
I've flashed the KK version along with the stock ROM http://forum.xda-developers.com/showthread.php?t=2789510. It works very nicely. Would you please show an instruction (or a specific terminal command for newbies like me) of how to overclock CPU to 1.9GHz? Currently the max speed is 1.5Ghz according to kernel audit.
Thanks again
Hey I cant change the cpu frequent through kernel adiutor. As soon as i change the freq to 1920 it changes back to 1500.
igoryan94 said:
I can't as i don't know much about modding in '/init.rc' script and also about what differences it has in kernels for T310, T311 and T315... Sorry.
Click to expand...
Click to collapse
@gr8nole could help him in this?
xdaSEx10 said:
Hey @igoryan94,
Thanks a lot for making this great kernel!
I've flashed the KK version along with the stock ROM http://forum.xda-developers.com/showthread.php?t=2789510. It works very nicely. Would you please show an instruction (or a specific terminal command for newbies like me) of how to overclock CPU to 1.9GHz? Currently the max speed is 1.5Ghz according to kernel audit.
Thanks again
Click to expand...
Click to collapse
CPU frequency is automatically changed to 1920 MHz when special conditions are met (they are: "blocked" processes and waiting for I/O).. Version 1.1.5 will have full 1920 MHz CPU frequency.
I will now upload "developer" version of kernel 1.1.15_dev for KitKat users. If you want, test that) It is not fully contains all changes that i've done, but I'm not at home now and cannot compile new build... For now it has smooth overheat prevention and overclock fully enabled.
Hunter97 said:
Hey I cant change the cpu frequent through kernel adiutor. As soon as i change the freq to 1920 it changes back to 1500.
Click to expand...
Click to collapse
Please wait for SMK version 1.1.15, it will use 1920 MHz as a default frequency always excepting overheat moments (that will disapear very quickly) and governor's battery saver mode.
You can also use a developer version 1.1.15_dev if you use JellyBean/KitKat as your ROM.
Ok, "dev" version released for testing.
When I will return home, I will release another testing version that has an I/O scheduler change functionality, optional Overheat Prevention and changing min_freq to minimal (50 MHz) when temperature event occurs. Maybe it will have even more features (I have smkd code with me, PC is only needed for compiling kernel and ramdisk).
on NoleKat.T310. v1.1 KK 4.4.2 not boot. on CM13 it's ok, but, for me, the best android versioni for this tablet is kk stock and i install NoleKat.T310. v1.1.
jamax80 said:
on NoleKat.T310. v1.1 KK 4.4.2 not boot. on CM13 it's ok, but, for me, the best android versioni for this tablet is kk stock and i install NoleKat.T310. v1.1.
Click to expand...
Click to collapse
SMK will not boot on T310. Only T311.

Categories

Resources