TLP FAQ

This document answers frequently asked questions and provides solutions / workarounds for common problems.

Contents

  1. Installation and Configuration
  2. Audio
  3. Disk Drives
  4. Graphics
  5. Input devices
  6. Powertop
  7. Processor Frequency Scaling
  8. Radio Devices (Wifi, Bluetooth, WWAN)
  9. System Startup / Suspend
  10. ThinkPad Battery
  11. USB
  12. Warnings
  13. Features excluded from TLP intentionally
  14. Links

Installation and Configuration

How do I install TLP on a development release of my distribution?

TLP packages for new distribution versions appear in due time for the release. If you want to use TLP with alpha or beta releases, download the packages for the predecessor and install them manually with the package manager.

Does TLP conflict with other power management tools like laptop-mode-tools etc.?

Yes. Using another tool simultaneously means that TLP's settings get overwritten by the other tools settings (and vice versa), so actual power saving gets unpredictable.

thermald: thermald's purpose is to limit power dissipation before the laptop's temperature gets critical. TLP enables power saving features globally to optimize battery power especially in idle and low workload situations. TLP does not conflict with thermald.

Powertop: please refer to the corresponding section.

Does TLP conflict with my desktop's power settings?

Depends on the setting. TLP

"Conflict possible" means that the setting configured in TLP may get overwritten by the desktop's setting (and vice versa). System stability issues are not to be expected from those conflicts.

Does TLP run on my laptop (not a ThinkPad)?

TLP runs on every laptop brand. A few features are available on IBM/Lenovo ThinkPads only.

Does TLP make sense on newer laptops / with newer Linux versions?

Yes, of course.

The Linux kernel has accumulated many power saving features over the years, but only a minority is enabled by default. It seems to be really hard for the kernel developers to fully debug power saving on all possible hardware, so power saving stays disabled for the majority of drivers and it's up to the user to enable it.

Conclusion: a userspace tool like TLP is still needed to enable power saving globally.

Should i install TLP inside a virtual machine

No. It is not effective to run a power management tool inside a virtual machine (guest). Install TLP in the host operating system instead.

How can I change TLP's settings?

See TLP Configuration.

Does updating TLP overwrite my settings?

No. Package managers take care not to replace a user edited configuration file without explicit confirmation and create a backup copy too.

Do i need to edit my settings after updating TLP?

Not necessarily. TLP is always backwards compatible to existing configuration files. New features get reasonable default settings when not declared in the configuration file.

However package installation does not merge a new feature's settings. So if you want to change the default, you need to:

I do not use Network Manager, how do i install tlp without tlp-rdw in Ubuntu/Debian?

sudo apt-get install --no-install-recommends tlp

Does TLP work with other Linux distributions?

Possibly. There is no support however.

You may try to install the source tarball from GitHub:

# Unpack
tar xfvz TLP-V.v.tar.gz
cd TLP-V.v

# Install (as root)
make install

# Enable the services, e.g. (as root)
systemctl enable tlp.service
systemctl enable tlp-sleep.service

Hint: check Makefile options to customize 'make install' to your distribution's requirements.

Audio

When encountering problems with the sound output on battery, for example clicking noises, try to disable audio power save completely:

SOUND_POWER_SAVE_ON_AC=0
SOUND_POWER_SAVE_ON_BAT=0

See TLP Configuration.

Disk Drives

Why is my hard disk drive parking the read-write heads so frequently (clicking noises)?

The APM setting for battery mode

DISK_APM_LEVEL_ON_BAT=128

corresponds to the Ubuntu default and should cause no problems. Unfortunately drive manufacturers interpret the APM levels quite spaciously to save power.

Solution: try values > 128. See TLP Configuration.

Why doesn't my hard disk drive spin down?

Stopping the system disk for extended periods of time is unlikely to work, because applications and system daemons wake up the disk frequently. There is no real solution for this other than changing many applications and daemons.

How can I stop my 2nd hard disk drive?

To spin down after 1 minute (= 12 · 5 seconds) idle time use:

DISK_SPINDOWN_TIMEOUT_ON_AC="0 12"
DISK_SPINDOWN_TIMEOUT_ON_BAT="0 12"

See TLP Configuration.

Why does my hard disk drive always spin up when switching from AC to battery power (and vice versa)?

TLP applies configured APM levels and spin down timeouts upon every change of power source and upon suspend/resume. Writing the settings inevitably spins up the disk. To prevent this behaviour either disable the settings completely by commenting all of them (with a leading '#') or use the special value "keep" for the specific disk.

See TLP Configuration.

Why is my Crucial M4 SSD so slow on battery?

The Crucial M4 reduces performance according to the APM level. You may disable APM with

DISK_APM_LEVEL_ON_AC="255 255"
DISK_APM_LEVEL_ON_BAT="255 255"

System is excessively slow on battery

Affected hardware: ThinkPad T60 and T420 users reported this.

Solution:

SATA_LINKPWR_ON_BAT=medium_power

Drive Slot / Ultrabay: why is the optical drive not powered off on battery?

Possible causes are:

ThinkPad without Ultrabay

SL/Edge models for instance.

Incompatible Laptop

At the time of writing this functionality is tested with ThinkPads only.

Graphics

Radeon

Why does my display flicker upon changing the power source?

This is caused by the radeon driver's power management. To disable the setting either use

RADEON_POWER_PROFILE_ON_AC=default
RADEON_POWER_PROFILE_ON_BAT=default

or

RADEON_DPM_STATE_ON_AC=performance
RADEON_DPM_STATE_ON_BAT=performance

depending on your card/kernel. Refer to TLP Configuration for details.

Kernel message "*ERROR* radeon: ring 0 test failed" on AC power

Affected hardware: a Lenovo Ideapad 300 (Intel / Radeon hybrid graphics) user reported this issue.

Solution: disable DPM by commenting the configuration line:

#RADEON_POWER_PROFILE_ON_AC=default

Nvidia Optimus

Why does my laptop consume so much battery power?

Laptops with Optimus hybrid graphics contain two graphics units: one from Intel on the processor die ("integrated", iGPU) and one from Nvidia ("discrete", dGPU). Linux uses the Intel unit by default, but at the same time the unused Nvidia unit is enabled and uses a lot of battery power because no driver is loaded.

TLP can't do anything about this – Possible solutions are:

I use PRIME to disable the dGPU, why is it always re-enabled after boot?

Exclude the dGPU from runtime power management, either by blacklisting the driver(s)

RUNTIME_PM_DRIVER_BLACKLIST="nouveau nvidia"

or the device

RUNTIME_PM_BLACKLIST="01:00.0"

Hint: to check whether "01:00.0" matches your Nvidia dGPU, use

lspci -v | perl -ne '/VGA/../^$/ and /VGA|Kern/ and print'

Refer to TLP Configuration too.

Bumblebee fails to re-enable the dGPU

Exclude the dGPU from runtime power management.

TLP 1.0 and higher: blacklist the driver(s)

RUNTIME_PM_DRIVER_BLACKLIST="nouveau nvidia"

TLP 0.9 and before: blacklist the device

RUNTIME_PM_BLACKLIST="01:00.0"

Hint: to check whether "01:00.0" matches your Nvidia dGPU, see previous section.

Input Devices

Why does TLP cause my USB keyboard / mouse to stop working?

Most likely it doesn't. All USB input devices (usbhid) are excluded from autosuspend by default.

Bluetooth mouse stops or disconnects

Refer to bluetooth.

Powertop

Does Powertop achieve better power saving than TLP?

No. TLP's default configuration is based on the same policy as powertop's recommendations. Refer to the following sections for details and exceptions.

Does Powertop conflict with TLP?

Powertop in interactive mode has no impact on TLP's function.

Explanation: powertop isn't a power management tool but merely an analysis tool. You can use powertop to view estimates about your power usage before or after installation of TLP, but TLP determines the best defaults for your system regardless of whether or not powertop is installed. Attempting to apply powertop's --auto-tune settings on each boot will only conflict with TLP.

Why does Powertop suggest more power saving settings with TLP already running?

Important: TLP applies maximum power savings on battery power only, so unplug AC power before checking with powertop.

Not all suggestions from Powertop make sense or are safe to implement:

Message "VM writeback timeout"

Powertop insists on a value of 1500 centisecs, whereas TLP's defaults are 1500 on ac and 6000 on battery power. If you incline towards powertop's opinion then change the setting to:

MAX_LOST_WORK_SECS_ON_BAT=15

Message "SATA ALPM link power"

Some laptops refuse ALPM for particular SATA links. It is impossible to change from max_performance to min_power. One cause may be an open link to the docking stations drive bay (when not docked).

Workaround for X-Series ThinkPads: enter BIOS setup. Go to "Security → IO Port Access" and change Ultrabay access to "disabled". Saves approx. 0.4 W.

Message "Wifi powersave"

For some wifi cards – for instance the Intel 3945abg – the Linux kernel does not support wifi power save.

Message "USB autosuspend"

TLP intentionally exempts input (usbhid) and WWAN (3G/UMTS, 4G/LTE) devices from autosuspend.

Input devices may be whitelisted (USB_WHITELIST, refer to USB); to enable autosuspend for WWAN devices use:

USB_BLACKLIST_WWAN=0

Powertop shows a very high power consumption for device xy – what can i do?

It is impossible to measure the power consumption of individual laptop components. Therefore the readings in "Device stats" column "Power est." are rough estimations that are obviously wrong and should be ignored.

Processor Frequency Scaling

Settings are not or incompletely applied

tlp-stat -p show may values that do not reflect configuration, frequent example is the scaling governor.

There are several possible causes:

Conflict with your distribution's settings

Some distributions use dedicated scripts to select a scaling governor during system start.

Solution: disable the scripts as follows:

Ubuntu
sudo update-rc.d -f ondemand remove

Revert change with:

sudo update-rc.d ondemand defaults
Debian Jessie
update-rc.d -f cpufrequtils remove # as root

Revert change with:

update-rc.d cpufrequtils defaults # as root
Linux distributions or versions not listed above

Your mileage may vary. Check your distribution's documentation.

Invalid frequency settings

Solution: tlp-stat -p shows the correct values for your CPU. Example:

/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies = 2400000 1600000 800000 [kHz]

No ondemand governor with intel_pstate

/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver = intel_pstate
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor = powersave

Since kernel 3.9 the new scaling driver intel_pstate is available and enabled by default on Intel Sandy Bridge (or newer) hardware. intel_pstate supports the governors powersave (recommended default) and performance only, ondemand is gone.

tlp-stat -p shows "x86_energy_perf_policy: program [for your kernel] not installed."

Depending on the distribution your mileage may vary:

Radio Devices (Bluetooth, Wifi, WWAN)

Slow or unstable Wifi on battery power

Cause: kernel driver does not implement power saving properly.

Solution: disable power saving on battery

WIFI_PWR_ON_BAT=off

Bluetooth devices hang or disconnect

Cause: most internal laptop bluetooth devices and all external bluetooth dongles are USB devices. Some do not implement autosuspend mode properly, giving trouble to connected devices.

Solutions

TLP 1.0 and newer: configure USB_BLACKLIST_BTUSB=1.

TLP 0.9 and before: identify the USB bluetooth device with

tlp-stat -u | grep btusb

Add it to USB_BLACKLIST.

Apply the new setting with

sudo tlp usb

XFCE desktop / Xubuntu: Bluetooth is not disabled upon system startup

Cause: the XFCE Desktop uses the Blueman bluetooth applet, which enables bluetooth when started.

Solution: you have to remove the bluetooth applet from autostart or uninstall the package blueman. Alternatively you may patch the blueman-applet (see LP #908375).

Radio states are not restored according to RESTORE_DEVICE_STATE_ON_STARTUP=1

Cause: conflict with other settings, i.e. DEVICES_TO_DISABLE/ENABLE_ON_... .

Solution: don't use RESTORE_DEVICE_STATE_ON_STARTUP=1 and DEVICES_TO_DISABLE/ENABLE_ON_... simultaneously.

Cause: systemd 209 (or higher) implements its own radio state restore scheme (systemd-rfkill.service, see TLP Configuration).

Solution: use either RESTORE_DEVICE_STATE_ON_STARTUP=1 or systemd's approach but not both.

Why is USB autosuspend not enabled for my integrated WWAN (3G/UMTS, 4G/LTE) card?

Cause: some cards do not work reliable with USB autosuspend mode enabled, so by default TLP doesn't apply USB autosuspend for most integrated WWAN cards.

Solution: force USB autosupend for WWAN with

USB_BLACKLIST_WWAN=0

Refer to TLP Configuration.

System Startup / Suspend

systemd: must i enable TLP's service units?

Yes. The service units are critical for TLP's operation:

Shutdown freezes before poweroff

Solution: add the mei_me module to RUNTIME_PM_DRIVER_BLACKLIST.

Shutdown reboots instead of poweroff

Affected hardware: HP laptops (based on user feedback)

Solution: deactivate Wake-on-LAN in the BIOS.

Spontaneous shutdown on battery

Symptom: laptop shuts down spontaneously when changing to battery power.

Affected hardware: an Acer Aspire V5-591G user with kernel 4.4 reported this issue.

Solution: disable audio power saving.

Ethernet not working after resume

Affected hardware: a Dell XPS user with Kernel 4.4 reported this issue.

Solution: enable Wake-on-LAN

WOL_DISABLE=N

ThinkPad Battery

What are the "ThinkPad battery features"?

ThinkPad battery features means battery charge thresholds and the possibility to discharge or recalibrate the battery when AC is connected.

Disclaimer:

How to choose good battery charge thresholds?

Note: newer ThinkPad models may not need charge thresholds due to dualmode battery firmware – refer to Lenovo Forums and Lenovo Support.

Factory settings for ThinkPad battery thresholds are as follows: when plugged in the battery starts charging at 96%, and stops at 100%. These settings are optimized for maximum runtime, but having a battery hold a lot of power will decrease its capacity over the years. To alleviate this problem, the start/stop charge thresholds can be adjusted – at the cost of a more or less reduced battery runtime.

It all depends on how you use your laptop, or more precisely, on the minimal runtime you're ready to accept when you're on the road. In the end, it all comes down to a runtime vs. lifespan trade-off.

If the laptop is plugged most of the time and rarely unplugged, maximizing battery lifetime at the cost of a greatly reduced runtime may be acceptable, with values like starting charge at 40% and stopping at 50%.

On the contrary, if you use it unplugged most of the time, starting charge at 85% and stopping at 90% would allow for a much longer runtime and still give a lifespan benefit over the factory settings.

(Source: Lenovo Forums)

Default TLP settings (only if you uncomment the relevant lines) are slightly more protective regarding lifespan, with 75%/80% start/stop charge thresholds.

Please consider that the start threshold is the critical constraint for runtime, because it defines the lowest charge level that can occur while plugged.

Also, don't forget that TLP provides a command (tlp fullcharge) to fully charge the battery, when you need to temporarily maximize runtime (for example in case of a trip).

Which kernel module do i need for my hardware, tp-smapi or acpi-call?

Check the bottom of tlp-stat's output, section "Suggestions", for the following lines

Install tp-smapi kernel modules for ThinkPad battery features
Install acpi_call kernel module for ThinkPad battery features

and install the required module package as explained in Installation for your distribution.

Most ThinkPad models need only one of the above kernel modules. You may check the output of tlp-stat -b for lines like

tp-smapi = inactive (unsupported hardware)
tpacpi-bat = inactive (unsupported hardware)

and remove the unnecessary module package (tpacpi-bat means acpi-call). However, it doesn't hurt to keep both.

Why is my battery charged up to 100% – ignoring the charge thresholds?

Possible causes are:

Laptop is not a ThinkPad

Battery charge thresholds and recalibration work with ThinkPads only (see above).

Kernel module is not installed

Symptom: tlp-stat -b shows

tp-smapi = inactive (kernel module 'tp_smapi' not installed)

or

tpacpi-bat = inactive (kernel module 'acpi_call' not installed)

Solution: see Which kernel module?

Fedora release upgrade

It may be necessary to rebuild the kernel modules (as root):

akmods --force

Installation of package tp-smapi-dkms fails

Symptom (Ubuntu): package install shows

Setting up tp-smapi-dkms (0.41-1) ...
Creating symlink /var/lib/dkms/tp-smapi/0.41/source ->
/usr/src/tp-smapi-0.41
DKMS: add completed.
Error! Your kernel headers for kernel 3.X.0-YY-generic cannot be found.
Please install the linux-headers-3.X.0-YY-generic package,
or use the --kernelsourcedir option to tell DKMS where it's located

Solution: install package linux-generic-headers.

Symptom (Ubuntu 16.04, mainline kernel >= 4.7 or HWE 4.8): package install shows

Setting up tp-smapi-dkms (0.41-1) ...
make KERNELRELEASE=4.8.0-46-generic -C /lib/modules/4.8.0-46-generic/build M=/var/lib/dkms/tp-smapi/0.41/build....(bad exit status: 2)
Error! Bad return status for module build on kernel: 4.8.0-46-generic (x86_64)

Solution: either enable the TLP PPA (see Installation) and update your packages (recommended) or download version 0.42-1 from Yakkety and install it manually.

Kernel module tp-smapi is not loaded

Symptom: tlp-stat -b shows

tp-smapi = inactive (kernel module 'tp_smapi' load error)

Solution: try to load manually with

sudo modprobe -v tp_smapi

and check tp-smapi Troubleshooting for a solution matching the error message or use adequate forums to resolve your issue with tp-smapi.

Hints:

Kernel module acpi-call is not loaded

Symptom: tlp-stat -b shows

tpacpi-bat = inactive (kernel module 'acpi_call' load error)

Solution: try to load manually with

sudo modprobe -v acpi_call

and use adequate forums to resolve your issue with acpi-call.

Note: you must disable Secure Boot otherwise acpi-call will refuse to load.

ThinkPad T420(s)/T520/W520/X220

tp-smapi doesn't support start threshold and recalibration on Sandy Bridge generation ThinkPads. Symptoms are:

tlp-stat -b shows

/sys/devices/platform/smapi/BAT0/start_charge_thresh = (not available)

tlp setcharge or fullcharge shows the message

start => Warning: cannot set threshold.

tlp discharge or recalibrate show the message

Error: discharge function not available for this ThinkPad model.

Solution: TLP automatically uses tpacpi-bat when the kernel module acpi-call is available, see Which kernel module?

ThinkPad T430(s)/T530/W530/X230 (and all newer models)

Solution: TLP automatically uses tpacpi-bat when the kernel module acpi-call is available, see Which kernel module?

ThinkPad 13, L420/520, SL300/400/500, X121e

These models are neither supported by tp-smapi nor by tpacpi-bat. Please refrain from opening issues for this.

Battery has been removed

By removing (and re-inserting) the battery the charge thresholds are reset to factory settings (96 / 100%) for some models. To restore TLP's settings the following two steps are needed:

or use

sudo tlp setcharge

See Change Battery Charge Thresholds.

Charge thresholds shown by tlp-stat -b do not correspond to the configured ones

Possible causes are:

Configuration was not activated

After changes to the configuration it is necessary to reboot. Alternatively use

sudo tlp start

or

sudo tlp setcharge

to activate the thresholds.

ThinkPad Edge (E/S) series, L series, SL410/510, Yoga series

On these models the threshold values shown by tlp-stat -b do not correspond to the written values. For example the setting START_CHARGE_THRESH_BATx=75 / STOP_CHARGE_THRESH_BATx=80 shows 75 / 74. The described behavior is caused by the firmware (UEFI/BIOS), not by TLP. Nonetheless the charge thresholds work as configured.

Lower threshold does not apply after change

Affected models: X240, Yoga 12 (based on user feedback)

Workaround: activating a new start threshold may require to discharge the battery below the old start threshold after writing the new threshold, e.g. via tlp setcharge or reboot (see Issue #173).

Erratic battery behavior on ThinkPad T420(s)/T520/W520/X220 (and all newer models)

Symptom: some users report severely reduced battery capacity or sudden drops of charge level from around 30 % to zero when employing charge thresholds.

Probable cause: conflict with dualmode battery firmware.

Solution: remove battery thresholds completely or use only the start threshold; then recalibrate battery once.

Note: this is a software only issue, no harm is done to the battery.

Why does the panel applet show the battery state "charging" despite charge thresholds are effective?

All existing panel applets use the standard kernel interface which doesn't give the charge state correctly as soon as charge thresholds intervene. In this situation tlp-stat -b shows "Unknown (threshold effective)" for /sys/class/power_supply/BATx/status. There is no solution at the moment.

In contrast, for ThinkPad models supporting tp-smapi tlp-stat -b shows the correct state below /sys/devices/platform/smapi/BATx/.

Do charge thresholds work even when Linux/TLP is not running?

Yes. The charging process is not controlled by software, but by hardware. TLP just writes the thresholds to the hardware registers (via tp-smapi or tpacpi-bat). Once stored in the hardware the charge thresholds stay effective permanently. See below for removal.

What exactly does the start charge threshold (START_CHARGE_THRESH_BATx) do?

The start charge threshold ensures that the battery is not recharged immediately after every short discharge process. The charging process starts only when the previous discharge was below the value of START_CHARGE_THRESH_BATx.

Do charge thresholds discharge the battery on AC power?

No. Otherwise they would be callled dis-charge thresholds.

Can I prevent discharging the battery by setting the start threshold?

No. Discharging the battery can be prevented only by connecting the power supply or switching off your ThinkPad.

How do I disable the charge thresholds?

Remove the charge thresholds from the configuration by inserting a leading '#'

#START_CHARGE_THRESH_BAT0=75
#STOP_CHARGE_THRESH_BAT0=80

and use

sudo tlp fullcharge

to immediately activate the factory settings 96 / 100%.

My battery does not charge anymore after recalibration, shows X% remaining capacity constantly

Most probable cause: battery is defect – and was it even before the recalibration attempt.

Why does tlp-stat -b display "cycle_count = (not supported)"?

Cycle count is a ThinkPad battery function and available for models supporting tp-smapi only; refer to Which kernel module?

USB

USB device doesn't work

Symptom: some USB devices – scanners for example – do not work reliable when TLP activates USB autosuspend mode.

Solution: lookup the corresponding USB device ID with lsusb, add it to USB_BLACKLIST and reconnect the device.

Hint: TLP automatically excludes all input devices (HID) like keyboards and mice from USB autosuspend. You do not need to enter those in USB_BLACKLIST.

Smartphone doesn't charge when connected

Solution: lookup the smartphone's USB device ID with lsusb, add it to USB_BLACKLIST and reconnect the smartphone.

Warnings

Which kind of warnings does "tlp-stat -w" check for?

Currently the command checks the kernel log for errors possibly caused by the settings for SATA ALPM.

What should i do if warnings are shown?

TLP's default setting on battery

SATA_LINKPWR_ON_BAT=min_power

is optimimized for maximum power saving. Try to use less aggressive values:

SATA_LINKPWR_ON_BAT=medium_power

or

SATA_LINKPWR_ON_BAT=max_performance

or disable the setting completely – see SATA ALPM.

Don't forget to reboot before checking again.

The same applies to SATA_LINKPWR_ON_AC if you changed the default setting.

Note: the difference in power consumption between min_power and max_performance may amount to more than 1 W depending on your hardware.

What to do if the warnings do not disappear after changing the settings?

What is the cause for these errors?

Candidates:

Features excluded from TLP intentionally

Links

TLP

Other