2010-06-09 I just Doubled My Laptop Battery Life (Acer 5810TG) under Ubuntu 10.04!
When I bought an Acer Aspire 5810TG Laptop, I was expecting it to be just what I was after. It came with Vista, to which I'm allergic, but that's easily fixed. The hardware is a low power Core 2 Duo (CULV) SU9400 CPU, with accompanying low power components. A fast netbook with a 15.6” screen and an optical drive. We like. However, battery life was disappointing. For the 6-Cell Battery (5800mAh) battery:
Acer Claimed:
I Found:
Disappointing, so I needed to look into it. After a lot of messing around, here's how I got on:
It's a dual GPU machine. As well as a low-power on-board Graphics (Intel), there is a (fast) ATI Radeon HD 4330 GPU for gamers (which I'm not). The BIOS offers 2 options: dGPU (=dedicated GPU only) and hybrid (=both, leave it up to the OS to choose). This misses the one option that I'm looking for – (onboard GPU only). Shucks.
However, there is a fix for Ubuntu:- set the BIOS option to “hybrid” and follow these instructions to turn off the dGPU. Note that going into and coming out of suspend turns it on again until you install and set up pm-utils, which you can fix by running "sudo apt-get install pm-utils; echo SUSPEND_MODULES=\"lenovo_acpi\" | sudo tee -a /etc/pm/config.d/modules > /dev/null". For the record, XP can't deal with the choice of graphics controllers, but is usable. Vista/Windows7 also aren't great with them, apparently – but the Acer came with some clever power management software.
http://lesswatts.org has an great tool for invetigating power use: powertop. Until I found this software, I didn't know much power I'd saved, only that battery life from 3 and a bit to about 4 and a bit hours by sorting the graphics out above. Man, did this software change my approach. No more guesswork, more trying stuff out and seeing what mattered!
Here is the summary for how much power I saved, in order:
Original power use |
~22W |
More if you're doing stuff... |
1. Disabling the dGPU |
-7W |
Essential if you want battery life. Set the BIOS' "Display Mode" option to “hybrid” (may be called something else on different BIOSes) |
2. Turning off Bluetooth |
-2W |
Good for me. I don't use it. How to do it from a commandline, I wonder? |
3. Switch Wifi to Powersave mode |
-1W |
More than half of the wifi's power use. Impressive, since I haven't noticed the impaired performance. |
4. Audio Powersaving |
-0.?W |
Doesn't seem to hurt. |
5. SATA aggressive power management |
-0.5?W |
Aggressive? Is that good? Anyway, set the BIOS' “SATA” option to “AHCPI”, instead of the older “IDE”. My XP SP3 didn't boot with this setting. |
6. Screen Brightness from full on to lowest usable |
-1W |
Less than I'd expected, probably because it's an LED (=low power) screen. If the hotkeys don't work, try xbacklight. Neither of these worked for me, until I messed with the grub config file (see below) |
7. ACPI Backlight option |
-0.?W |
I added GRUB_CMDLINE_LINUX_DEFAULT=" |
8. Disabling “Wake on LAN” |
Not much |
Use ethtool for this. Doesn't hurt. |
9. Turning off unused stuff |
? |
Use bum (= boot up manager) to control what runs on startup. I found a few things that were unneeded. Use powertop to see what is running and accessing the disk. |
10. Powersave the CPUs |
Not much |
By default they are “on demand”, which is very close to “powersave”. This is easily changed with the “CPU Frequency Scaling Monitor” applet. I have two, one for each CPU core. |
11. Shifting /tmp into RAM |
Not much |
To cut power use and boost speed by storing /tmp in memory rather than on the hard disk, add the line "tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0" to /etc/fstab. This speeding things up for me, but created problems when editing very large files since my editor (audacity) was dumping several GB at a time into /tmp, so by default I'm not using this now. |
12. Various disk options |
Not much |
e.g. Reducing the number of writes. I don't think I'll bother with these since they slow down file handling a bit and didn't seem to save much. |
13. Disk power save |
0W |
Seems like a bit of an impossibility. There's just too much going on for the disk to ever get into powersaving state. |
14. Enable USB suspend |
0W |
Could be done by adding GRUB_CMDLINE_LINUX_DEFAULT="usbcore.autosuspend=1" into /etc/default/grub, but this is the default in my Linux version. So ignore exhortations to do this from powertop. |
15. Using it differently |
? |
I'm not going to switch to the keyboard over the touchpad for scrolling (though powertop can detect this). When I noticed this, I thought, that's enough. |
Optimised for light usage |
~10W |
Subtract about 0.5W if you turn off the wifi. |
I bundled a bunch of these power settings into This script for easy toggling from low to high performance. It knows if you're on battery or AC power, so you might want to put it in .bash_profile or other suitable place to run it on startup. This script adds (two finger) horizontal scrolling for the touchpad.
Finding the Ubuntu Acer Timeline Group was a good one. I'll remember this for future problems, and recommend you start your own group of your using other hardware for Linux.
I spent a lot of time on this, but learnt a bunch of stuff, to good effect. I'm still learning, by checking power use every so often. The laptop now uses about 10W for light use, instead of 21W. The lowest I've recorded so far while running X-windows is 8.5W, but that was without wifi (or anything much). It charges at about twice the rate it uses power (so could run 12 hours on only 4 hours of electricity – needed since Dhaka has been having this sort of power lately). Not only does it run for longer on a single charge, it needs less charging cycles, and they'll not be so deep. Moreover it now produces almost no noticeable heat. All these factors increase the life of Li-Ion batteries. For real all day battery life, a 9 cell battery (7800mAh) from Ebay, $50 each should be enough for all but the most power-crazed laptop user. As if to prove the Khazzoom–Brookes postulate, I bought two!