How to Increase Your Laptop’s Battery Life A LOT with CrystalCPUID
Over a month ago in my post on the Intel SU2300, I promised I would create a simplified guide to installing and configuring CrystalCPUID. Well, it took a lot longer than I had hoped, but here it is!
CrystalCPUID is a lovely little piece of free software that can allow you to really, severely underclock your processor. We’re not talking SpeedStep underclock here – we’re talking running your 1.2GHz processor at 98 MHz.
That may sound a bit crazy, but it is apparently quite possible since I’ve done it myself on my little SU2300-powered lappy. My battery life jumped from 3 hours and 50 minutes to a whopping 7 hours. Of course, if I start watching videos or something, the processor jumps back up in clock speed, thereby draining the battery faster and reducing battery life. But if I’m just reading a PDF or something or surfing the web over ethernet, well, who needs their processor cranking along at anywhere near full speed?
So, without further ado, this is how you get CrystalCPUID working on your machine to extend your battery life!
NOTE: Don’t miss the update at the end of the post!
First, a few words of warning… One of the reasons why it took me so long to post this guide is because CrystalCPUID can be a bit… wonky. Sometimes it works flawlessly. Other times, it doesn’t appear to be working, but it is. Still other times, I have to close it down and re-open it to get it working again. I had hoped to get a bulletproof guide on how to get it working on any laptop, but that just doesn’t seem possible at this point. This is basically a hack. So, this is what I’ve got. It works, but you have to have a sense of humor!
Alrighty. Obviously, the first thing you need to do is download and install CrystalCPUID. You can get it at the download page here: http://crystalmark.info/download/index-e.html
Or you can just use the direct links for:
Extract the ZIP file into whatever directory you want. There is no installer, so plop it somewhere nice. Then, create a shortcut to
[YOUR INSTALL DIR]\CrystalCPUID.exe on your desktop.
If you’re using Vista or Windows 7:
- Right-click the shortcut and pick
- Click the
- Check the “
Run this program as an administrator” box
Now fire it up! You’ll see some nice info about your processor.
File -> Customize, and you’ll see this window:
In the Real Time Clock box, you probably want to select “
No Load (QPC + MMT) for Change System Clock” if you have a Core 2 Solo or Core 2 Duo. If you don’t want the Real Time Clock window to always show as the top-most window, uncheck the
Top Most box.
If you have an SU2300, the “No Load” setting probably won’t work, so pick “
With Load ( QPC ) for Change Multiplier” instead. Then back in the main window, press F3 or select
Function -> Multiplier Management. I don’t know why, but it doesn’t work for me without Multiplier Management enabled for the SU2300.
Now close the Customize window if you haven’t done so already.
Next, press F4 or click
Function -> Real Time Clock.
That will bring up the Real Time Clock window, which will look like this:
If all is working well, you should see a very low number on the top line. In the image above, CrystalCPUID is reporting that the processor is running at 194.21 MHz. That’s pretty low!
Wait a few minutes, and your estimated remaining battery life should skyrocket. Sometimes, my clock speed stays at the max, but I still get the extra several hours of battery life.
Now for the problems…
I tried this little trick on a Core 2 Duo based laptop, and the clock dropped a lot. However, the estimated battery life didn’t jump way up – instead, the estimated remaining runtime just decreased much more slowly. In other words, Windows would report that 1 hour and 46 minutes of battery life remained. 15 minutes later, it reported the same thing! This was not normal behavior for this particular lappy. It’s a power hog. So, figure that one out…
Practically speaking, it ended up boosting the battery life from 2 hours to about 3 hours even though Windows refused to indicate as much on the battery meter. The system was also MUCH more touchy in terms of shooting right back up to full speed (1.5GHz) at the drop of a hat (i.e. when I hovered over an icon and Aero was doing its thing, it jumped backed up to full speed!).
In contrast, the SU2300 in my Aspire 1410 really loves running at the super-low clock speed, and it takes a bit to get it to wind up again in terms of the reported clock speed. Thus, I do actually get about 7 hours of runtime with the standard 4400mAh battery, when I’m supposed to get about 4 hours. Overall performance is still just fine.
As I mentioned above, the big problem with this solution is that your mileage will vary. It seems to depend to a large extent on what processor you have, how energy-efficient the rest of your system is, how many devices you’ve allowed to go into low-power mode in the Windows power settings, if you have updated drivers, and how much patience you have to muck around with the settings until you get the best battery life.
I encourage you to experiment. That’s what I did, and I got a lot more life out of the same hardware. Of course, I’d still love to have a higher-capacity battery!
Note also that there are various other capabilities present in CrystalCPUID. I highly recommend reading the documentation. You can experiment with undervolting your processor, changing the multiplier settings used for SpeedStep, and so on.
I should note again that when I undervolted my SU2300, the CPU temp dropped by 5 degrees C, but battery life was exactly the same. Go figure…
For me, all I have to do is load CrystalCPUID, make sure that Real Time Clock is set to the first option, press F3 to load Multiplier Management, press F4 to load Real Time Clock, and I’m off and running. Getting to that point was pretty time-consuming, however. And CrystalCPUID still can be a bit moody from time to time.
There is also the problem that CrystalCPUID does NOT like it when Windows 7 comes out of sleep mode or hibernation. If I want it to work, I actually have to close the program, re-open it, and sometimes even futz again with the settings when I want super-long battery life. Since it’s so easy to do, I don’t mind because the payoff is huge.
But it would be really nice if the built-in command line options for the program worked with Win 7. They don’t seem to at all. That means no auto-start. Perhaps a future update to the software will fix that. Perhaps a future update will also fix some of the squirrelly behavior I’ve encountered. I wonder if a large part of the problems I’ve encountered is that it just doesn’t want to play well with Windows 7, which is the OS running on all the laptops I’ve tested it on.
So, this is not a one-size-fits-all solution. It may not even work for you on your particular hardware. But if you have an already energy-efficient laptop with modern hardware, you should see an increase in practical battery life.
If you learn anything interesting in your experiments, let me know!
I am very happy to announce that my 1410 now runs CrystalCPUID automatically, with NO user intervention, even when I restart, sleep, unsleep, etc. To see how to get this working, check out the comment from BenKewell below. You can also just download his nifty little utility directly at the following link (it includes excellent step-by-step instructions on setting it all up):
Note that in order to get the utility to work on Win 7 x64, I just had to change the name of the CrystalCPUID executable from “crystalcpuidx64.exe” to just “crystalcpuid.exe”.
Note also that this utility seems to have eliminated all the wonky behavior of CrystalCPUID, and it now runs reliably and automatically for me on my Aspire 1410. Thank you, BenKewell!!