Revision of Optimizing battery time from Mon, 07/29/2013 - 13:35

The revisions let you track differences between multiple versions of a post.

The following information is mostly useful on laptops. Keep in mind this was tested on a system running Trisquel 6 (based on Ubuntu 12.04 LTS).

Tips & tricks

  • Suspend the system when not using it;
  • Disable every device that won't be used in the BIOS: Bluetooth, WiMAX, Wireless WAN (3G), touchpad (~2W total savings), and specially wake-on-lan which keeps the LAN port active (1W savings);
  • Check your power usage statistics with the gnome-power-statistics command
  • Set an automatic decrease of the luminosity after some time of inactivity;
  • Deactivate the Bluetooth/Wifi when not using it (for a long time). This can sometimes be achieved through a hardware switch;
  • Replacing a hard drive by a solid state one should improve battery life as it requires less power;
  • Disabling the sound card: this will save around 2W (up to 5% battery life):
    • Right-click on the speaker in the task bar and choose "Sound preferences"
    • In the "Hardware" tab, click on your sound card, then select the profile "Off"

Useful Packages

  • Linux-libre (homepage): Upgrade your kernel to latest Linux-libre. There are two PPAs making this available (based on a forum discussion about both):
    • Linux-libre Package Team PPAs (PPA, test): specific for Ubuntu-based distributions;
    • a PPA maintained by jxself: targeting any Debian-based distro.
  • laptop-mode-tools (homepage) : Tools for Power Savings based on battery/AC status
    Laptop mode is automatically enabled after installing this package. Check the ArchLinux extensive documentation about this.
  • powertop (homepage) - tool to find out what is using power on a laptop
  • rovclock - utility to control frequency rates of your Radeon card
    Check the Thinkwiki rovclock documentation about this package
  • If you use a HDD, put your Abrowser profile on a ramdisk to avoid spinning the platter. Trisquel comes automatically with a ramdisk at /dev/shm. Note that the ramdisk is volatile, you might want to backup the profile before restarting/shutting down.

Blacklist kernel modules

Do you never or seldom use things like Bluetooth, sd card reader, joystick, parallel port? Disable the kernel modules by adding to /etc/modprobe.d/blacklist.conf
blacklist bluetooth
blacklist firewire_core
blacklist firewire_ohci
blacklist yenta_socket
blacklist joydev
blacklist sdhci
blacklist sdhci_pci
blacklist dm_crypt
blacklist tifm_7xx1
blacklist shpchp
blacklist lp
blacklist btrfs
blacklist parport
And then run sudo update-initramfs -u and restart. You can find out what modules are loaded using the lsmod command. If you want a very terse info about a module, you can sudo modinfo modulename. These modules might get automatically loaded when actually needed or if not, you can sudo modprobe modulename to insert.

Remove excess VTs

Do you use virtual terminals 3-6? I don't so I got rid of them by removing /etc/init/tty3.conf ... /etc/init/tty6.conf and rebooted.

Runtime PM

When you run powertop you might notice many devices have runtime power management disabled. You can enable them all by echoing auto to their control files as super user, e.g. in a startup script. You can find a list of such files with ls /sys/bus/{pci,i2c}/devices/*/power/control

PCIe ASPM

Some newer hardware and BIOSes support PCIe active state power management. You can check dmesg|grep -i aspm to see how your system is doing. You can try forcing it by adding to grub configuration, on the kernel line pcie_aspm=force and then running update-grub and rebooting. Watch out for hangs.

References and useful links

Revisions

01/12/2013 - 16:21
MagicFab
01/13/2013 - 16:43
mYself
01/15/2013 - 05:39
MagicFab
01/17/2013 - 10:50
lembas
08/13/2013 - 17:54
lloydsmart
10/26/2013 - 23:00
muhammed
11/11/2013 - 01:46
ssdclickofdeath
08/02/2014 - 01:53
GustavoCM
06/06/2018 - 12:57
GrevenGull