Battery life has always been a worry for Linux users when coming to laptops. Due to the lack of optimization of distributions, designed to work on the highest number of device as possible, battery life is much lower than in Windows (ehm, Windows 10 is not the case).
Fortunately, there are a lot of tools that can help us to gain some extra battery time and TLP is one of them. In few words, it does pretty much the same things as the old-fashioned laptop-mode-tools but in a more modern manner and more precise way.
- In the first place, TLP is more modern: it has separate cpu scaling settings for older CPU and for newer intel CPU (from sandy bridge ongoing) using intel p_state (so, only powersave and performance governors are available)
- All settings are in a single configuration file, usually placed in /etc/default, while laptop-mode-tools has a general configuration file along with a number of separate config files for each of the peripherals of your laptop. I think the TLP way is less confusing.
- TLP tells you to remove cpufrequtils settings in order to avoid conflicts, while I experienced confusion in laptop-mode-tools when coming to configure CPU behavior and I couldn’t understand if it was regulated by laptop-mode-tools itself or by cpufrequtils.
Installing TLP is very easy, just update your repository and type (in Ubuntu, Debian and Mint)
sudo apt-get update sudo apt-get install tlp
Of course, if you already have installed laptop-mode-tools you have to remove it otherwise the two power saving tools will conflict.
I only had one serious issue using TLP: sometimes the laptop failed to suspend or to shut down, so I had to manually power it off and turn it on again, causing, if it was the case of a suspension failure, loss of work. Well, it was due to the hard disk setting regulate APML (advanced power management level): they were harmful for my SSD disk, at least in my case.
So, if you use TLP in a laptop with a SSD and you experience troubles to correctly suspend it or shutdown, just comment the lines of /etc/default/tlp related to apml (the underlined ones). It could save you a lot of troubles and prevent losses of important work.
# Hard disk devices; separate multiple devices with spaces (default: sda). # Devices can be specified by disk ID also (lookup with: tlp diskid). #DISK_DEVICES="ata-Samsung_SSD_840_EVO_500GB_S1DHNSAFA59407Y" # Hard disk advanced power management level: 1..254, 255 (max saving, min, off) # Levels 1..127 may spin down the disk; 255 allowable on most drives. # Separate values for multiple disks with spaces. Use the special value 'keep' # to keep the hardware default for the particular disk. #DISK_APM_LEVEL_ON_AC="254 254" #DISK_APM_LEVEL_ON_BAT="128 128"
Is TLP effective? Yes. I went from 2 hours of average use when on battery to 2 hours 50 minutes. Does TLP makes laptop performance decrease to save battery? Yes, but the worsening is almost imperceptible; anyway, I think it’s a good compromise to gain an extra hour on battery.
If you’d like to check, tlp is my TLP config file.