FORUMS
Remove All Ads from XDA

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

7,312 posts
Thanks Meter: 4,544
 
By pikachu01, Senior Member on 10th October 2011, 04:40 PM
Thread Closed Email Thread
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
  1. Copy the CWM zip and all the addons you need to your internal sdcard
  2. 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)
  3. Install using CWM all the CWM zips without needing a reboot in between
  4. Wait for bootup
  5. 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).
  6. 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.
  7. 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.
  8. ????
  9. 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
The Following 345 Users Say Thank You to pikachu01 For This Useful Post: [ View ] Gift pikachu01 Ad-Free
 
 
10th October 2011, 04:41 PM |#2  
pikachu01's Avatar
OP Senior Member
Flag Penang
Thanks Meter: 4,544
 
More
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
  1. Wait till Android finishes loading everything.
  2. Install Script Manager from Market
  3. Point script manager to the script you placed in the sdcard.
  4. Run as root.
  5. Do this at every boot.
  6. 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.
The Following 124 Users Say Thank You to pikachu01 For This Useful Post: [ View ] Gift pikachu01 Ad-Free
10th October 2011, 04:43 PM |#3  
Senior Member
Thanks Meter: 28
 
More
I don't understand. What is that?? thanks

EDIT: Thank you for your great work pikachu01 !!!!! *__*
10th October 2011, 04:46 PM |#4  
pikachu01's Avatar
OP Senior Member
Flag Penang
Thanks Meter: 4,544
 
More
Quote:
Originally Posted by raXoN91

I don't understand. What is that?? thanks

I will upload a flashable collection of scripts here in an hour Wait for it :P
The Following 11 Users Say Thank You to pikachu01 For This Useful Post: [ View ] Gift pikachu01 Ad-Free
10th October 2011, 04:53 PM |#5  
Senior Member
Thanks Meter: 28
 
More
Ok Can I flash it on every Rom?
The Following User Says Thank You to raXoN91 For This Useful Post: [ View ] Gift raXoN91 Ad-Free
10th October 2011, 04:58 PM |#6  
pikachu01's Avatar
OP Senior Member
Flag Penang
Thanks Meter: 4,544
 
More
Quote:
Originally Posted by raXoN91

Ok Can I flash it on every Rom?

Yes, you should be able to flash it on every ROM.
The Following 7 Users Say Thank You to pikachu01 For This Useful Post: [ View ] Gift pikachu01 Ad-Free
10th October 2011, 05:05 PM |#7  
ken2291's Avatar
Senior Member
Flag Kuching
Thanks Meter: 16
 
More
This is sure to be as fast as Usain Bolt
The Following 2 Users Say Thank You to ken2291 For This Useful Post: [ View ] Gift ken2291 Ad-Free
10th October 2011, 05:58 PM |#8  
Member
Thanks Meter: 70
 
Donate to Me
More
Hi pikachu, what is the sqlite3 binary for?


cheers
10th October 2011, 06:18 PM |#9  
pikachu01's Avatar
OP Senior Member
Flag Penang
Thanks Meter: 4,544
 
More
Quote:
Originally Posted by MintBerryCrunch

Hi pikachu, what is the sqlite3 binary for?


cheers

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
The Following 5 Users Say Thank You to pikachu01 For This Useful Post: [ View ] Gift pikachu01 Ad-Free
10th October 2011, 06:23 PM |#10  
pikachu01's Avatar
OP Senior Member
Flag Penang
Thanks Meter: 4,544
 
More
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

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

 - Changed the default readahead to 512, all other readaheads are still 1024 (sdcard etc)

 - Added an overcommit_memory tweak that seems to stave of memory leak problems that causes lagginess (confirmed by a few people including me :P). 

 - 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.
The Following 4 Users Say Thank You to pikachu01 For This Useful Post: [ View ] Gift pikachu01 Ad-Free
10th October 2011, 06:26 PM |#11  
DonVito2020's Avatar
Senior Member
Thanks Meter: 105
 
More
Hi,
Thanks a lot for the script.
One question, will this work on miui?
Thread Closed Subscribe to Thread

Tags
pikachu, script, thunderbolt, tweak, zach
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes