Do you want to significantly extend the battery life of your Linux laptop?
Great news! I just read an interesting article by Hayden James that presents battery life optimization for Linux laptops using TLP. With his finely-tuned configuration, Hayden managed to increase the battery life of his ThinkPad from 6-8 hours to over 10 hours, and by following his guide, you’ll be able to achieve the same results.
TLP (Tuning Linux Power) is a Linux tool designed to optimize the power usage of recent laptops without complex configuration. Unlike its predecessor, Laptop Mode Tools (LMT), TLP applies many of PowerTop’s recommendations (Intel’s analysis tool) by default to save energy. TLP runs in the background and, once installed, can automatically adjust dozens of system parameters to reduce power consumption (fine management of the CPU, disks, network, GPU, etc.).
Here’s how to install TLP:
For Ubuntu/Debian/Mint/Pop!_OS
1sudo apt install tlp cpufrequtils
For Fedora/CentOS/RHEL
1sudo dnf install tlp cpufrequtils
For Arch Linux and derivatives
1sudo pacman -S tlp tlp-rdw
After installation, activating TLP is straightforward:
To activate the service
1sudo systemctl enable tlp.service
2sudo systemctl mask systemd-rfkill.service
3sudo systemctl mask systemd-rfkill.socket
4sudo systemctl restart tlp.service
There’s also a section regarding CPU configuration for AMD laptops. AMD Ryzen/Zen processors, in particular, come with new frequency and voltage management options that TLP can exploit to save energy without sacrificing performance too much. I’m not sure about Intel, but I believe it should have similar capabilities. For instance, considering the governor control, which governs how frequently the CPU operates based on load. This specific point is crucial, as much of the energy-saving magic happens here.
The “ondemand” governor (used while plugged in) acts quite aggressively: as soon as it detects CPU load exceeding a certain threshold (typically 80%), it immediately pushes the frequency to maximum. Then, as the load decreases, it gradually reduces the frequency in increments. It’s like your CPU is a Formula 1 driver who floors the accelerator when he sees a straightaway but gradually eases off in the turns.
The “conservative” governor (preferred when on battery) is much more patient: instead of jumping straight to max speed, it increases the frequency step by step and only if the load remains high over several consecutive samples (generally between 100 and 500 ms depending on kernel configuration). It also checks more frequently if it can lower the frequency. This is more like a frugal driver who accelerates slowly and anticipates deceleration to conserve fuel.
In concrete terms, if you’re typing in your favorite editor with ondemand active, each keystroke might trigger a spike to 3-4 GHz, whereas with the conservative governor active, the CPU might only rise to 1.2 GHz and then 1.8 GHz if necessary. On modern processors, this difference can easily represent 3 to 8 watts of consumption reduction during daily tasks, equating to an additional 30-60 minutes of battery life on a typical day. It’s worth considering!
Don’t forget about enabling the amd-pstate mode which allows the CPU to drop to lower idle frequencies (around 400 MHz) in passive mode and disables automatic “Turbo Core” boosts, thus reducing idle consumption. However, beware that it can also impact your PC’s performance, so it’s up to you to gauge everything carefully.
For AMD GPUs, the same applies with power management and performance via DPM (Dynamic Power Management) managed by the amdgpu driver. Once again, TLP takes care of everything. However, for Linux laptop owners with an NVIDIA card, TLP can be immensely beneficial but will probably require additional specific configuration.
Additionally, the longevity of a lithium-ion battery doesn’t solely depend on immediate usage, but also on how it’s charged and discharged over time. TLP includes “Battery Care” features that intelligently manage charging to minimize chemical wear on the battery. This includes maintaining the battery within a partial charge range of 20% to 80%, meaning setting up charging profiles based on your usage (traveler, stationary, etc.).
Now that TLP is installed and humming in the background, let’s get serious about the configuration that will turn your laptop into a battery life marathoner.
TLP operates using a configuration file (/etc/tlp.conf) where each parameter can be adjusted. By default, without any changes, it already offers an aggressive “power-saving” profile on battery and a more performance-oriented profile while plugged in, suitable for most machines.
Be cautious, some features (particularly battery charge thresholds) may not be supported by all laptops, so check beforehand. Here’s the recommended configuration according to Hayden, which you should of course adapt to your hardware:
# CPU Configuration
CPU_DRIVER_OPMODE_ON_AC=passive
CPU_DRIVER_OPMODE_ON_BAT=passive
CPU_SCALING_GOVERNOR_ON_AC=ondemand
CPU_SCALING_GOVERNOR_ON_BAT=conservative
CPU_BOOST_ON_AC=1
CPU_BOOST_ON_BAT=0
# Platform Profiles
PLATFORM_PROFILE_ON_AC=balanced
PLATFORM_PROFILE_ON_BAT=low-power
# AMD GPU
RADEON_DPM_PERF_LEVEL_ON_AC=auto
RADEON_DPM_PERF_LEVEL_ON_BAT=low
# Battery Management
START_CHARGE_THRESH_BAT0=50
STOP_CHARGE_THRESH_BAT0=80
To verify everything is working well, here are the commands TLP offers:
# Check Status
1sudo tlp-stat -p # Available profiles
2sudo tlp-stat -b # Battery info
3sudo tlp-stat -s # General status
You’ll see it’s like going from a Hummer that guzzles gas to a Toyota Prius. Don’t forget to reduce your screen brightness, use a lightweight desktop environment like Xfce, LXDE, or MATE, and closely monitor all processes and services running in the background, such as updates, file indexing, cloud sync, etc., that could gradually drain the battery. When on battery, it’s also wise to close unused applications instead of leaving them minimized if they consume CPU.
For instance, closing a browser left open with active tabs will prevent it from using CPU in the background.
Tools like top
will help you identify processes that consume CPU or wake it up frequently. Moreover, TLP aids by reducing CPU frequency and autosuspending certain devices, but it cannot close programs for you. Also, consider disabling services on startup that you do not use (such as print services, local web servers, etc., if they are unnecessary).
Additionally, turning off Bluetooth, Wi-Fi, or any radio component when not needed can gain a few percentage points of battery life.
In summary, by combining all these tips, you can create an environment conducive to energy savings. With TLP by your side to optimally manage your hardware, and by practicing good habits (closing unused apps, lowering brightness, using a lightweight desktop, maintaining charge thresholds), you’ll be well-equipped for the battery life of your Linux computer. For the more tech-savvy among you, you might also consider creating a shell script to toggle your TLP configuration between an ‘ultra-economy’ mode and a ‘max performance’ mode depending on your needs.
So, what are you waiting for to boost the battery life of your Linux laptop? A big thank you to Hayden James for shedding light on TLP!

We do not support or promote any form of piracy, copyright infringement, or illegal use of software, video content, or digital resources.
Any mention of third-party sites, tools, or platforms is purely for informational purposes. It is the responsibility of each reader to comply with the laws in their country, as well as the terms of use of the services mentioned.
We strongly encourage the use of legal, open-source, or official solutions in a responsible manner.
Comments