Welcome to TLP!

Contents

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

TLP brings you the benefits of advanced power management for 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.

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

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

Prerequisites

Please remove other power management tools like:

Otherwise expect unpredictable results.

Ubuntu 12.04, 12.10, 13.10 and 14.04

as well as Linux Mint 13 and 16, but not LMDE (see Debian)

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

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

Install the following packages:

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

sudo apt-get install tlp tlp-rdw

ThinkPads require an additional:

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

Debian 6.0 and higher

as well as Linux Mint Debian Edition (LMDE)

Execute the following steps in a root shell.

Add a line for the package repository TLP-PPA to your /etc/apt/sources.list:

deb http://ppa.launchpad.net/linrunner/tlp/ubuntu lucid main

Add the public key for the PPA:

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 02D65EFF

If the above command fails, try with a different keyserver:

apt-key adv --keyserver pool.sks-keyservers.net --recv-keys 02D65EFF

Update package data:

apt-get update

Install the following packages:

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

sudo apt-get install tlp tlp-rdw

ThinkPads require an additional:

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

Arch Linux

Packages are available in the offical repositories (Community). For installation instructions see the Arch Wiki.

Gentoo

The installation with layman is described here.

Binary packages for Sabayon are available as well; see instructions.

openSUSE

No TLP packages are available for currently maintained versions of openSUSE.

Fedora 19 and higher

To install TLP on Fedora use the follwowing steps in a root shell.

Add the package repositories TLP and RPM Fusion (for akmod dependencies):

yum localinstall --nogpgcheck http://repo.linrunner.de/fedora/tlp/repos/releases/tlp-release-1.0-0.noarch.rpm
yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm

Install the following packages:

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

yum install tlp tlp-rdw

ThinkPads require an additional:

yum install akmod-tp_smapi akmod-acpi_call kernel-devel

Kernel Boot Options

No power saving boot options are necessary for Linux distributions / releases currently supported by TLP.

Configuration

All TLP settings are stored in the config file /etc/default/tlp. As the default configuration already provides for optimized battery saving, in many cases there is no immediate need to change it. The full reference can be read at TLP Configuration.

Start

After installation TLP will be automatically activated upon system start.

To start it immediately without reboot or to apply changed settings use:

sudo tlp start

Check

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

sudo tlp-stat

and check the output for

+++ System Status
TLP power save = enabled
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.

wifi, bluetooth, wwan

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

wifi [ on | off | toggle ]

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

tlp-stat

Status report with configuration and all active settings:

sudo tlp-stat

Show battery information only:

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

Show configuration only:

tlp-stat -c
tlp-stat --config

Show radio devices switch state only:

tlp-stat -r
tlp-stat --rfkill

Show temperatures and fan speed only:

tlp-stat -t
tlp-stat --temp

Show trace output from /var/log/debug:

tlp-stat -T
tlp-stat --trace

tlp

Apply Settings

(according to the actual power source)

sudo tlp start

Apply Battery Settings

(ignoring the actual power source)

sudo tlp bat

Apply AC Settings

(ignoring the actual power source)

sudo tlp ac

Apply Auto Suspend for all attached USB Devices

(except input and blacklisted devices)

sudo tlp usb

Power off Optical Drive in Drive Slot or Ultrabay

sudo tlp bayoff

Hints:

Change Battery Charge Thresholds (temporarily)

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.

Set Battery Charge Thresholds to Factory Settings (temporarily)

ThinkPads only

sudo tlp fullcharge [ BAT0 | BAT1 ]

Sets the thresholds to 96 / 100% (charge the battery to full capacity).

Upon reboot, thresholds are reset to the configured settings.

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.

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

ThinkPads only

Hint: the recalibration process resets the capacity information in the battery pack. It cannot repair defective battery cells.

sudo tlp recalibrate [ BAT0 | BAT1 ]

This command combines the functions fullcharge and discharge. First the thresholds are set to factory defaults 96 / 100 %, then the battery is discharged completely.

Disk ID

tlp diskid

Shows the IDs of all attached disk drives.

Status Report

sudo tlp stat

is an alias to tlp-stat.

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 use or configure TLP visit to the Linux support forum of your choice. Please check the TLP FAQ before.

When asking for support, always provide the following output (preferably on battery):

sudo tlp-stat

Bug reports may be filed via the issue tracker. Note: the issue tracker is not a support forum.

Trace Mode

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

TLP_DEBUG="lock nm path pm rf run sysfs udev usb"

The accumulated trace data may be read at any time with

tlp-stat -T

or

grep "tlp" /var/log/debug

Prerequisites

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 Arch Linux: install the package rsyslog and enable the service; configuration is not necessary.

Links

TLP

Instructions in other languages