Undervolting with Incredicontrol
A month or so ago I had talked about a certain project I had taken on. I was determined to find the lowest stable undervolted settings for each specific cpu frequency in an effort to further maximize the phone’s battery life.
I began by setting my governor on the latest Incredikernel to performance, so that it would run at the maximum setting. I then set both the minimum and maximum governor frequencies identically. This would ensure that my system was only running at that exact frequency. Then, I ran a cpu stress test, along with Pandora actively streaming music, all the while either playing Angry Birds or jumping in and out of forum threads as a means to put the maximum demand on the cpu. If after a few minutes of this the phone continued to respond normally, I would then undervolt that particular frequency’s Max volt by -25 (save) within Incredicontrol. I continued with this process testing each undervolt dropping every few minutes until my phone became “unstable”. If I started getting app force closes, screen freezes, reboots, or an overall system lock up, I would know that I had undervolted too far. I did this testing with every frequency available and compiled a list of those specific undervolts.
Now, knowing that everyone’s Incredible is different, I added an additional +50 to my currently stable undervolt settings for the volt maximum’s to ensure that most (if not every user) would be able to benefit from my hard work without complications. If you feel like a dare devil however and want to further drop those max settings more, by all means you’re welcome to. However, I can not guarantee that you won’t have problems either immediately or hours later..
I do know that Chad compiled a max script himself but I do not know how he went about testing the frequencies. I do know that my phone was unable to handle his aggressive-script settings at the time. This is a modified version of one of his scripts.
If you currently use Incredicontrol, you will need to select the “Restore Defaults” button at the very bottom of the HAVS section and reboot your phone. This will eliminate any current “at boot” settings that will prevent my script from making the proper settings. After the reboot, go into Incredicontrol just to be sure the defaults have been restored. Now, reboot into recovery and flash the script. That’s it! I hope this works for you. Let me know what you think and if you notice any power saving difference. Since we’re dealing with a literal power control, there will be a power saving difference whether it be immediately noticeable or long term.
Please note that you are not required to run the Incredikernel for Incredicontrol to work. You just need to be on a Kernel that supports HAVS.
Thank you Chad for creating Incredicontrol and I hope at some point that you are given enough free time to further improve this excellent app.
EDIT: Some users are experiencing boot loops when trying to flash my script so since Incredicontrol IS a user controllable app, I can just post the frequencies if people are having problems with the script.
Here they are:
Freq.__ Min Max
128000 700 875
245000 700 900
384000 700 925
422400 700 950
460800 700 950
499200 700 975
537600 700 1000
576000 700 1025
614400 700 1025
652800 700 1050
691200 700 1075
729600 700 1100
768000 700 1125
806400 700 1150
844800 700 1175
883200 700 1175
921600 700 1200
960000 700 1200
998400 700 1225
1036800 700 1250
1075200 700 1275
1113600 700 1300