Welcome to TLP!

Contents

  1. Features
  2. Installation
  3. Configuration
  4. Start
  5. Check
  6. Terminal Commands
  7. License
  8. Support
  9. Links

TLP saves laptop battery power on Linux without the need to understand every technical detail.

TLP comes with a default configuration already optimized for battery life, so you may just install and forget it. Nevertheless TLP is highly customizable to fulfil your specific requirements.

Please note: TLP runs on every laptop brand. Setting the battery charge thresholds is available for IBM/Lenovo ThinkPads only.

Features

TLP is a pure command line tool with automated background tasks. It does not contain a GUI.

Settings depending on the Power Source

Additional functions

Installation

TLP packages are available for Arch, Debian, Fedora, Gentoo, openSUSE, Ubuntu and more – see Repology for a comprehensive list. You're welcome if you want to package TLP for other distributions – please take a look at the TLP Developer Documentation.

Ubuntu

Officially supported Ubuntu releases; as well as corresponding Linux Mint releases; but not LMDE (see Debian)

Package Repository

Add the TLP-PPA to your package sources with the commands:

sudo add-apt-repository ppa:linrunner/tlp
sudo apt-get update

Note: TLP and ThinkPad-related packages below are available via the official Ubuntu repository. Nevertheless it is recommended to use the PPA to stay with the latest TLP version.

Package Install

Install the following packages:

The above packages may be installed via package management tools (Ubuntu Software, Synaptic, ...) or with a terminal command:

sudo apt-get install tlp tlp-rdw

For ThinkPads an additional

sudo apt-get install tp-smapi-dkms acpi-call-dkms

is recommended.

ThinkPad notes:

Debian

Debian oldstable, stable, testing and unstable; as well as Linux Mint Debian Edition (LMDE)

Execute the following steps in a root shell.

Package Repository

Debian stable, testing and unstable

TLP and ThinkPad-related packages below are available via the official Debian repository.

Debian 10.0 "Buster" and 9.0 "Stretch"

TLP packages for the newest version are available via Debian Backports (read more).

Add the line matching your Debian version to your /etc/apt/sources.list:

deb http://ftp.debian.org/debian buster-backports main
deb http://ftp.debian.org/debian stretch-backports-sloppy main

Update package data:

apt-get update

Package Install

Install the following packages:

The above packages may be installed via package management tools or with a terminal command:

apt-get install tlp tlp-rdw

For Debian Backports use:

apt-get -t buster-backports install tlp tlp-rdw

or

apt-get -t stretch-backports-sloppy install tlp tlp-rdw

instead.

For ThinkPads an additional

apt-get install tp-smapi-dkms acpi-call-dkms

is recommended.

ThinkPad notes:

Arch Linux

Package Install

Packages are available in the offical repositories:

The above packages may be installed via terminal command:

pacman -S tlp tlp-rdw

For ThinkPads an additional

pacman -S tp_smapi acpi_call

is recommended.

ThinkPad notes:

Service Units

To complete the installation you must enable TLP's services (refer to the TLP FAQ):

systemctl enable tlp.service
systemctl enable tlp-sleep.service

Using the Radio Device Wizard (tlp-rdw) requires an additional service:

systemctl enable NetworkManager-dispatcher.service

You should also mask the following services to avoid conflicts and assure proper operation of TLP's radio device switching options:

systemctl mask systemd-rfkill.service
systemctl mask systemd-rfkill.socket

Refer to the Arch Wiki as well.

Fedora

Officially supported Fedora releases

TLP packages are available from the official Fedora repositories:

Note: packages for RHEL/CentOS are available from EPEL6/7 repositories.

Install the above packages with the command (in a root shell):

dnf install tlp tlp-rdw

ThinkPad only

ThinkPad specific components for advanced battery functions are not available from the official Fedora repositories. Instead you need the RPM Fusion and TLP repositories (in a root shell):

dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
dnf install http://repo.linrunner.de/fedora/tlp/repos/releases/tlp-release.fc$(rpm -E %fedora).noarch.rpm

The following packages are needed:

Install them with the following command (in a root shell):

dnf install akmod-tp_smapi akmod-acpi_call kernel-devel

New packages are always available via the testing repository at first (only temporarily):

dnf --enablerepo=tlp-updates-testing install akmod-tp_smapi akmod-acpi_call kernel-devel

Notes:

Gentoo

The installation with layman is described here.

openSUSE

Officially supported openSUSE Leap releases and Tumbleweed

Packages are available from the official repositories:

Install them with the following command (in a root shell):

zypper install tlp tlp-rdw

ThinkPads only

Note: refer to "Which kernel module?" for details.

Configuration

All TLP settings are stored in the config file /etc/default/tlp. The full reference can be read at TLP Configuration.

Start

TLP will start automatically. To avoid having to restart the system, the first time you can start it manually by using the following command:

sudo tlp start

Check

Use the tlp-stat terminal command to check if TLP is working properly

sudo tlp-stat -s

and check the output for

+++ System Status
State = enabled
Last Run = < Time of system start or last change of power source >

Please note: there is no TLP background process or daemon that shows up in ps.

Terminal Commands

Hint: all commands described in this section that are shown with sudo, may be executed without sudo in a root shell.

tlp

Start / Restart TLP

Apply all configured settings according to the actual power source:

sudo tlp start

Also use to apply changes after editing the configuration.

Battery Settings

Apply battery settings and change to manual mode:

sudo tlp bat

Changes to the power source will be ignored until the next reboot or tlp start is issued to resume automatic mode.

AC Settings

Apply AC settings and change to manual mode:

sudo tlp ac

Changes to the power source will be ignored until the next reboot or tlp start is issued to resume automatic mode.

USB Autosuspend

Apply autosuspend mode for all attached USB devices except input and blacklisted devices:

sudo tlp usb

Optical Drive

Power off optical drive in MediaBay or Ultrabay

sudo tlp bayoff

Hints:

Battery Charge Thresholds

Change battery charge thresholds to temporary values

ThinkPads only

sudo tlp setcharge [ START_THRESH STOP_THRESH [ BAT0 | BAT1 ] ]

Sets the thresholds to the given values. Valid thresholds range from 1 bis 100; START_THRESH must be below STOP_THRESH - 3. Without parameters the configured settings for the main battery (BAT0) are applied. Upon reboot, thresholds are reset to the configured settings.

Example:

sudo tlp setcharge 70 90 BAT0

Applies thresholds of 70 / 90% to the main battery (BAT0).

Charge battery to full capacity

ThinkPads only

sudo tlp fullcharge [ BAT0 | BAT1 ]

Applies factory settings i.e. thresholds 96 / 100% to initiate the charge. Upon reboot, thresholds are reset to the configured settings.

Note: after setting he thresholds the command terminates; it does not wait for the charge to complete.

Example:

sudo tlp fullcharge BAT1

Charges the auxiliary battery (BAT1) to full capacity.

Charge battery once to the upper charge threshold

ThinkPads only

sudo tlp chargeonce [ BAT0 | BAT1 ]

Sets the lower threshold to upper threshold - 4 to initiate the charge. Upon reboot, thresholds are reset to the configured settings.

Note: after setting he thresholds the command terminates; it does not wait for the charge to complete.

Battery Care

Discharge battery on AC power

ThinkPads only

sudo tlp discharge [ BAT0 | BAT1 ]

BAT0 selects the main battery, BAT1 the auxiliary/Ultrabay battery for discharge. The command continously shows remaining capacity and estimated discharge time. Discharging may be stopped at any time with Ctrl+C.

Hints:

Recalibrate battery on AC power

ThinkPads only

sudo tlp recalibrate [ BAT0 | BAT1 ]

This command works as follows:

Example:

sudo tlp recalibrate BAT0

Recalibrates the main battery (BAT0).

Hints:

Disk IDs

tlp diskid

Shows the IDs of all attached disk drives.

tlp-rdw

Enable, disable or check the state for event based actions on radio devices (aka radio device wizard):

tlp-rdw [ enable | disable ]

Using the command without arguments displays the actual state.

Hint: automatic actions will be re-enabled upon reboot.

tlp-stat

Status report with configuration and all active settings:

sudo tlp-stat

Show battery information:

sudo tlp-stat -b
sudo tlp-stat --battery

Show configuration:

tlp-stat -c
tlp-stat --config

Show disk data:

tlp-stat -d
tlp-stat --disk

Show PCIe device data:

tlp-stat -e
tlp-stat --pcie

Show graphics card data:

tlp-stat -g
tlp-stat --graphics

Show processor data:

tlp-stat -p
tlp-stat --processor

Show radio device state:

tlp-stat -r
tlp-stat --rfkill

Show system data:

tlp-stat -s
tlp-stat --system

Show temperatures and fan speed:

tlp-stat -t
tlp-stat --temp

Show USB device data:

tlp-stat -u
tlp-stat --usb

Show more data:

tlp-stat -v
tlp-stat --verbose

Show warnings:

tlp-stat -w
tlp-stat --warn

Please refer to the TLP FAQ, Warnings section, for details.

Debugging aids

Monitor power supply udev events:

tlp-stat -P
tlp-stat --pev

Show power supply diagnostic:

tlp-stat --psup

Show trace output:

tlp-stat -T
tlp-stat --trace

wifi, bluetooth, wwan

Enable, disable, toggle or check the state of builtin wifi, bluetooth and wwan (3G or UMTS) radios:

wifi [ on | off | toggle ]

Using the command without arguments displays the actual state.

Hint: for Intel 2200bg and 2915abg cards call the command with sudo or in a root shell.

bluetooth [ on | off | toggle ]
wwan [ on | off | toggle ]

Prerequisite: the radio device must be supported by the kernel's rfkill framework (except Intel 2100/2200/2915). This may be checked with

rfkill list

run-on-ac, run-on-bat

Conditional execution of commands depending on the actual power source:

run-on-ac command parameter ...
run-on-bat command parameter ...

Manpages

Manpages exist for all TLP commands:

man command

License

TLP is licensed under the GPL version 2 or later.

To obtain the sources, please take a look at the TLP Developer Documentation.

Support

For general questions on how to install, configure or use TLP and ThinkPad battery specific issues visit adequate forums.

Please check the TLP FAQ and TLP Troubleshooting first.

Necessary Information

When asking for support, always provide the output of

sudo tlp-stat

completed by the information with which power source – AC and/or battery – the problem occurs.

Bug Reports

Bug reports may be filed via the issue tracker. Please read the Bug Reporting Howto first.

Trace Mode

To examine suspected problems in TLP more closely, activate trace mode in /etc/default/tlp:

TLP_DEBUG="arg bat cfg disk lock nm path pm ps rf run sysfs udev usb"

The accumulated trace data may be read at any time with

tlp-stat -T

Prerequisites

(r)syslog only

In case the trace output is missing, you have to modify your syslog configuration. For rsyslogd create the file /etc/rsyslog.d/90-debug.conf containing

*.=debug;\
auth,authpriv.none;\
news.none;mail.none -/var/log/debug

and restart the daemon

sudo /etc/init.d/rsyslog restart

Note for systemd based distros: no prerequisites – TLP uses journald for trace data.

Links

TLP

Instructions in other languages