How to use TLP profile in battery mode but with 1 exception?


Jul 18, 2020
Reaction score
Hi there, I'm trying to get used to a new laptop (Intel whitebook NUC9 extreme) with a fan that runs more than I like. I use openSUSE with TLP for power management, which seems to always "just work" in my experience for optimal power management. And with this laptop it's also apparently working as designed. However, I've noticed that when running on battery power the fans run at a much more acceptable speed. So I set these options in /etc/tlp.conf to make it use the same low-power settings as though it were on battery power even while connected to the mains:


This gives a major improvement in reducing fan noise, and I'm really glad I found it. The only downside is that the Intel cpufreq/energy_performance_preference in "battery" mode is set to balance_power , which for a specific workload I tested makes the processor cores stay at a very low frequency. So I changed this additional setting:
This still gives quiet fan performance and makes the processor core frequencies scale as expected. The only thing is that I would prefer to use the other balance_power Intel profile when I'm actually on battery power. But TLP sets a whole bunch of other variables apart from just CPU frequency stuff, which is also helping to keep my fan speed down, so I don't want to have to manually locate and specify all of those in the conf file. Is there any way to run TLP all the time as if it were in battery mode but still have it apply CPU_ENERGY_PERF_POLICY_ON_BAT and CPU_ENERGY_PERF_POLICY_ON_AC according to whether it's actually plugged in or not?

Thanks for the help!