Power Consumption

Hybrid graphics

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

RUNTIME_PM_DRIVER_BLACKLIST="mei_me"

Apply the changed settings with

sudo tlp start

Anticipated result: the GPU will be suspended (power off) automatically when in idle state.

Note

  • 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

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.

Solution:

  • Implement the measures laid out in the previous section

  • Enable Runtime Power Management on AC power via the configuration

    RUNTIME_PM_ON_AC=auto
    

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

CPU_MAX_PERF_ON_AC=nn
CPU_MAX_PERF_ON_BAT=nn

with nn < 100 to achieve it. Refer to CPU_MIN/MAX_PERF_ON_AC/BAT.

Note

  • 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)