Battery friendly config Neatrom 4.X + Siyah6.0 beta4 ver 1.02
After some time spent on testing and collecting workable tweaks, I'm posting here my battery friendly config for NeatromLite4.0 JB and new Siyah 6.0 beta 4. Altough I usually don't release my configs for any kernel's beta versions, I decided to make an exception from the rule. The reason is, that it's rather not realistic to get final version of Siyah kernel in near future.
Remember, this setup for sure is not recommended for those who don't care about their battery life, prefering taking advantage from all possible features of their smartphone. Then, there are also some disadvantages of this, they should consider charging their batteries more often (even a few times a day) or buy a spare one.
This setup I think is reasonable for those who like first of all longer battery life with sufficient/acceptable performance for daily use.
If you find something usefull for your setup here, don't hesitate to hit THANKS button.
HERE YOU ARE - MY BATTERY FRIENDLY CONFIG:
DISCLAIMER:
1. Everybody can try it but not necessarily it will work for everybody like it works for me.
2. Remember that our phones' hardware is not 100% identical.
3. Make nandroid backup before trying this
4. If any tweak causes freezes, restore your nandroid backup.
Changelog:
Code:
[B]Version 1.01:[/B]
- Replaced "Stweaks_Siyah6b4_Many40.zip" archive with "Stweaks_Siyah6b4_CWM.zip"
flashable file. Now it's no need to replace STweaks profile manually
- Added all scripts+Stweaks profile in one file
(Many40_Battery_tweaks_Siyah6b4_CWM.zip)
- Added restorer file (Restorer_Siyah6b4_CWM.zip)
[B]Version 1.02:[/B]
- adjusted pegasusq governor's parameters to scale less often to higher frequencies
- updated rom's settings (among other things added Greenify app support to hibernate some user apps) - thanks to bobdoblo who
convienced me to use it.
My config is as follows:
-
Battery: 1650mAh (results are attached at the end of this post)
-
Rom: NeatromLite 4.0 XXLSJ / 4.2 XWLS8 + - big thanks to Salesale
-
Kernel: Siyah6.0 beta 4 - big thanks to Gokhanmoral
1. KERNEL TWEAKS:
It is possible to flash single tweaks separately (description below) or all of them at once by flashing attached "Many40_Battery_tweaks_Siyah6b4_CWM.zip" file from CWM recovery.
A. STweaks settings: in attached Stweaks_Siyah6b4_Many40.zip (unzip the file and put it to /data/.siyah folder) - inspired by Droidphille's great
thread
-
CPU UC/UV , made by STweaks:
Code:
[B]MHz/mV:[/B]
100/825
200/825
300/850
400/875
500/950
600/950
700/975
800/1000
900/1025
1000/1075
-
GPU FREQ/VOLTAGE steps/levels by STweaks (VPLL MODE: OFF):
Code:
Step/level 1: 54MHz (800mV)
Step/level 2: 66MHz (800mV)
Step/level 3: 108MHz (800mV)
Step/level 4: 160MHz (850mV)
Step/level 5: 267MHz (950mV)
-
ARCH POWER: ON - in current ver. of kernel is set ON by default.
-
SCHED_MC: OFF(when CPU Legacy Hotplug is set to ON then hotplugging does load balancing already by taking care of thresholds, run queues, process priorities etc) - by STweaks - big thanks to Droidphile for his objective explanation.
-
SMOOTH_SCALING: OFF (when "freq_step" is set as one of the pegasusq parameters, it senseless to keep smooth_scaling ON, as they do the same) - by STweaks.
-
Brightness Response Curve settings by STweaks - they are very important for battery life. However if you feel your screen is too dark (adjust them in the app)
-
As well many other settings contained in STweaks profile file.
B. Pegasusq governor tweaked by init.d script (flash attached "Pegasusq_sio_Siyah6b4_CWM.zip" file from CWM recovery) - inspired by Droidphille:
Code:
#!/system/bin/sh
su
sleep 45
echo "90" > /sys/devices/system/cpu/cpufreq/pegasusq/up_threshold
echo "80" > /sys/devices/system/cpu/cpufreq/pegasusq/up_threshold_at_min_freq
echo "60000" > /sys/devices/system/cpu/cpufreq/pegasusq/sampling_rate
echo "1" > /sys/devices/system/cpu/cpufreq/pegasusq/sampling_down_factor
echo "5" > /sys/devices/system/cpu/cpufreq/pegasusq/down_differential
echo "20" > /sys/devices/system/cpu/cpufreq/pegasusq/freq_step
echo "100000" > /sys/devices/system/cpu/cpufreq/pegasusq/freq_for_responsiveness
echo "15" > /sys/devices/system/cpu/cpufreq/pegasusq/cpu_up_rate
echo "15" > /sys/devices/system/cpu/cpufreq/pegasusq/cpu_down_rate
echo "400000" > /sys/devices/system/cpu/cpufreq/pegasusq/hotplug_freq_1_1
echo "300000" > /sys/devices/system/cpu/cpufreq/pegasusq/hotplug_freq_2_0
echo "350" > /sys/devices/system/cpu/cpufreq/pegasusq/hotplug_rq_1_1
echo "200" > /sys/devices/system/cpu/cpufreq/pegasusq/hotplug_rq_2_0
echo "0" > /sys/devices/system/cpu/cpufreq/pegasusq/ignore_nice_load
echo "1" > /sys/devices/system/cpu/cpufreq/pegasusq/io_is_busy
echo "0" > /sys/devices/system/cpu/cpufreq/pegasusq/max_cpu_lock
echo "0" > /sys/devices/system/cpu/cpufreq/pegasusq/hotplug_lock
echo "sio" > /sys/block/mmcblk0/queue/scheduler
C. Sio I/O scheduler (in my opinion performs well for our flash drives) set by init.d script above (together with pegasusq governor). If you prefer other schedulers you can also try "row" or "noop" (by editing the script).
D. Touch frequency limited from 500MHz to 100MHz - by init.d script (flash attached "TouchFreq_Siyah6b4_CWM.zip" file from CWM recovery) - big thanks to Tungstwenty for help with kmemhelper command:
Code:
/sbin/busybox sh
su
kmemhelper -n `grep "^$(cat /proc/kallsyms | grep ' mov_hysti$' | cut -c1-4).* level\." /proc/kallsyms | grep -o "level.*"` -t int 15
E. CFS tweak: Thunderbolt: it sets specific multitasking behaviour of processor's scheduler (flash attached "CFStweaks_Siyah6b4_CWM.zip" file from CWM recovery)
Code:
/sbin/busybox sh
su
/res/uci.sh cfs-tweaks 2
F. VM tweak: virtual memory tweak for battery life (flash attached "VMtweak_Siyah6b4_CWM.zip" file from CWM recovery)
Code:
/system/bin/sh
su
echo "500" > /proc/sys/vm/dirty_expire_centisecs
echo "1000" > /proc/sys/vm/dirty_writeback_centisecs
Remarks:
- to revert back all kernel's tweaks - flash Restorer ZIP file from CWM recovery (Restorer_Siyah6b4_CWM.zip).
- to avoid long lasting "l2_hsic" wakelock - reboot phone after charging battery and don't disconnect USB cable when the screen is off (unlock it first).
2. ROM TWEAKS
- autorotation: OFF
- syncing: OFF
- removed (optionally frozen) some useless apps (according to individual needs - do it carefully, remove only if you know what you are doing).
This is my list of removed apps:
Here you can find very usefull guide by bobdoblo (which system apps are safe to remove) -
Bobdoblo's Neatrom Super Lite
- hibernate with
Greenify app frequently used user apps (the app will sugest them) to stop them from battery draining when not required. Don't "greenify" apps which use bacground functionalities like: alarms, instant messaging, push messages, widgets updates etc
- minimazing partial wakelocks/alarms by proper settings of different apps using BetterBatteryStatts, OS monitor and Gemini App Manager
I disabled autostart of some apps with Gemini App Manager using common sense of that what means - I didn't touch what I was not sure (especially GSF).
- dark coloured wallpapers
- limited number of widgets (auto update OFF or update frq decreased)
- wireless and networks / mobile networks / mobile networks / network mode - WCDMA only. If someone doesn't need very fast data transfer he can change it to GSM only (2G) - it drains less battery. However if possible I recommend to use WiFi instead of mobile data.
- turn ON WIFI or mobile data only when you need them, unless turn them OFF
- Fast Dormancy - ON (Only if your mobile network supports that). Following this
GUIDE you will find out if your network supports FD or not. Shorter way to find out that is to check with BBS app if you have long wakelock "secril_fd-interface". If YES - disable FD in your phone.
- wireless and networks / mobile networks / mobile networks / network operators - chosen specific operator (no "automatic selection")
- power saving - OFF
- sound / system - all options OFF
- sound / vibration intensity > all sliders to MINIMUM
- display / touch key light duration - ALWAYS OFF
- display / screen timeout: 15sec.
- display / brightness - Manual/Minimum (if too dark as low as possible),
- date and time / Automatic date and time - OFF
- developer options / Windows animation scale - Animation is OFF (it will disable CRT ON/OFF effects)
- developer options / Transition animation scale - Animation is OFF
- motion / motion activation - OFF
Also pls see attached screenshots of my battery statistics and CPU history from the test.
Remark: I used my phone not so much intesively (mobile data/browsing on xda with XDA Premium app/internet, some usege of sms, phone calls etc):
A. General results:(made on version 1.00)
Battery 1650mAh:
- On battery time (100% - 3%): 2d 1h 5min
- Screen on time: 6h 15min
- Voice calls: 1h 29sec
B. Samsung built-in Battery monitor:
C. GSam Battery Monitor Pro:
D. Voltage Control Extreme (CPU history):
Enjoy
PS If you have any remarks/suggestions how to improve it, please let me know.