[ROOT] Using SetCPU + Perflock Disabler to Save Battery, Underclock
HTC locked their stock kernel with a "perflock" to prevent users from underclocking the kernel. Well, good news is that a new function in the SetCPU app will now allow you to underclock your Evo and get you a real, tested increase in battery life.
According to my tests, my Evo with the screen off should theoretically get a 64 hour battery life!
Know what you're doing? Short version:
Get latest SetCPU (version at least 2.0.0) and use Menu -> Perflock Disabler in the Main tab to enable underclocking.
Don't know what I'm talking about?
Good, follow this tutorial:
- You need to have ROOT. Unrevoked root method is confirmed to work, and so is Toast's root method. Usually I wouldn't recommend using Unrevoked, but it's just so fast to set up, and perfect for those who have no clue what ROOT means.
- Buy SetCPU from the market, or download it from XDA forums for free. Please support the developer of this incredible app! The version must be at least 2.0.0
- Be on the STOCK kernel. If you're on a custom kernel, chances are that perflock has already been disabled, and you won't need this tutorial to underclock. Some custom ROMs come with the stock kernel (like Fresh 0.5.3) and some don't (like Baked Snack .9.6)
Alright, got the prereqs down? Lets start this.
- Open SetCPU and give it root permissions as necessary. As a control, go into the Info tab and do the Long Bench a few times. You should get around 1000ms.
- Go to the Main tab, hit MENU, hit Perflock Disabler (read the warning!), and hit Disable Perflock Beta: May crash!
- It will work for a while, and then say it's successful. You can then click the X on the top right to exit the Perflock Disabler.
- Go into the Main tab and drag Max: all the way down to 245000 (245Mhz). Make sure the green xxx max xxx min label above the sliders show 245 for both and also disable any Profiles you've set. Go to Info tab, then hit Long Bench again. This time you'll get something ridiculous like 5000ms, meaning that the Perflock Disabler has worked!
- Change your settings Profile tab to something similar to my settings. You can mess around with the Battery < xx% profiles to fit your needs. Your exact Profile priorities do not matter, it's only important that some have HIGHER priority than others. On the Main tab, set Max all the way to the right (998400) and Min all the way to the left (245000), Scaling to ondemand, and check Set on Boot. Do not check Set on Boot yet if you're the super careful kind. You can check it later when you've tested that your phone isn't crashing
Congratulations you're now able to underclock your Evo!
The only applicable parts is after the charging finishes (after the solid green bar ends)
Before Perflock Disabler:
After Perflock Disabler:
See that little dip at the end? That's when I was turning the screen on and messing with the phone for this tutorial. What a difference.
What is Perflock Disabler?
- Yes, not everything is happy and pretty. As the Perflock Disabler warning says, you HAVE to apply the Perflock Disabler on every boot. If you forget, then your SetCPU settings will have no effect on the Evo. Install a custom kernel that already has Perflock disabled if you do not want to do this on every boot.
- Also, since this clocks the Evo down when the screen is off, you may get a slight (super slight!) delay when you turn the screen back on. This is because the profile changes from Screen Off to Battery < xx% and SetCPU needs to clock the CPU from 245mhz to 998mhz.
HTC added a "perflock" in their stock kernels to prevent over/underclocking. SetCPU's Perflock Disabler, like its name implies, disables this restriction.
How come your screenshots show that you can go down as high as 1.19Ghz and as low as 128Mhz?
I'm using this custom kernel
Will this work with OTA update xxx.xxx.xxx.xxx?
Yes, as long as you have root, and don't lose it when you update (do your research!
) then this will work.
What are your settings?
Wifi ON, Bluetooth OFF, GPS ON, Mobile network Data OFF (ATT contract with dumbphone still not over), Screen Timeout 1MIN, Brightness AUTO, Advanced Task Killer Pro set to SAFE kill tasks when screen is off.
What is that cool looking battery monitoring app?
, paid on the market. A free alternative is JuicePlotter
, also on the market. Screenshots were taken with Drocap2
Software Engineer working on Android at Google. In my spare time, I hack on projects like [APP][2.1+] StandOut - Create Floating Apps