auto-cpufreq Is A New CPU Speed And Power Optimizer For Linux

auto-cpufreq power optimizer

auto-cpufreq is a new automatic CPU speed and power optimization tool for Linux laptops using Intel CPUs, which aims to "improve battery life without making any compromises".

The tool changes the CPU frequency scaling, governor (switches between performance and powersave, these being the only 2 modes supported by the default intel_pstate scaling driver) and turbo boost status based on the battery state, CPU usage and system load. It can also show some basic system information, monitor the CPU frequency and temperature for each core, system load, and battery state.

Its developer says that auto-cpufreq was born because you can't automatically set the CPU governor - you can set it to performance or powersave, but you can't switch between these automatically, depending on the battery status, CPU load or temperature.

Right now auto-cpufreq only supports Intel CPUs on laptops (so a battery is required to use it). Support for AMD is currently being worked on, while there are also plans to support desktops and servers in the future.

It's worth noting that auto-cpufreq doesn't interfere with TLP, another tool to extend the battery life on laptops running Linux. So if you have it installed, you can continue using it without any issues.

Related: TLPUI Is A Graphical User Interface For TLP Power Management Tool

auto-cpufreq has 3 modes. Run it with the --monitor option to see what auto-cpufreq could change on your system without actually changing anything. Use --live to get this tool to make the necessary changes to your system but only temporarily, until you reboot, allowing you to evaluate how your system would behave with auto-cpufreq. And the third and final mode makes the changes persistent across reboots, by installing the auto-cpufreq daemon and systemd service - use --install for this.

Once you use the --install option, in case you want to see what's going on you can run auto-cpufreq with the --log option.

In case you later want to remove the auto-cpufreq daemon and systemd service, run auto-cpufreq with the --remove option.

This is a video created by the auto-cpufreq developer, showcasing the tool and its functionality:



See the auto-cpufreq project page for more information and installation instructions. Also, the developer answers some questions related to auto-cpufreq in this Reddit post.