How to Improve Laptop Battery Life and Usage in Linux Using TLP

TLP is an advanced power management tool for Linux that gives the settings and tweaks to enhance your existing power management automatically without the need to know every technical details. It is purely a command-line tool and doesn’t have a GUI. It should work on almost all laptops.

TLP does not replace the existing power management of your Linux installation, but it enhances the existing it. TLP applies its settings upon system startup and on every change of the power source. TLP packages are available almost for all distributions such as Arch Linux, Debian, RH Fedora, Gentoo, OpenSUSE and Ubuntu.

Features –

Settings depending on the power source:

  • Kernel laptop mode and dirty buffer timeouts
  • Processor frequency scaling including “turbo boost”/”turbo core”
  • Power aware process scheduler for multi-core/hyper-threading
  • Hard disk advanced power management level and spin down timeout (per disk)
  • SATA aggressive link power management (ALPM)
  • PCI Express active state power management (PCIe ASPM) – Linux 2.6.35 and above
  • Runtime power management for PCI(e) bus devices – Linux 2.6.35 and above
  • Radeon KMS power management – Linux 2.6.35 and above, not fglrx
  • Wi-fi power saving mode – depending on kernel/driver
  • Power off optical drive in drive bay (on battery)

Additional functions:

  • I/O scheduler (per disk)
  • USB auto-suspend with blacklist
  • Audio power saving mode – hda_intel, ac97
  • Enable or disable integrated wi-fi, bluetooth or wwan devices upon system startup and shutdown
  • Restore radio device state on system startup (from previous shutdown).
  • Radio device wizard: switch radios upon network connect/disconnect and dock/undock
  • Disable Wake On LAN
  • WWAN state is restored after suspend/hibernate
  • Untervolting of Intel processors – requires kernel with PHC-Patch
  • Battery charge thresholds – ThinkPads only
  • Recalibrate battery – ThinkPads only

 

Install TLP on Ubuntu/Linux Mint

Before installing TLP, make sure that you have removed the user specific power save settings and scripts (for example in /etc/rc.local), otherwise expect unpredictable results and also remove laptop-mode-tools:

sk@sk:~$ sudo apt-get remove laptop-mode-tools

Add the following TLP PPA:

sk@sk:~$ sudo add-apt-repository ppa:linrunner/tlp

Update the software sources list:

sk@sk:~$ sudo apt-get update

Now install TLP:

sk@sk:~$ sudo apt-get install tlp tlp-rdw smartmontools ethtool

If you are using IBM Thinkpad, run the following command:

sk@sk:~$ sudo apt-get install tlp tlp-rdw smartmontools ethtool tp-smapi-dkms acpi-call-tools

Start TLP

Start TLP Service for the first time only. You don’t need to start it on every reboot, it will start automatically:

sk@sk:~$ sudo tlp start

Test TLP Status

Enter the following command to see the detailed output of TLP:

sk@sk:~$ sudo tlp stat

You will see a output something like below:

--- TLP 0.3.9 --------------------------------------------

+++ Configured Settings: /etc/default/tlp
TLP_ENABLE=1
DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=2
MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60
SCHED_POWERSAVE_ON_AC=0
SCHED_POWERSAVE_ON_BAT=1
NMI_WATCHDOG=0
DISK_DEVICES="sda sdb"
DISK_APM_LEVEL_ON_AC="254 254"
DISK_APM_LEVEL_ON_BAT="128 128"
SATA_LINKPWR_ON_AC=max_performance
SATA_LINKPWR_ON_BAT=min_power
PCIE_ASPM_ON_AC=performance
PCIE_ASPM_ON_BAT=powersave
RADEON_POWER_PROFILE_ON_AC=high
RADEON_POWER_PROFILE_ON_BAT=low
WIFI_PWR_ON_AC=1
WIFI_PWR_ON_BAT=5
WOL_DISABLE=Y
SOUND_POWER_SAVE=1
SOUND_POWER_SAVE_CONTROLLER=Y
BAY_POWEROFF_ON_BAT=0
BAY_DEVICE="sr0"
RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=auto
RUNTIME_PM_ALL=0
USB_AUTOSUSPEND=1
RESTORE_DEVICE_STATE_ON_STARTUP=0

+++ System Info
System         = Hewlett-Packard F.02 HP 550
BIOS           = 68MVU Ver. F.02
Release        = Ubuntu 13.04
Kernel         = 3.8.0-26-generic x86_64
/proc/cmdline  = BOOT_IMAGE=/vmlinuz-3.8.0-26-generic root=/dev/mapper/lubuntu--vg-root ro quiet splash vt.handoff=7

+++ System Status
TLP power save = enabled
power source   = ac
[...]

For other distribution installation instructions, refer the official website.