• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

NeatRom + Siyah Kernal. Optimization for Better Battery

Search This thread

red.hat

Senior Member
May 27, 2012
591
859
New York city
Disclaimer alert: I am in no way responsible for any damage inquired while performing any of the changes listed below. If you are not comfortable with tweaking your device please feel free to use built in option in Siyah's Kernal. This is just an option and it is something I have tried on my phone with success. I am not using a stock battery, but rather a 2000MAH.

I have NeatRom Lite V1.1 + Siyah Kernal (Slick Sale) installed on my phone. This was created by Sale (his work on this rom is increadible). Samsung's stock kernal has been replaced by Siyah's kernal SGS2v.3.3.2. This version has touch CWM which makes flashing fun. To tweak the kernal, I installed ExTweaks (from the market. Extweaks has the option for battery, performance and defualt settings (these are enabled after a donation). This same settings can be performed in recovery. Siyah has the kernal tweaked for optimization for battery and performance. You can select this in recovery (scrolling down to kernal specific options and the choosing either battery or performance) and it will be impleted during boot up.

However if you feel bold you can tweak the kernal using Ex Tweaks. These are my settings below ( they are by no means a rule of thumb)


Note. I have noticed that the screen consumes most of the power from the battery. If you are able to reduce your screen brightness to about 40% instead of being at automatic, you will get additional time on your phone.

SETTINGS (CPU):
GENTLE_FAIR_SLEEPERS = On
ARCH_POWER = On
CPU Hotplug = Default
CPU IDLE Mode = AFTR + LPA (default)
Smooth Scaling Level = 800Mhz
SCHED_MC = 2
CPU Undervolting = -50mV
CPU Step Count = 18 (All available)
Default CPU Governor = pegasusq
Default CPU Scheduler = sio
Scaling Max Freq = 1000Mhz
Scaling Min Freq = 200Mhz

SETTINGS (GPU freq):
GPU Freq Step 1 = 66Mhz
GPU Freq Step 2 = 133Mhz
GPU Freq Step 3 = 267Mhz

SETTINGS (GPU voltages):
GPU Voltage Level 1 = 800mV
GPU Voltage Level 2 = 850mV
GPU Voltage Level 3 = 900mV

SETTINGS (other):
Screen settings stock.
Vibration intensity = 2
Touchmovesensitivity =5 pixel
Min_BL =30
Min_Gamma=1
Max_Gamma=24


Other setting without undevolting.

SETTINGS (CPU):
GENTLE_FAIR_SLEEPERS = On
ARCH_POWER = On
CPU Hotplug = Default
CPU IDLE Mode = AFTR + LPA (default)
Smooth Scaling Level = 800Mhz
SCHED_MC = 2
CPU Undervolting = No undervolting
CPU Step Count = 18 (All available)
Default CPU Governor = pegasusq
Default CPU Scheduler = sio
Scaling Max Freq = 1000Mhz
Scaling Min Freq = 100Mhz

SETTINGS (GPU freq):
GPU Freq Step 1 = 40Mhz
GPU Freq Step 2 = 133Mhz
GPU Freq Step 3 = 267Mhz

SETTINGS (GPU voltages):
GPU Voltage Level 1 = 800mV
GPU Voltage Level 2 = 850mV
GPU Voltage Level 3 = 900mV

SETTINGS (other):

Screen settings stock.
Vibration intensity = 3
Touchmovesensitivity =5 pixel
Min_BL =40
Min_Gamma=0
Max_Gamma=24




Please note Geko95gek has three different settings and it should work if you are in the mood for an adventure.


Download Links.
NeatRom Lite
Siyah Kernal
ExTweaks (Google play Store)

Useful sources
Geko95gek http://forum.xda-developers.com/showpost.php?p=26755476&postcount=850
Droidphile's article http://forum.xda-developers.com/showthread.php?t=1369817


Special thanks and credit to the following:
Sale (awesome rom and excellent support)
Gokhamoral (great kernal)
Geko95gek (examples of tweaks)
Droidphile (Write up of governors).


Sample shorts of my usage.

351g65u.jpg



2di0vhl.png



14e4cd1.png
 
Last edited:

red.hat

Senior Member
May 27, 2012
591
859
New York city
My last post on battery and consumption using the latest NeatRom Lite with Siyah's kernel was based on my extended battery (2000mAh). This time around, I decided to try it with stock battery. As suspected the results were just as amazing. I want to point out that I maintained the same tweaks ad settings. Once again Sale has created a clean and exciting ROM.

6be3fb86-1bcd-1aa0.jpg


Before sun raise

6be3fb86-1bf1-2d52.jpg


6be3fb86-1c68-0b3e.jpg


6be3fb86-1c89-342b.jpg




Am sure I could have gotten another 5 hours or more with this ROM. Great combination NeatRom Lite and Siyah's Kernel



Sent from my GT-I9100 using Tapatalk 2
 

tameracingdriver

Senior Member
Jul 5, 2010
588
58
Newcastle
Interesting post but I must say that on mine the kernel included with neatrom is at least as good for me as an all rounder (balance between performance and battery) as I've yet found.

Not trying to rubbish the results btw, but for me I've followed a lot of these guides for different kernels and at best the difference is small and at worst introduces bugs.

Happy with neat from though very good!
 

dankeanke

Senior Member
Jul 30, 2009
233
252
I was always using NEAT Rom without any UC/OC modifications and it was already GREAT.
Inspired from your Post I decided to give undervolting a try...

I have latest NEAT Rom UHLPS Lite and use the Settings with undevolting;
the absolute great batterylife has increased over again! Wuha!
Also the performance is nearly the same as before (feels exactly the same as before!)

So in my opinion the combination of NEAT Rom, Siyah Kernel and your settings for undervolting are amazing!

Thanks Sale for this absolute superb Rom!
Thanks Gokhamoral for the great Kernel!
and thank you red.hat for the inspiration and this lovely guide for underclocking!

My experience:
Tweaked settings, charged battery to 100%, used it now for 26 hours, made some calls (about 30min), wrote some sms,
used Wifi for about 35min for surfing and the battery is still at 89% !!!
 

Many40

Senior Member
Nov 25, 2009
5,598
17,883
Battery saving tweaks

Thanks to red.hat's hospitality, you can find on this thread my battery friendly configs. They are based on NeatromLite stock based roms and Siyah custom kernels. Exceptionally I prepare tweaks also for other kernels (eg philz) when Siyah kernels are not available/ready for particular Neatrom releases.
Beneath you can find my work which I've done so far.

MANY40'S BATTERY FRIENDLY CONFIGS COLLECTION:

What is the battery friendly config? In short, it's a set of battery saving tweaks which can be divided into two groups: kernel tweaks and rom tweaks.

1. Kernel's tweaks (scripts + Stweaks profile - they tweak some kernel's tunables like CPU/GPU freq, CPU/GPU voltages, CPU governor and other parameters)

2. Rom's tweaks (OS sound/vibration/screen/motion/animation/comms/location/sync etc settings + freezed system apps list + wakelocks advices + some others)

DISCLAIMER:

A. Everybody can try it but not necessarily it will work for everybody like it works for me.
B. Remember that our phones' hardware is not 100% identical.
C. Make nandroid backup before trying this
D. If any tweak causes freezes, restore your nandroid backup.


I. SIYAH KERNELS:

1. <Siyah 6.0 beta5 + Neatrom 4.X JB 4.1.2>

2. <Siyah 6.0 beta4 + Neatrom 4.X JB 4.1.2>

3. <Siyah 5.0.1 + Neatrom ICS 4.0.3/4.0.4>

4. <Siyah 4.1.5 + Neatrom ICS 4.0.3/4.0.4>


II. PHILZ KERNELS:

1. <PhilZ-CWM6 4.X + Neatrom 4.X JB 4.1.2>


Enjoy!
 
Last edited:

red.hat

Senior Member
May 27, 2012
591
859
New York city
Thanks, great proposal. I am not new on this subject doing similar things for myself but if you don't mind I would have one question (I couldn't find the answer up to now) and one remark:
Question: You posted two different settings: first one with min FRQ 200 MHz and second one 100 MHz. Did you do that intentionally? Do you know what freq is better for battery saving? I red somewhere that on 100MHz phone consumes more power than on 200MHz. So according to your konwlegde/exeprience what is better - I am using 100MHz as you can see from my signature.

Both frequencies were tried to see the benefits of one over the other. I didn't find much difference. Through my research I found some people prefer 100 MHz and others 200MHz. How is 200MHz working out for you.
Remark: Here are my considerations about SHED_MC. I am not using this option (SHED_MC=0) because in my opinion if CPU hotplug is set, enabling SHED_MC doesn't make really sense (Sched_mc aims to schedule tasks between multiple cores in the CPU and if sched_mc = 2 = load balancing, then to make sense dual core shoud be set instead of hotplugging. But it would rather help to utilize both cores more effectively than save more battery. Moreover then AFTR+LPA couldn't be hit when 2nd core is on). The same opinion shares droidphille who gave me short answer on that in his thread.
This is theory, but maybe real life brings something different? Have you tested both?
Regards

I haven't tested both, but you have raised a good question and I'll have to look into it. Siyah's default setting for battery optimization has SCH_, also set at 0. However a couple of examples I saw on xda has it at 2. I'll make changes tomorrow and set how that goes. Could you share droidphille reaponse

Sent from my GT-I9100 using Tapatalk 2
 

Many40

Senior Member
Nov 25, 2009
5,598
17,883
Both frequencies were tried to see the benefits of one over the other. I didn't find much difference. Through my research I found some people prefer 100 MHz and others 200MHz. How is 200MHz working out for you.

Tested both (but on sammy stock rom) and also didn't notice any difference.

I haven't tested both, but you have raised a good question and I'll have to look into it. Siyah's default setting for battery optimization has SCH_, also set at 0. However a couple of examples I saw on xda has it at 2. I'll make changes tomorrow and set how that goes. Could you share droidphille reaponse

Sent from my GT-I9100 using Tapatalk 2

Yes, of course. I started thinking about that after red geko95gek's MagicConfig. He also proposed SCHED_MC=2. So I asked him about the reason but he didn't respond so decided to ask droidphille. This was his answer:

"@Many40
Let's say enabling sched_mc on Galaxy S2 Exynos 4210 is completely pointless. Hotplugging is well handled by stand hotplug/legacy hotplug. Two logics trying to do same thing is always bad. It's like having two antivirus software on PC or like freq_step and smooth scaling trying to do similar stuff in ondemand based governors.

Sched_mc = 1 = Assymmetrical loading of cores. This can hinder race to idle (talking about AFTR here).
sched_mc = 2 = load balancing. When hotplugging knows when and how to hotplug In and Out second core, there's no need of another logic to do the same and cause conflicts. If you're using forced dual core mode, this may have some benefits. I never tested myself.

conclusion: let shed_mc=0 as long as you're using hotplugging. If you're on dual core mode (remember aftr/lpa can not be hit when second core is On), try sched_mc=2. However i don't think load balancing can save battery. It may utilize both cores effectively."
 

tameracingdriver

Senior Member
Jul 5, 2010
588
58
Newcastle
I've done a few tests on the NEAT ROM with stock kernel and with Siyah and on the settings given here.

I wouldn't recommend these settings if you ever want to play games, the Antutu benchmark froze at the graphical portion but did finish the benchmark with a overall score of about half of what it did with the stock kernel (6226 v 3489). Quadrant wouldn't even finish.

Even when I reset Siyah back to its own defaults, the benchmarks are coming in at around 10 - 15% slower than stock.

They may be good for saving battery but to me its like having a Porsche, and then de-tuning it to half the power to save petrol.

Not trolling, just trying to offer another perspective.
 

red.hat

Senior Member
May 27, 2012
591
859
New York city
I've done a few tests on the NEAT ROM with stock kernel and with Siyah and on the settings given here.

I wouldn't recommend these settings if you ever want to play games, the Antutu benchmark froze at the graphical portion but did finish the benchmark with a overall score of about half of what it did with the stock kernel (6226 v 3489). Quadrant wouldn't even finish.

Even when I reset Siyah back to its own defaults, the benchmarks are coming in at around 10 - 15% slower than stock.

They may be good for saving battery but to me its like having a Porsche, and then de-tuning it to half the power to save petrol.

Not trolling, just trying to offer another perspective.

Yes this is a battery saving setting not for gaming. I used these settings because I can't charge my battery all day so I am using this. However, I if you need performance you can change the i/o scheduler to crq, no scaling of leave at default which 1200 MHz or just use Siyah's kernel performance option in kernel settings.

There are times when driving a Porsche requires a slow speed.


Sent from my GT-I9100 using Tapatalk 2
 

PakkaZA

Senior Member
Mar 3, 2012
132
67
I've flashed Neatrom with Siyah kernel last night. Did a full charge and I am now monitoring my battery usage.

During the night I've lost 2% charge with wifi and data switched off, which i think is very good.

But now, after a total of just over 12h, the battery sits at 42%, of which the screen was on for 1h 40min and wifi for about six hours.

Is this the normal usage, or at least expected? Or is there still plenty of room for improvement?

By the way, I can't undervolt my CPU to -50mV - it causes freezes. -25 seems okay.
 
  • Like
Reactions: ioputielmomo

red.hat

Senior Member
May 27, 2012
591
859
New York city
I've flashed Neatrom with Siyah kernel last night. Did a full charge and I am now monitoring my battery usage.

During the night I've lost 2% charge with wifi and data switched off, which i think is very good.

But now, after a total of just over 12h, the battery sits at 42%, of which the screen was on for 1h 40min and wifi for about six hours.

Is this the normal usage, or at least expected? Or is there still plenty of room for improvement?

By the way, I can't undervolt my CPU to -50mV - it causes freezes. -25 seems okay.

Did you use the same setting as above. I have mine on without Wi-Fi and through normal use I am at 97%.

Give thanks if I have helped you. Sent via Tapatalk on my S2- i9100
 

miedy12

Senior Member
Jan 11, 2011
237
3
thanks yes ive downloaded the latest rom posted on july 1/ the kernel is siyah kernel 3.2.2 so it is ok for this? and then i just going to set your undevolt or flash the new 3.3.3?
 

miedy12

Senior Member
Jan 11, 2011
237
3
Scaling Max Freq = 1000Mhz so this is 1000000mhz
Scaling Min Freq = 200Mhz and this is 200000
i am correct?

hi im confused there all i can see is the minimum og 100000 and in min frequency its 20000? it is correct? help also. in sch_med i cant choose to put it on 2 help. and also i set my kernel in cmw at battery
 
Last edited:

red.hat

Senior Member
May 27, 2012
591
859
New York city
Scaling Max Freq = 1000Mhz so this is 1000000mhz
Scaling Min Freq = 200Mhz and this is 200000
i am correct?

hi im confused there all i can see is the minimum og 100000 and in min frequency its 20000? it is correct? help also. in sch_med i cant choose to put it on 2 help. and also i set my kernel in cmw at battery

The min Freq is 100MHz and the max is 1000Mhz. The sch_med and hotplug perform the same function so you can leave at 0. But if you want to you can slide it to 2.

Give thanks if I have helped you. Sent via Tapatalk on my S2- i9100
 

Top Liked Posts

  • There are no posts matching your filters.
  • 57
    Battery friendly config Neatrom 4.X + Siyah6.0 beta5 ver 1.03

    Here you are a next release of my battery friendly config. This time for NeatromLite4.X JB and new Siyah 6.0 beta 5. I had to update my previous config due to the fact that Gokhanmoral changed previous Siyah6.0 kernel (beta 4) significantly. The main changes he made which influence previous tweaks are:
    - limited number of frequency steps (from 16 to 6)
    - fixed bug related to not keeping after reboot (previously set in STweaks app) governor and I/O scheduler.

    My battery results are a little worse than on Siyah6.0 beta4 (but still not so bad :)). This could be caused by following reasons:
    - IMO, having less frequency steps, a governor scales CPU less efficiently than with more steps
    - during battery test on the new kernel my average screen brightness level was Medium/90%, while before (for previous kernel) it was Dark/84%.

    Now I'm gonna repeat again what I wrote last time:
    Remember, this setup for sure is not recommended for those who don't care about their battery life, preferring 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 useful 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_Siyah6b5_Many40.zip" archive with "Stweaks_Siyah6b5_CWM.zip"
    flashable file. Now it's no need to replace STweaks profile manually
    [B]Version 1.0.2:[/B]
    - Added all scripts+Stweaks profile in one file
     (Many40_Battery_tweaks_Siyah6b5_CWM.zip)
    - Added restorer file (Restorer_Siyah6b5_CWM.zip)
    - Added additional command into "pegasusqsio" script in order to keep
     "sio" I/O scheduler after reboot
    - Adjusted VM tweaks in "Writecache" script to less aggressive values.
     Previous ones were too laggy.
    [B]Version 1.03:[/B]
    - 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.3 XWLSD (however tweaks are universal for all Neatroms 4.X) - big thanks to Salesale
    - Kernel: Siyah6.0 beta 5 - 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_Siyah6b5_CWM.zip" file from CWM recovery.

    A. STweaks settings: in attached Stweaks_Siyah6b5_CWM.zip (flash attached "Stweaks_Siyah6b5_CWM.zip" file from CWM recovery) - inspired by Droidphille's great thread
    - CPU UC/UV , made by STweaks:
    Code:
    [B]MHz/mV:[/B]
    200/825
    500/950
    800/1000
    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_Siyah6b5_CWM.zip" file from CWM recovery) - inspired by Droidphille:
    Code:
    #!/system/bin/sh
    su
    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 "200000" > /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 "800000" > /sys/devices/system/cpu/cpufreq/pegasusq/hotplug_freq_1_1
    echo "500000" > /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
    sleep 45
    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 from attached "Pegasusq_Siyah6b5_CWM.zip", together with pegasusq governor. If you prefer other schedulers you can also try "row" or "noop".

    D. Touch frequency limited from 500MHz to 200MHz - by init.d script (flash attached "TouchFreq_Siyah6b5_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 5

    E. CFS tweak: Thunderbolt: it sets specific multitasking behaviour of processor's scheduler (flash attached "CFStweaks_Siyah6b5_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_Siyah6b5_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_Siyah6b5_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

    - frozen (optionally removed) some useless system apps (according to individual needs - do it carefully, remove only if you know what you are doing).
    This is my list of removed apps:

    Picture1.jpgPicture2.jpgPicture3.jpgPicture4.jpg

    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 operators - chosen specific operator (no "automatic selection")
    - 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 - OFF (Turn 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.
    Remark: It seems that FD has less importance than on older roms because many people report that no matter whether mobile network supports FD or not, having it turned OFF - has no significant difference.
    Summary - turn it OFF and observe wakelocks, if nothing happens - keep it like that.

    - power saving - OFF
    - sounds / 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
    - developer options / Transition animation scale - Animation is OFF
    - motion / motion activation - OFF

    Also pls see attached screenshots of my battery statistics from the test.
    Remark: I used my phone not so much intesively (mobile data/browsing on xda with Tapatalk app/internet, some usage of sms, a little bit of phone calls etc):

    A. General results:(made on version 1.00)

    Battery 1650mAh:
    - On battery time (100% - 2%): 1d 8h
    - Screen on time: 6h 15min
    - Voice calls: 15min
    - Most of the time when screen ON - mobile data ON (3G)
    - Average screen brightness - Medium: 90% time / 93% power

    B. Samsung built-in Battery monitor:

    BBS1.jpgBBS2.jpg

    C. GSam Battery Monitor Pro:

    GSam.jpg

    Enjoy

    PS If you have any remarks/suggestions how to improve it, please let me know
    52
    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:

    Picturea.jpgPictureb.jpgPicturec.jpgPictured.jpg

    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:

    Picture4.jpgPicture5.jpg

    C. GSam Battery Monitor Pro:

    Picture7.jpgPicture8.jpg

    D. Voltage Control Extreme (CPU history):

    Picture6.jpg

    Enjoy

    PS If you have any remarks/suggestions how to improve it, please let me know.
    52
    Battery friendly config Neatrom 4.X + PhilZ-CWM6 ver 1.01

    Finally, after testing battery life on a new leaked JB 4.1.2 rom I reached a stage which in my opinion is not worse but even a little bit better than I reached on ICS with custom kernel. Having in mind that PhilZ-CWM6 is only repacked stock kernel which limits a lot tweaking capabilities - it looks very promising.
    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.


    My config is as follows:

    - Battery: 2000mAh battery (sammy) / primary, 1650mAh / secondary (results for both batteries attached at the end of this post)
    - Rom: NeatromLite 4.0 XXLSJ +- big thanks to Salesale
    - Kernel: PhilZ-CWM6 4.X - big thanks to Phil3759

    Changelog:
    Code:
    Version 1.01:
    - added 2nd ver of Ondemand script for better responsiveness
    - added SetCPU profile file for screen of and battery <= 10%
    - added legacy hotplug tweaks
    1. KERNEL TWEAKS:
    - CPU UC : Max. scaling frequency limited to 1000 MHz, tweaked by init.d script (flash attached "Maxfreq-Neatrom-CWM.zip" file from CWM recovery):
    Code:
    /system/bin/sh
    su
    sleep 30
    echo "1000000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

    - SetCPU profiles: Additionally made "Screen OFF" and "Battery <=10%" profiles for SetCPU (it limits freq scaling range to 200 - 500 MHz when screen goes off and to 200 - 800 MHz when battery level is equal/lower than 10%)
    (copy attached "SetCPU_battery_screenoff_prof.setcpu.zip" file to /sdcard (root of internal memory), unzip it, go to SetCPU app/profiles, press left touch button, use restore option):
    If someone likes more aggressive UC edit init.d script and change "1000000" value to "800000" or check "settings/Power savings/CPU power saving". It will limit Max scaling freq to 800 MHz. If this is checked - don't flash Maxfreq init.d script.
    Due to the fact that scaling frequencies/governor/scheduler are set by init.d script, in SetCPU enable (check) only following option:
    - Profiles/enable profiles; options "set on boot" leave unchecked.

    - ondemand governor tweaked by init.d script (flash attached "Ondemand-Neatrom-CWM.zip" file from CWM recovery) - inspired by Droidphille:
    Code:
    /sbin/busybox sh
    su
    sleep 30
    echo "95" > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
    echo "120000" > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
    echo "1" > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
    echo "5" > /sys/devices/system/cpu/cpufreq/ondemand/down_differential
    echo "20" > /sys/devices/system/cpu/cpufreq/ondemand/freq_step

    If you think your phone is less responsive - increase freq_step parameter to "30" by editing /etc/init.d/Ondemand (remember to set again proper permissions to the saved file: 0755) or flash attached file "Ondemand30-Neatrom-CWM.zip" from CWM recovery.

    - Noop I/O scheduler (in my opinion performs better for our flash drives than default cfq) set by init.d script (flash attached "Noop-Neatrom-CWM.zip" file from CWM recovery)
    Code:
    #!/system/bin/sh
    sleep 20
    echo "noop" > /sys/block/mmcblk0/queue/scheduler

    - Legacy Hotplug tweak: tweaks legacy hotplug logic more aggressive to activate 2nd CPU core less often (keeping 1st core on a little higher load) than on default settings. Tweaked by init.d script (flash attached "Hotplug-Neatrom-CWM.zip" file from CWM recovery)
    Code:
    #!/system/bin/sh
    echo "70" > /sys/module/pm_hotplug/parameters/loadh
    echo "25" > /sys/module/pm_hotplug/parameters/loadl
    echo "200" > /sys/module/pm_hotplug/parameters/rate

    - VM tweak: virtual memory tweak for battery life (flash attached "BatteryVMtweak-Neatrom-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

    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:

    Picture1.jpgPicture2.jpgPicture3.jpg

    - 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.
    - 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).
    - 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 - ON (CPU power saving - OFF, screen power saving - ON, background colour - ON (OFF - if you don't like blue stock browser background)
    - sounds / system - all options OFF
    - 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 from the test.
    Remark: I used my phone not so much intesively (mobile data/browsing on xda with XDA Premium app/internet, a little use of WiFi, sms, some phone calls etc):
    a) Battery 2000mAh:
    - On battery time (100% - 6%): 3d 15h
    - Screen on time: 5h 31min
    - Voice calls: 32min

    Screenshot_2012-12-04-08-02-46.jpgScreenshot_2012-12-04-08-03-05.jpgScreenshot_2012-12-04-08-03-20.jpgScreenshot_2012-12-04-08-03-43.jpg

    b) Battery 1650mAh:
    - On battery time (100% - 6%): 2d 10h
    - Screen on time: 5h 5min
    - Voice calls: 32min

    Screenshot_2012-12-09-16-10-37.jpgScreenshot_2012-12-09-16-10-46.jpgScreenshot_2012-12-09-16-11-02.jpgScreenshot_2012-12-09-16-11-12.jpg

    Enjoy

    PS If you have any remarks/suggestions how to improve it, please let me know.
    44
    Disclaimer alert: I am in no way responsible for any damage inquired while performing any of the changes listed below. If you are not comfortable with tweaking your device please feel free to use built in option in Siyah's Kernal. This is just an option and it is something I have tried on my phone with success. I am not using a stock battery, but rather a 2000MAH.

    I have NeatRom Lite V1.1 + Siyah Kernal (Slick Sale) installed on my phone. This was created by Sale (his work on this rom is increadible). Samsung's stock kernal has been replaced by Siyah's kernal SGS2v.3.3.2. This version has touch CWM which makes flashing fun. To tweak the kernal, I installed ExTweaks (from the market. Extweaks has the option for battery, performance and defualt settings (these are enabled after a donation). This same settings can be performed in recovery. Siyah has the kernal tweaked for optimization for battery and performance. You can select this in recovery (scrolling down to kernal specific options and the choosing either battery or performance) and it will be impleted during boot up.

    However if you feel bold you can tweak the kernal using Ex Tweaks. These are my settings below ( they are by no means a rule of thumb)


    Note. I have noticed that the screen consumes most of the power from the battery. If you are able to reduce your screen brightness to about 40% instead of being at automatic, you will get additional time on your phone.

    SETTINGS (CPU):
    GENTLE_FAIR_SLEEPERS = On
    ARCH_POWER = On
    CPU Hotplug = Default
    CPU IDLE Mode = AFTR + LPA (default)
    Smooth Scaling Level = 800Mhz
    SCHED_MC = 2
    CPU Undervolting = -50mV
    CPU Step Count = 18 (All available)
    Default CPU Governor = pegasusq
    Default CPU Scheduler = sio
    Scaling Max Freq = 1000Mhz
    Scaling Min Freq = 200Mhz

    SETTINGS (GPU freq):
    GPU Freq Step 1 = 66Mhz
    GPU Freq Step 2 = 133Mhz
    GPU Freq Step 3 = 267Mhz

    SETTINGS (GPU voltages):
    GPU Voltage Level 1 = 800mV
    GPU Voltage Level 2 = 850mV
    GPU Voltage Level 3 = 900mV

    SETTINGS (other):
    Screen settings stock.
    Vibration intensity = 2
    Touchmovesensitivity =5 pixel
    Min_BL =30
    Min_Gamma=1
    Max_Gamma=24


    Other setting without undevolting.

    SETTINGS (CPU):
    GENTLE_FAIR_SLEEPERS = On
    ARCH_POWER = On
    CPU Hotplug = Default
    CPU IDLE Mode = AFTR + LPA (default)
    Smooth Scaling Level = 800Mhz
    SCHED_MC = 2
    CPU Undervolting = No undervolting
    CPU Step Count = 18 (All available)
    Default CPU Governor = pegasusq
    Default CPU Scheduler = sio
    Scaling Max Freq = 1000Mhz
    Scaling Min Freq = 100Mhz

    SETTINGS (GPU freq):
    GPU Freq Step 1 = 40Mhz
    GPU Freq Step 2 = 133Mhz
    GPU Freq Step 3 = 267Mhz

    SETTINGS (GPU voltages):
    GPU Voltage Level 1 = 800mV
    GPU Voltage Level 2 = 850mV
    GPU Voltage Level 3 = 900mV

    SETTINGS (other):

    Screen settings stock.
    Vibration intensity = 3
    Touchmovesensitivity =5 pixel
    Min_BL =40
    Min_Gamma=0
    Max_Gamma=24




    Please note Geko95gek has three different settings and it should work if you are in the mood for an adventure.


    Download Links.
    NeatRom Lite
    Siyah Kernal
    ExTweaks (Google play Store)

    Useful sources
    Geko95gek http://forum.xda-developers.com/showpost.php?p=26755476&postcount=850
    Droidphile's article http://forum.xda-developers.com/showthread.php?t=1369817


    Special thanks and credit to the following:
    Sale (awesome rom and excellent support)
    Gokhamoral (great kernal)
    Geko95gek (examples of tweaks)
    Droidphile (Write up of governors).


    Sample shorts of my usage.

    351g65u.jpg



    2di0vhl.png



    14e4cd1.png
    29
    Battery saving tweaks

    Thanks to red.hat's hospitality, you can find on this thread my battery friendly configs. They are based on NeatromLite stock based roms and Siyah custom kernels. Exceptionally I prepare tweaks also for other kernels (eg philz) when Siyah kernels are not available/ready for particular Neatrom releases.
    Beneath you can find my work which I've done so far.

    MANY40'S BATTERY FRIENDLY CONFIGS COLLECTION:

    What is the battery friendly config? In short, it's a set of battery saving tweaks which can be divided into two groups: kernel tweaks and rom tweaks.

    1. Kernel's tweaks (scripts + Stweaks profile - they tweak some kernel's tunables like CPU/GPU freq, CPU/GPU voltages, CPU governor and other parameters)

    2. Rom's tweaks (OS sound/vibration/screen/motion/animation/comms/location/sync etc settings + freezed system apps list + wakelocks advices + some others)

    DISCLAIMER:

    A. Everybody can try it but not necessarily it will work for everybody like it works for me.
    B. Remember that our phones' hardware is not 100% identical.
    C. Make nandroid backup before trying this
    D. If any tweak causes freezes, restore your nandroid backup.


    I. SIYAH KERNELS:

    1. <Siyah 6.0 beta5 + Neatrom 4.X JB 4.1.2>

    2. <Siyah 6.0 beta4 + Neatrom 4.X JB 4.1.2>

    3. <Siyah 5.0.1 + Neatrom ICS 4.0.3/4.0.4>

    4. <Siyah 4.1.5 + Neatrom ICS 4.0.3/4.0.4>


    II. PHILZ KERNELS:

    1. <PhilZ-CWM6 4.X + Neatrom 4.X JB 4.1.2>


    Enjoy!