Changing kernel voltages
by Jake on 4/04/2011I had a request to provide a tutorial on changing kernel voltages. Although in Govnah it’s pretty straight forward, there’s more to it than swapping some numbers. I have found that voltages are almost directly related to battery life and load average. Load average is an algorithm used by Linux to determine the processor’s current percentage of work. Read more about load average here.
When your phone is idling, your battery drain shouldn’t be anything over -10mA(check this using Battery Monitor or leave Govnah polling screen off.) There’s a slight trial and error process to this, but you’ll want to be VERY careful, or else you’ll have to doctor your phone.
To change voltages in Govnah, tap Profile > Advanced Settings > CPU Frequency > Override Parameters: CPU or System Voltage. I would recommend keeping the default voltages of the kernel, then changing them one step at a time, either up or down. You’ll want to base most of this off of your load average. The lower the load average, the better. If your load average is above ~6.00 while idling, you need to take your voltages in the opposite direction. You want the lowest possible load average while still getting the performance you want. if your phone is going up to 10.00 while at 1 GHz and a lot of usage, that’s okay. A method to lower the load average is to turn off any unnecessary radios(Bluetooth/GPS) or polling applications(Such as Email, Facebook, or Weather).
Each governor has a different way of handling the frequencies and voltages.
- Performance: Stays at the highest set frequency no matter what, not changing voltages.
- Powersave: Stays at the lowest set frequency no matter what, not changing voltages.
- Ondemand: Changes frequency based on load instantly, changing voltages with it.
- Conservative: Changes frequencies based on load slowly, changing voltages with it.
- Userspace: Stays on a set frequency, not changing frequency or voltage based on load.
- vdemand: Stays at the highest set frequency no matter what, changing voltages based on load.
- Screenstate: Changes frequency based on if the screen is on or off, changing voltages between those 2 frequencies.
- Screenstate v2: Changes frequency based on if screen is on or off, changing voltages based on load(You can also set a vdemand factor, which is how much scaling you will allow the kernel to set voltages to).
(Thanks wusaint)
Ultimately, the governor choice is how you should approach your voltage scaling. Each user is different in how they use their phone, so that’s why you have these options to help you decide. Voltages will help you gain better battery life, so if you feel that you’re losing battery for no reason, it’s probably this. Good Luck!
Please remember, by using any overclocking kernel, you take full responsibility for any harm that may come to your device.




There are 10 comments in this article: