Optimizing Guide
This page is intended to help tune TLP individually to achieve additional battery runtime or better performance on AC if possible.
Rationale: TLP’s default settings should save as much energy on battery power as possible (and of course not cost any performance on AC), but in reality there are limits to what can be done:
For simplicity, TLP’s settings are limited to three sets/profiles (Version 1.9 and newer) or one set each for AC and battery operation (Version 1.8 and older). The same applies to the defaults.
User requirements can vary greatly, there is no way to cover them all within defaults
Defaults must not cause problems with common hardware
Therefore TLP’s defaults can not achieve the maximum savings for any hardware and use case. It may be necessary to make adjustments yourself to get the best out of it.
Note
TLP’s parameters must always be specified for all profiles, i.e. _AC, _BAT and _SAV where applicable, otherwise, parameters from the configured profiles may unintentionally spill over to the unconfigured ones. Therefore all parameters are listed below, the one to be changed is highlighted.
Please activate and test the following suggestions individually if possible. This shows the specific effect, and problems are immediately apparent.
Feel free to try out a suggested change in one of the other scenarios.
If adjusting the settings does not yield the desired results, it may be worthwhile to experiment with a more recent kernel or BIOS version.
The inconsistent use of terms such as performance, balance(d) and (low-)power in settings and for profiles is confusing, but this is specified by the kernel and the power profiles API and therefore cannot be avoided. The following examples will hopefully help.
Extend battery runtime
To extend battery life, you can manually switch to the power-saver profile.
If you don’t want to do this every time, you can adjust the balanced profile, which is automatically selected when changing to battery power. The following describes the adjustment of the balanced profile.
Change CPU energy/performance policy to power (default is balance_power):
CPU_ENERGY_PERF_POLICY_ON_AC=balance_performance
CPU_ENERGY_PERF_POLICY_ON_BAT=power
CPU_ENERGY_PERF_POLICY_ON_SAV=power
Change the platform profile to low-power (default is balanced):
PLATFORM_PROFILE_ON_AC=performance
PLATFORM_PROFILE_ON_BAT=low-power
PLATFORM_PROFILE_ON_SAV=low-power
Disable turbo boost:
CPU_BOOST_ON_AC=1
CPU_BOOST_ON_BAT=0
CPU_BOOST_ON_SAV=0
CPU_HWP_DYN_BOOST_ON_AC=1
CPU_HWP_DYN_BOOST_ON_BAT=0
CPU_HWP_DYN_BOOST_ON_SAV=0
Note: the power-saver profile does not disable turbo boost by default. However, you can configure this additionally as shown.
Increase ABM level to 3 (default is 1):
AMDGPU_ABM_LEVEL_ON_AC=0
AMDGPU_ABM_LEVEL_ON_BAT=3
AMDGPU_ABM_LEVEL_ON_SAV=3
Improve performance on battery power
Change CPU energy/performance policy to balance_performance (default is balance_power):
CPU_ENERGY_PERF_POLICY_ON_AC=balance_performance
CPU_ENERGY_PERF_POLICY_ON_BAT=balance_performance
CPU_ENERGY_PERF_POLICY_ON_SAV=power
Note: this may be necessary in particular if the Intel Core i 12th gen. refuses to activate turbo boost on battery power.
Change the platform profile to performance (default is balanced):
PLATFORM_PROFILE_ON_AC=performance
PLATFORM_PROFILE_ON_BAT=performance
PLATFORM_PROFILE_ON_SAV=power-saver
Improve performance on AC power
Change CPU energy/performance policy to performance (default is balance_performance):
CPU_ENERGY_PERF_POLICY_ON_AC=performance
CPU_ENERGY_PERF_POLICY_ON_BAT=balance_power
CPU_ENERGY_PERF_POLICY_ON_SAV=power
Enable the platform profile performance:
Version 1.8 and older only
PLATFORM_PROFILE_ON_AC=performance
PLATFORM_PROFILE_ON_BAT=balanced
Reduce power consumption / fan noise on AC power
Enable runtime power management:
RUNTIME_PM_ON_AC=auto
RUNTIME_PM_ON_BAT=auto
Change CPU energy/performance policy to balance_power (default is balance_performance):
CPU_ENERGY_PERF_POLICY_ON_AC=balance_power
CPU_ENERGY_PERF_POLICY_ON_BAT=balance_power
Change the platform profile to balanced (default is performance):
PLATFORM_PROFILE_ON_AC=balanced
PLATFORM_PROFILE_ON_BAT=balanced
PLATFORM_PROFILE_ON_SAV=low-power
Enable Wi-Fi power save (default is off):
WIFI_PWR_ON_AC=on
WIFI_PWR_ON_BAT=on
See also
Missing hardware video acceleration and hybrid graphics are other common causes of high fan speed and elevated power dissipation. There is more about these topics in the FAQ: Power Consumption.
Limit power consumption under high CPU load
13. The intel_pstate scaling driver offers this possibility. Employ the settings
CPU_MAX_PERF_ON_AC=nn
CPU_MAX_PERF_ON_BAT=nn
with nn < 100 to achieve it.
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)
See also
Power Consumption (FAQ) - More about the topics fan noise and power consumption
Troubleshooting Guide - Provides help to isolate problems caused by TLP’s power saving