TLP 1.10.2
Laptop power management with per-setting control over CPU scaling, PCIe power states, USB autosuspend, wifi power saving, and battery charge thresholds on supported hardware.
Download TAR.GZ Project website ↗Download Mirrors
TLP applies power-saving settings automatically depending on whether a laptop is on AC or battery. It is the finer-grained alternative to the power profiles your desktop already exposes.
Do not run it alongside power-profiles-daemon
The most important thing to know. Both manage the same settings and they will fight.
systemctl status power-profiles-daemon
sudo systemctl mask power-profiles-daemon # if you choose TLP
Modern GNOME and KDE integrate with power-profiles-daemon, and its defaults are reasonable. Try those first; add TLP when they are not enough.
Configuration
sudo apt install tlp # Debian and Ubuntu
sudo dnf install tlp # Fedora
sudo pacman -S tlp # Arch
sudo systemctl enable --now tlp
sudo tlp-stat -s
Settings go in /etc/tlp.d/99-custom.conf rather than editing the main config, so package updates do not overwrite them:
CPU_SCALING_GOVERNOR_ON_BAT=powersave
CPU_ENERGY_PERF_POLICY_ON_BAT=power
PCIE_ASPM_ON_BAT=powersupersave
WIFI_PWR_ON_BAT=on
USB_AUTOSUSPEND=1
START_CHARGE_THRESH_BAT0=75
STOP_CHARGE_THRESH_BAT0=80
Charge thresholds are the underrated feature
On supported hardware, ThinkPads and several others, keeping the battery at eighty percent rather than one hundred slows degradation considerably. On a laptop that lives on a desk, the capacity you give up is capacity you were not using.
sudo tlp-stat -b # confirm the thresholds took effect
Not all hardware exposes them. tlp-stat -b tells you.
Measure before tuning
sudo powertop --calibrate # on battery, takes several minutes
sudo powertop
The largest drain is usually one specific thing: a discrete GPU that never sleeps, a browser tab, or screen brightness. Tuning twenty settings when one is responsible wastes an evening.
Our power management guide covers the diagnosis side.
USB autosuspend, with a caveat
USB_AUTOSUSPEND=1 saves power and occasionally causes a mouse or dongle to lag on first movement. Exclude specific devices by ID if that happens:
USB_DENYLIST="1234:5678"
Verify Your Download
Most people install from their distribution repository. Source releases are on GitHub.