All right, this is something I think everyone can agree would be nice to have:

Longer Battery Life

I have a Thinkpad T61p and am currently running Fedora 9 on it. I love sitting outside and coding (required software tie-in... check) and it would be nice to not have to worry about my battery running out while I'm doing so. Vista seems to get more time out of my battery because of the ThinkVantage software that comes with the laptop. Is there any way I could eke a few extra minutes out of my battery under linux?

UPDATE: Thomas Owens started a thread for windows also, if you don't run linux.

+6  A: 

If you have an intel mobile chip in your laptop (or small pc) you're in luck. PowerTOP (as long as you listen to its suggestions) can stretch your battery life quite a bit.

I just started using it, and I've gotten another 45 minutes out of my battery under linux.

+2  A: 

I hate to suggest the obvious first, but I will: try dimming your screen. I also wonder whether or not switching to less colorful GUI schemes might help, too (may not make a difference, but I wonder).

Brian Warshaw
+4  A: 

Undervolt the laptop --if that is an option.

This is not always the best option as many CPUs today are designed around the "hurry up and get idle" methodology; with many processors you'll save more power by using a gradual stepping, such as the "ondemand" governor.
+2  A: 


I hate to suggest the obvious first, but I will: try dimming your screen. I also wonder whether or not switching to less colorful GUI schemes might help, too (may not make a difference, but I wonder).

The color scheme won't do anything measurable. The power required to flip a subpixel on or off is negligible on an LCD. Dimming the screen will definitely help, though.

Derek Park
+1  A: 

Excluding the obvious battery drainers such as compiling things, web browsing is very CPU intensive. If you just need to Google a quick question then instead of using Firefox you could use a lighter browser - perhaps even a text only one such as Elinks or Lynx.

If you're out of wireless range while outside, that's even better, I suppose :-)

+2  A: 

Turn off compiz, or any kind of 3D desktop effects, your video card uses a lot of extra power to do these things.

Use screen blanking instead of a visually active screensaver. Disable wireless when you don't need active internet connection. If you are internet connected, disable any torrents (save disk activity, wireless output, and CPU usage.)

Switch to full screen terminal, and work in the terminal. Play nethack instead of Quake 3.

Rip your DVD's to your harddrive before going on a trip, this will save a bunch not having the disk spinning in the optical drive.

Program in Python (no lengthy, power-consuming, hard-disk thrashing compiles). Not having to wait for compilation or worry about memory management means you can iterate faster and maybe finish your work before the battery runs out.

+2  A: has a number of tips that will help. akdom mentioned PowerTOP, which will tell you a number of things that will help. The Gentoo Linux Wiki also has a wealth of information that may help you (their documentation is excellent).

I tried a number of things that help a lot. Installing laptop-mode-tools gives you a bunch of options that let you use power-saving options in various applications an modules. Install cpufrequtils and lower your CPU frequency. Using the OnDemand cpugovernor is usually helpful, as it lowers the frequency when the CPU is idle but gives you full speed when you need it.

I also wrote a script that runs on boot that sets some of the kernel tunables (swappiness, virtual memory use, etc) but I don't like to share things like that, lest it do harm to someone else's computer.

+1  A: 

I'm going to have to second Brian's suggestion. A laptop's screen is one of the biggest power drainers in the entire machine.

Also mentioned in that article is the fact that the CPU takes quite a bit of power too. If your CPU supports any type of speed steps or automatic underclocking, download a utility to keep it at the lowest possible multiplier (a variable that helps decide clock speed). That should help.

+3  A: 

As akdom mentioned, powertop is great. I've got a T61 and I gained 2 hours of battery life (bringing me from 3 to 5 hours)!

Here's the main changes:

  • I've stopped loading kernel modules until I need them. This applies particularly to sound and USB, but it's also relevant for the MMC/SD card slot on the T61.
  • As someone mentioned, set up some kind of on-demand CPU frequency modulation, which many tools exist to handle.
  • If you aren't using wireless, don't load the kernel modules.
  • Extremely recent kernels may have the screen brightness controls working on your T61p. Running at 2/3 brightness is often perfectly fine.
  • Disable Ethernet wake-on-LAN
  • Enable SATA link power management: echo min_power > /sys/class/scsi_host/host0/link_power_management_policy
  • Increase the VM writeback time to 15 seconds: echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
  • Enable "laptop mode": echo 5 > /proc/sys/vm/laptop_mode

I have a script that runs the last few bits on every boot.

If you're also interested in not wearing your battery out, install tp_smapi and reset your battery thresholds to 45% and 75%:

  • echo 45 > /sys/devices/platform/smapi/BAT0/start_charge_thresh
  • echo 75 > /sys/devices/platform/smapi/BAT0/stop_charge_thresh

Try playing with the spindown time on your disk and mounting the disk with the noatime option. This will keep the hard drive from being written every time a file is read.

If you really want to squeeze the last few minutes from your battery, switch to a console for text-based things like editing a file. To do this on Fedora, ctrl+alt+f8 will switch you from your X session to a different virtual console, then use alt+f1 , alt+f2 ... to switch between VCs. Then alt+f7 takes you back to X all your apps right where you left them.

Mark Borgerding
+1  A: 

Use a lightweight windows manager. You will be more productive and the lack of useless background processes and graphical bells and whistles will improve your battery life.

XMonad is victory, and Awesome WM is almost as cool. They are both tiling.

Vicent Marti
+1  A: 

I was able to get the most battery life out of my laptop with:

Minimal Arch Linux with a very bare boot, dimmed monitor, xmonad wm, lynx + nano, python/irb console, and frugal habits.

This might be too constrictive, but it does wonders in case I really am out in the boondocks.