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, openSUSE 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.
TLP is a pure command line tool with automated background tasks. It does not contain a GUI.
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 magement level and spin down timeout (per disk)
- SATA aggressive link power management (ALPM)
- PCI Express active state power management (PCIe ASPM)
- Runtime power management for PCI(e) bus devices
- Radeon graphics power management (KMS and DPM)
- Wifi power saving mode
- Power off optical drive in drive bay
- Audio power saving mode
Additional functions
- I/O scheduler (per disk)
- USB autosuspend with blacklist
- Enable or disable integrated wifi, 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
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 get the latest
TLP version.
Package Install
Install the following packages:
- tlp (PPA or universe) – Power saving
- tlp-rdw (PPA or universe) – optional, Radio Device Wizard
- tp-smapi-dkms (PPA or universe) – optional ThinkPad only,
tp-smapi is needed for battery
charge thresholds, recalibration and specific status output of tlp-stat
- acpi-call-dkms (PPA or universe) – optional ThinkPad only,
acpi-call is needed for battery charge thresholds and recalibration on Sandy Bridge and newer models
(X220/T420, X230/T430 et al.)
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-dkms
ThinkPad notes:
- Refer to "Which kernel module?" for details
- You must disable Secure Boot to use the ThinkPad specific packages
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 8.0 "Jessie" (oldstable)
TLP packages are available via Debian Backports
(read more).
Add the following line to your /etc/apt/sources.list:
deb http://ftp.debian.org/debian jessie-backports main
Update package data:
apt-get update
Package Install
Install the following packages:
- tlp (main) – Power saving
- tlp-rdw (main) – optional, Radio Device Wizard
- tp-smapi-dkms (main) – optional ThinkPad only,
tp-smapi is needed for battery
charge thresholds, recalibration and specific status output of tlp-stat
- acpi-call-dkms (main) – optional ThinkPad only,
acpi-call is needed for battery charge thresholds and recalibration on Sandy Bridge and newer models
(X220/T420, X230/T430 et al.)
The above packages may be installed via package management tools or terminal command:
apt-get install tlp tlp-rdw
For Debian Backports use:
apt-get install -t jessie-backports tlp tlp-rdw
instead.
Without systemd: if your system runs with sysvinit, make shure the following packages are installed:
apt-get install acpi-support-base pm-utils
ThinkPads require an additional:
apt-get install tp-smapi-dkms acpi-call-dkms
ThinkPad notes:
- Refer to "Which kernel module?" for details
- You must disable Secure Boot to use the ThinkPad specific packages
Package Install
Packages are available in the offical repositories:
- tlp (Community) – Power saving
- tlp-rdw (Community) – optional, Radio Device Wizard
- tp_smapi (Community) – optional ThinkPad only,
tp-smapi is needed for battery
charge thresholds, recalibration and specific status output of tlp-stat
- acpi_call (Community) – optional ThinkPad only,
acpi-call is needed for battery charge thresholds and recalibration on Sandy Bridge and newer models
(X220/T420, X230/T430 et al.)
The above packages may be installed via terminal command:
pacman -S tlp tlp-rdw
ThinkPads require an additional:
pacman -S tp_smapi acpi_call
ThinkPad notes:
- Refer to "Which kernel module?" for details
- You must disable Secure Boot to use the ThinkPad specific packages
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.
Officially supported Fedora releases
TLP packages are available from the official Fedora repositories:
- tlp (Updates) – Power saving
- tlp-rdw (Updates) – optional, Radio Device Wizard
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
ThinkPads 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 http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
dnf install http://repo.linrunner.de/fedora/tlp/repos/releases/tlp-release.fcXX.noarch.rpm
Replace XX with the Fedora release number.
The following packages are needed:
- akmod-tp_smapi (TLP repo) – optional ThinkPad only,
tp-smapi is needed for battery
charge thresholds, recalibration and specific status output of tlp-stat
- akmod-acpi_call (TLP repo) – optional ThinkPad only,
acpi-call is needed for battery charge thresholds and recalibration on Sandy Bridge and newer models
(X220/T420, X230/T430 et al.)
- kernel-devel (Fedora repo) – optional,
needed for the akmod packages above
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:
- Refer to "Which kernel module?" for details
- You must disable Secure Boot to use the ThinkPad specific packages
The installation with layman is described
here.
Binary packages for Sabayon are available as well;
see instructions.
Officially supported openSUSE Leap releases and Tumbleweed
Packages are available from the official repositories:
- tlp – Power saving
- tlp-rdw – optional, Radio Device Wizard
Install them with the following command (in a root shell):
zypper install tlp tlp-rdw
ThinkPads only
- tp_smapi_kmp – needed for battery charge thresholds, recalibration and specific status
output of tlp-stat; download packages here.
- acpi_call – needed for battery charge thresholds and recalibration on Sandy Bridge
and newer models (X220/T420, X230/T430 et al.); download packages
here.
Note: refer to "Which kernel module?" for details.
No power saving boot options are necessary for Linux distributions / releases currently supported by TLP.
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.
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
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.
Hint: all commands described in this section that are shown with sudo, may be executed
without sudo in a root shell.
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
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 PCI(e) 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.
Show trace output:
tlp-stat -T
tlp-stat --trace
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:
- Re-power the drive by releasing and reinserting the drive slot/Ultrabay eject lever;
on newer models push the media eject button
- Devices other than optical drives – in particular hard disk drives
– are not affected by this command
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).
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.
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.
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:
- The command terminates automatically when the battery is discharged completely
- The command needs the AC power supply plugged in
- Normal use of the ThinkPad is possible during the discharge process
- ThinkPads with two batteries: the battery controller can only handle one battery at a time.
While discharging one battery with this command the other battery can neither be charged
nor discharged.
- When encountering problems, see the TLP FAQ
ThinkPads only
sudo tlp recalibrate [ BAT0 | BAT1 ]
This command works as follows:
- Resets the charge thresholds to factory defaults 96 / 100 %
- Discharges the selected battery completely (see description of tlp discharge above)
- When discharging is complete the command terminates
- Important: to complete the recalibration process, let the battery charge to
100 % subsequently (you may power off but not remove AC power)
Example:
sudo tlp recalibrate BAT0
Recalibrates the main battery (BAT0).
Hints:
- ThinkPads with two batteries: the battery controller can only handle one battery at a time.
While discharging one battery with this command the other battery can neither be charged
nor discharged.
- The recalibration process resets the capacity information in the battery pack.
It cannot repair defective battery cells.
Disk ID
tlp diskid
Shows the IDs of all attached disk drives.
Status Report
sudo tlp stat
is an alias to tlp-stat.
Conditional execution of commands depending on the actual power source:
run-on-ac command parameter ...
run-on-bat command parameter ...
Manpages exist for all TLP commands:
man command
TLP is licensed under the GPL version 2 or later.
To obtain the sources, please take a look at the
TLP Developer Documentation.
For general questions on how to use or configure 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.
Note: the issue tracker is not a support forum.
Carefully read the TLP FAQ and
TLP Troubleshooting before opening an issue!
To examine suspected problems in TLP more closely, activate trace mode in
/etc/default/tlp:
TLP_DEBUG="bat disk lock nm path pm 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.
TLP