When your laptop shows a much higher power consumption under Linux than with the factory installed operating system, the most common cause is hybrid graphics.
Laptops with hybrid graphics contain two graphics processing units (GPUs), the primary one on the Intel or AMD processor die (‘integrated’, iGPU) and a secondary one by Nvidia or AMD (‘discrete’, dGPU).
Linux will use the iGPU by default, but the unoccupied dGPU may still draw lots of power for nothing. Because of the large number of combinations of kernels, drivers and hardware, TLP’s default configuration may not always produce optimal results.
Solution: try the following steps.
Step 1: Enable Runtime Power Management for GPU drivers
Remove all GPU drivers from the blacklist, leaving only
Apply the changed settings with
sudo tlp start
Anticipated result: the GPU will be suspended (power off) automatically when in idle state.
nouveau: the open source driver for Nvidia GPUs enables runtime power management by default; keep it in the blacklist to retain power saving on AC power too
radeon: there is not enough evidence available for the open source driver for older AMD GPUs; watch what happens when you remove it from the blacklist
Remember to uncomment the config line by removing the leading #
Step 2a: Switch to the iGPU - Nvidia Optimus with proprietary driver and settings tool
Start nvidia-settings, goto PRIME Profiles, select Intel (Power Saving Mode). Logon again (or reboot).
Result: rendering the screen content is shifted to the iGPU, sending the dGPU to idle state, thus permitting runtime power management to power off the dGPU (see Step 1).
Step 2b: Switch to the iGPU - Other GPU hardware, drivers or tools
AMD: your mileage will vary depending on the driver, use amdgpu with Switcheroo (Gentoo Wiki) as a starting point.
Also look for tools already integrated into your specific Linux distribution or desktop. Last but not least, your laptop may permit to disable the dGPU in the BIOS setup.
Fan noise on AC power¶
A common reason is elevated power dissipation due to Hybrid graphics.
Implement the measures laid out in the previous section
Enable Runtime Power Management on AC power via the configuration
Significant loss of energy saving after upgrade to 1.0¶
Version 1.0 and higher exempt (blacklist) dGPU drivers from runtime power management. For certain kernel/driver/hardware combinations this means that the dGPU is not powered off.
Solution: see Hybrid graphics above.
How to limit power consumption under high CPU load?¶
The intel_pstate scaling driver offers this possibility. Use the settings
with nn < 100 to achieve it. Refer to CPU_MIN/MAX_PERF_ON_AC/BAT.
Check the output of tlp-stat -p to determine the active scaling driver
This will not limit the power consumption of the GPU (neither for integrated nor for discrete graphics)