auto-cpufreq
Automatic CPU speed & power optimizer for Linux. Actively monitors laptop battery state, CPU usage, CPU temperature, and system load, ultimately allowing you to improve battery life without making any compromises.
For tl;dr folks:
- Youtube: From 10 day vacation project to 100k users: auto-cpufreq v3 story
- Blog post: From 10 day vacation project to 100k users: auto-cpufreq v3 story
- Youtube: auto-cpufreq v2.0 release & demo of all available features and options
- Blog post: auto-cpufreq v2.0
- Youtube: auto-cpufreq - tool demo
- Blog post: auto-cpufreq – Automatic CPU speed & power optimizer for Linux
If you're having a problem with auto-cpufreq, before (submitting an issue), it is strongly recommended to use the auto-cpufreq-genAI-chatbot to get an immediate answer to your question.
Example of auto-cpufreq GUI (available >= v2.0)
Example of auto-cpufreq --stats CLI output
Looking for developers and co-maintainers
- If you would like to discuss anything regarding auto-cpufreq or its development, please join the auto-cpufreq Discord server!
- auto-cpufreq is looking for co-maintainers & open source developers to help shape the future of the project!
Index
- Why do I need auto-cpufreq?
- Features
- Installing auto-cpufreq
- Post-installation
- Configuring auto-cpufreq
- How to run auto-cpufreq
- auto-cpufreq modes and options
- Intel HWP Dynamic Boost
- Platform Profiles
- Battery charging thresholds
- Troubleshooting
- Discussion
- Donate
Why do I need auto-cpufreq?
One of the problems with Linux today on laptops is that the CPU will run in an unoptimized manner which will negatively impact battery life. For example, the CPU may run using the "performance" governor with turbo boost enabled regardless of whether it's plugged into a power outlet or not.
These issues can be mitigated by using tools like indicator-cpufreq or cpufreq, but those still require manual action from your side which can be daunting and cumbersome.
Tools like TLP (which I used for numerous years) can help extend battery life, but may also create their own set of problems, such as losing turbo boost.
Given all of the above, I needed a simple tool that would automatically make CPU frequency-related changes and save battery life, but let the Linux kernel do most of the heavy lifting. That's how auto-cpufreq was born.
Please note: auto-cpufreq aims to replace TLP in terms of functionality, so after you install auto-cpufreq it's recommended to remove TLP. Using both for the same functionality (i.e., to set CPU frequencies) will lead to unwanted results like overheating. Hence, only use both tools in tandem if you know what you're doing.
One tool/daemon that does not conflict with auto-cpufreq in any way, and is even recommended to have running alongside, is thermald.
Supported architectures and devices
Only devices with an Intel, AMD, or ARM CPU are supported. This tool was developed to improve performance and battery life on laptops, but running it on desktops/servers (to lower power consumption) should also be possible.
Features
- Monitoring
- Basic system information
- CPU frequency (system total & per core)
- CPU usage (system total & per core)
- CPU temperature (total average & per core)
- Battery state
- System load
- CPU frequency scaling, governor, and turbo boost management based on
- Battery state
- CPU usage (total & per core)
- CPU temperature in combination with CPU utilization/load (to prevent overheating)
- System load
- Automatic CPU & power optimization (temporary and persistent)
- Platform Profile monitoring and configuration, when exposed by the Linux platform driver
- Current platform profile
- Available profiles
- Platform Profile provider(s)
- Separate charger and battery configuration
- Settings battery charging thresholds (limited support)
Installing auto-cpufreq
auto-cpufreq-installer
As auto-cpufreq relies on git based versioning, users are advised to install
auto-cpufrequsinggit clonemethod only. Downloading source code as a zip/from release will emit build error like these.
Get source code, run installer, and follow on-screen instructions:
git clone https://github.com/AdnanHodzic/auto-cpufreq.git
cd auto-cpufreq && sudo ./auto-cpufreq-installer
Snap Store
Please note: while all auto-cpufreq >= v2.0 CLI functionality will work as intended, the GUI won't be available on Snap package installs due to Snap package confinement limitations. Hence, please consider installing auto-cpufreq using auto-cpufreq-installer.
auto-cpufreq is available on the Snap Store or via CLI:
sudo snap install auto-cpufreq
Please note:
- Make sure snapd is installed and
snap versionis >= 2.44 forauto-cpufreqto fully work due to [



