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

Search This thread

pingpongboss

Senior Member
Apr 7, 2010
517
302
34
San Jose
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

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: Fam Money

davida72

Senior Member
Mar 12, 2010
276
29
I was putting in the info exactly the way you had it in your screen, now I'm attempting to put the "screen off" setting into the profile and every time I try it reboots the phone. I'm running baked snack 9.6 the normal volted (Flashable ZIP - Normal-volted kernel v5.1.1 for use with 2.1 (Eclair) ROMs) kernel.

Any ideas what could be causing this and how to fix it?

---> clicking on the widget also causes a reboot
 
Last edited:

pingpongboss

Senior Member
Apr 7, 2010
517
302
34
San Jose
I was putting in the info exactly the way you had it in your screen, now I'm attempting to put the "screen off" setting into the profile and every time I try it reboots the phone. I'm running baked snack 9.6 the normal volted (Flashable ZIP - Normal-volted kernel v5.1.1 for use with 2.1 (Eclair) ROMs) kernel.

Any ideas what could be causing this and how to fix it?

Whao, weird. Try enabling Notifications on the Profiles tab to see if it tries to change into a certain profile that's clocked too high or low.
 

pingpongboss

Senior Member
Apr 7, 2010
517
302
34
San Jose
I can't, as soon as I tap the Profiles tab it reboots, just tried it... :(

Which version of SetCPU do you have? 2.0.1? Don't know if it's going to help, but try something in between 2.0.0 and 2.0.1 like 2.0.0b.

Does it happen only after you do the Perflock Disabler? Or does it happen every time you use SetCPU.

Try another kernel. There are tons. Maybe try this one that I'm using here http://xdaforums.com/showthread.php?t=711964
 

davida72

Senior Member
Mar 12, 2010
276
29
Which version of SetCPU do you have? 2.0.1? Don't know if it's going to help, but try something in between 2.0.0 and 2.0.1 like 2.0.0b.

Does it happen only after you do the Perflock Disabler? Or does it happen every time you use SetCPU.

Try another kernel. There are tons. Maybe try this one that I'm using here http://xdaforums.com/showthread.php?t=711964

That is the kernel I have, normal volted one - Normal-volted kernel v5.1.1 for use with 2.1 (Eclair) ROMs

I am using 2.0.1, I'll see if I can find an earlier version and see if that works...actually I'll try reinstalling this one and giving it a try again and see if that works first.

Edit : It tells me I don't need to do the perflock
 

pingpongboss

Senior Member
Apr 7, 2010
517
302
34
San Jose
That is the kernel I have, normal volted one - Normal-volted kernel v5.1.1 for use with 2.1 (Eclair) ROMs

I am using 2.0.1, I'll see if I can find an earlier version and see if that works...actually I'll try reinstalling this one and giving it a try again and see if that works first.

Yea that's really bizarre. we have almost the same setup. Except I'm running the under-voltaged one.

Edit: Actually, that kernel already has Perflock Disabled by default. You shouldn't have to follow this tutorial. SetCPU should "just work" with your kernel.
 

davida72

Senior Member
Mar 12, 2010
276
29
I guess so. Since this custom kernel already has perflock disabled, you can use another app like OverclockWidget to underclock the CPU. Try it out and let us know maybe.

appears as thought the overclockwidget works...just wish it had the profile setup like setcpu does.

I'll look and see if I can find an earlier version of setcpu.
 

pingpongboss

Senior Member
Apr 7, 2010
517
302
34
San Jose
appears as thought the overclockwidget works...just wish it had the profile setup like setcpu does.

I'll look and see if I can find an earlier version of setcpu.

Nice, glad it worked out. OverclockWidget has very basic profiles, but they do the job. Any version of SetCPU should work for you, since you dont need the Perflock Disabler with that kernel.
 

davida72

Senior Member
Mar 12, 2010
276
29
ok, I got setcpu 2.0.0c and started doing the profile like yours, got to the second seting about the charge/full and saved, got the reboot...
 

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    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

    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.
    1
    Using the phone at 460MHz makes it so damn slow, not worth it IMO.