Basic to intermediate difficulty - Only suitable for you if you feel comfortable:
TLP is a feature-rich utility for Linux, saving laptop battery power without the need to delve deeper into technical details.
You can install TLP from your package manager, such as KDE Plasma's Discover store. Alternatively, you can use apt in the command line. See my personal notes, below.
TLP has excellent documentation, here: https://linrunner.de/tlp/
If you are a beginning user, I recommend that you install TLP-UI, from your package manager or from FlatHub For TLP-UI documentation, see TLP-UI on GitHub
TLP is not compatible with some other power management tools. For example, when installing TLP on Ubuntu, you may be prompted to remove or disable power-profiles-daemon.
Note: TLP on the Ubuntu repo is slightly outdated.
sudo apt update
sudo apt install tlp tlp-rdw acpi-call-dkms
tlp-rdw: improves radio/Wi-Fi/WWAN power management.
acpi-call-dkms: allows extra CPU/Intel GPU power features.
Enable and start TLP
sudo systemctl enable tlp --now
Verify it’s running
tlp-stat -s
You should see something like:
TLP power save = enabled
Steps to apply:
sudo nano /etc/tlp.confsudo tlp starttlp-stat -s
tlp-stat -b # optional, battery info
The following TLP configuration is from my Lenovo Thinkpad X1 Carbon Gen9.
This aims to:
# =======================
# /etc/tlp.conf
# X1 Carbon Gen9 tuned for max battery / full AC performance
# =======================
# -----------------------
# Battery (maximum runtime)
# -----------------------
CPU_SCALING_GOVERNOR_ON_BAT=powersave
CPU_ENERGY_PERF_POLICY_ON_BAT=power
CPU_MIN_PERF_ON_BAT=0
CPU_MAX_PERF_ON_BAT=25
PLATFORM_PROFILE_ON_BAT=low-power
NMI_WATCHDOG_ON_BAT=0
WIFI_PWR_ON_BAT=on
DISK_APM_LEVEL_ON_BAT="64 64"
DISK_IDLE_SECS_ON_BAT=60
# Intel GPU power saving
INTEL_GPU_RUNTIME_PM_ON_BAT=auto
# PCIe / device runtime PM
RUNTIME_PM_ON_BAT=auto
PCIE_ASPM_ON_BAT=powersave
# USB autosuspend
USB_AUTOSUSPEND_ON_BAT=on
DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE=nfc
# Optional battery charge thresholds - consciously marked out
# START_CHARGE_THRESH_BAT0=75
# STOP_CHARGE_THRESH_BAT0=95
# -----------------------
# AC (maximum performance)
# -----------------------
CPU_SCALING_GOVERNOR_ON_AC=performance
CPU_ENERGY_PERF_POLICY_ON_AC=performance
CPU_MIN_PERF_ON_AC=0
CPU_MAX_PERF_ON_AC=100
PLATFORM_PROFILE_ON_AC=performance
NMI_WATCHDOG_ON_AC=1
WIFI_PWR_ON_AC=off
DISK_APM_LEVEL_ON_AC="254 254"
DISK_IDLE_SECS_ON_AC=0
# Intel GPU
INTEL_GPU_RUNTIME_PM_ON_AC=off
# PCIe / device runtime PM
RUNTIME_PM_ON_AC=on
PCIE_ASPM_ON_AC=performance
# USB
USB_AUTOSUSPEND_ON_AC=off
# -----------------------
# General TLP settings
# -----------------------
TLP_ENABLE=1
SOUND_POWER_SAVE_ON_BAT=1
SOUND_POWER_SAVE_CONTROLLER=Y
USB_EXCLUDE_BTUSB=1