[ROOT] Using SetCPU + Perflock Disabler to Save Battery, Underclock

pingpongboss

Well-known member
Apr 20, 2010
130
2
0
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!

CAP201007081101.jpg


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:

Prereqs:
  • 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.

HOWTO:
  1. 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.
  2. Go to the Main tab, hit MENU, hit Perflock Disabler (read the warning!), and hit Disable Perflock Beta: May crash!
  3. 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.
  4. 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!
  5. 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
    CAP201007110008.jpg

    The last entry is Battery < 100%, set at lowest priority, with MAX as the highest value, MIN as the lowest value, and scaling as ondemand.

Congratulations you're now able to underclock your Evo!

Comparison:
The only applicable parts is after the charging finishes (after the solid green bar ends)

Before Perflock Disabler:
CAP201006050021.png


After Perflock Disabler:
CAP201007081156.jpg

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.

Disadvantages:
  • 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.

FAQ:
What is Perflock Disabler?
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?
That's SystemPanel, paid on the market. A free alternative is JuicePlotter, also on the market. Screenshots were taken with Drocap2.
 
Last edited:
  • Like
Reactions: VKGS4LFE and syphex
Hmmm, what does Perflock Disabler actually do? I don't understand how it can account for such a significant difference in the slope. Isn't it basically doing the same thing that the Overclock Widget does (or what it's meant to do)?
 
Should probly go to the root section.,...

edit: roms and hacks section

http://forum.androidcentral.com/htc-evo-4g-roms-hacks/
Ah, I thought about it at first, but then again this is something you do AFTER you've gained root, so I didn't think it belonged there. But if a mod feels like it does, then I don't mind this thread being moved.
Hmmm, what does Perflock Disabler actually do? I don't understand how it can account for such a significant difference in the slope. Isn't it basically doing the same thing that the Overclock Widget does (or what it's meant to do)?

The Disabler just removes HTC's restriction on the kernel. With Perflock enabled, you could try to set your CPU to go to 245Mhz when the screen turns off, and it would SEEM to work, but it actually wouldn't do a thing. With the disabler, you can now control the speed of the CPU completely. That's why this is a big battery saver, because we are forcing the CPU to go super duper slow whenever the screen is off.
 
I see... Now, how does this affect applications running when screen is off? Such as Pandora, Slacker, mail syncing, etc?!
 
I see... Now, how does this affect applications running when screen is off? Such as Pandora, Slacker, mail syncing, etc?!

Applications will run much slower (but you won't see an effect). For example, doing a Long Benchmark and turning off the screen will get you something close to 5000ms as opposed to 1000ms. You can test this if you like.

But apps like Pandora, Slacker, syncing, etc do NOT need 1Ghz to run. 245Mhz is more than enough for your apps to finish their tasks in the background.
 
Wow, finally the real deal! System App shows the clock pegged to 245 afterwards.
 
OP,

Could you please post a pic of the lower half of your profiles screen please.

Not sure what to set the rest of mine too..

Thanks again!
 
OP,

Could you please post a pic of the lower half of your profiles screen please.

Not sure what to set the rest of mine too..

Thanks again!

Hey, there is no lower half. What you see is the whole thing. It ends with Battery < 100%. The MAX is highest, MIN is lowest, set to ondemand.
 
Not really sure why there is a need for this when the Snapdragon already auto justs Mhz to conserve battery? you can download tools to verify. pegging your processor at 245mhz while the screen is shut off, why not just turn your phone off if you are that concerned about battery life?
 
Not really sure why there is a need for this when the Snapdragon already auto justs Mhz to conserve battery? you can download tools to verify. pegging your processor at 245mhz while the screen is shut off, why not just turn your phone off if you are that concerned about battery life?

Yes, the processor does indeed auto-adjust itself. But the thing is, when your screen is off, it could still go up to 1Ghz if it detects Pandora running or if Facebook wakes up to do a sync. It happens a lot more often than you might think, and the processor is RARELY auto-adjusted to 245Mhz.

With SetCPU, you can tell the CPU to always stay at 245Mhz when the screen is off, giving you free battery life while not sacrificing anything (much)

Edit: See that 8 hour battery graph in the OP? Before, when the CPU was auto-adjusted, the battery would have gone to around 0% while it idled. Now, it's going to around 95%! Isn't that crazy
 
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.

So you don't need the original stock Kernel as you previously stated? I was thinking of using this Kernel as well. However, I'll most likely wait for Fresh 4 ROM. Will running Fresh ROM have any affect on this tweak?
 
So you don't need the original stock Kernel as you previously stated? I was thinking of using this Kernel as well. However, I'll most likely wait for Fresh 4 ROM. Will running Fresh ROM have any affect on this tweak?

With a custom kernel like the one I have, you don't need to use the Perflock Disabler, since that kernel has already removed the perflock. You can flash that kernel, and immediately start messing with the CPU speeds in SetCPU.

Fresh comes with the stock kernel, so it should work perfectly with the Perflock Disabler.
 
I just installed this two days ago. Works great. I haven't noticed much on the battery life end, but I got good battery life to begin with. What I do notice is any slow downs that I may have had before installing this are gone. The phone runs smooth as hell all the time.
 
How stable is this SetCPU hack? Shortly after I tried this, Launcher Pro started lagging really badly, and I had to restart the phone. Then after the reboot, some time later, Awake Time started tracking Up Time at 1/2 the speed (2 Up 1 Awake) -- couldn't see anything to account for the behavior. I restarted again, and that's fixed now ... nothing conclusive, but if other people see similar things, do post please. A clue is when the phone gets warm your pocket ...
 
How stable is this SetCPU hack? Shortly after I tried this, Launcher Pro started lagging really badly, and I had to restart the phone. Then after the reboot, some time later, Awake Time started tracking Up Time at 1/2 the speed (2 Up 1 Awake) -- couldn't see anything to account for the behavior. I restarted again, and that's fixed now ... nothing conclusive, but if other people see similar things, do post please.

It's been super stable for me, but someone on XDA got forced reboots everytime he tried to add a Charging profile. Now he's just leaving out that profile.

Makes sense if Perflock Disabler is labeled as beta.
 

Forum statistics

Threads
954,046
Messages
6,960,354
Members
3,162,911
Latest member
doctorjhatka007