DEV.co
Open-Source Observability · AdnanHodzic

auto-cpufreq

auto-cpufreq is a Linux daemon that automatically optimizes CPU frequency scaling and power management based on battery state, CPU load, and temperature. It aims to extend laptop battery life without manual intervention while maintaining performance when needed.

Source: GitHub — github.com/AdnanHodzic/auto-cpufreq
7.6k
GitHub stars
351
Forks
Python
Primary language
LGPL-3.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
RepositoryAdnanHodzic/auto-cpufreq
OwnerAdnanHodzic
Primary languagePython
LicenseLGPL-3.0 — OSI-approved
Stars7.6k
Forks351
Open issues80
Latest releasev3.0.0 (2026-01-11)
Last updated2026-06-07
Sourcehttps://github.com/AdnanHodzic/auto-cpufreq

What auto-cpufreq is

Python-based Linux system daemon that monitors battery state, CPU usage, temperature, and system load to dynamically adjust CPU governors and turbo boost settings. Supports Intel, AMD, and ARM architectures with config-file and CLI-based overrides for frequency scaling policies.

Quickstart

Get the auto-cpufreq source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/AdnanHodzic/auto-cpufreq.gitcd auto-cpufreq# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Linux Laptop Battery Optimization

Primary use case: automatically switching between performance and power-saving governors based on AC/battery state to extend battery life without user intervention.

Thermal Management on Resource-Constrained Systems

Monitors CPU temperature and adjusts frequency/turbo boost to prevent overheating while balancing performance—useful for ultrabooks, older hardware, or data centers seeking passive thermal control.

Consolidated Frequency Scaling Replacement

Intended replacement for fragmented tools (TLP, cpufreq, indicator-cpufreq); single daemon handles frequency, governor, and turbo boost decisions without manual configuration in typical deployments.

Implementation considerations

  • Installation via git clone only (not zip download) due to git-based versioning; pre-built snap/AUR packages available but snap lacks GUI due to confinement constraints.
  • Requires root/sudo for daemon installation and frequency scaling; verify kernel supports cpufreq governors (powersave, performance, schedutil, etc.) before deployment.
  • Configuration via CLI flags, config file, or runtime overrides (--force governor, --turbo); no central policy engine—per-device tuning recommended for heterogeneous fleets.
  • Battery charging threshold support limited to specific devices; verify hardware compatibility before relying on this feature.
  • Conflicts with TLP and similar tools; requires audit and removal of competing frequency-management daemons before install.

When to avoid it — and what to weigh

  • Non-Linux Systems — Explicitly Linux-only; requires cpufreq kernel module support and /sys/devices/system/cpu interfaces. Not portable to Windows, macOS, or non-POSIX platforms.
  • Unsupported CPU Architectures — Only Intel, AMD, and ARM CPUs listed as supported. Systems with other architectures (RISC-V, MIPS, etc.) will not function.
  • Real-Time or Hard Latency-Sensitive Workloads — Daemon-based frequency scaling introduces unpredictable latency; systems requiring deterministic CPU behavior (kernel RT, audio production) should use manual static governors instead.
  • Concurrent Frequency Management Tools — README explicitly warns against running alongside TLP (same frequency-setting scope) due to risk of conflicts and overheating. Requires tool deconfliction or deep configuration expertise.

License & commercial use

Licensed under LGPL-3.0 (GNU Lesser General Public License v3.0). Permits commercial use, modification, and distribution provided derivative libraries/binaries carry LGPL-3.0 notice and source availability is offered. Statically-linked commercial applications may have compliance obligations requiring legal review.

LGPL-3.0 permits commercial use and distribution. However, LGPL-3.0 requires that if you link auto-cpufreq statically into a proprietary binary, recipients must be able to relink with modified LGPL source. For SaaS or preinstalled appliances, ensure compliance pathways are documented. Recommend legal review before shipping in closed-source commercial products.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationStrong
License clarityClear
Deployment complexityLow
DEV.co fitGood
Assessment confidenceHigh
Security considerations

Runs as root/daemon with direct kernel cpufreq access; no documented SELinux or AppArmor profiles. No CVE history visible in provided data. Input validation for config files and CLI flags not detailed—sanitize custom config to avoid injection. Snap package provides isolation layer; direct install exposes full system access.

Alternatives to consider

TLP

Mature power management suite with broader scope (disk I/O, USB, wake timers); auto-cpufreq explicitly aims to replace TLP's frequency-scaling role but TLP remains valid for comprehensive power tuning where conflicts can be managed.

cpufreq / indicator-cpufreq

Manual frequency/governor switching; requires user intervention vs. auto-cpufreq's automation. Lower complexity but trades convenience for control.

thermald

Thermal-only management; does not replace frequency scaling but complements auto-cpufreq. Orthogonal scope—both can run safely together per README.

Software development agency

Build on auto-cpufreq with DEV.co software developers

Integrate auto-cpufreq into your Linux infrastructure or development pipeline. Our DevOps and custom software teams can help audit, deploy, and maintain frequency-scaling automation at scale.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

auto-cpufreq FAQ

Can I run auto-cpufreq and TLP together?
README warns against it due to conflicts and overheating risk. Only use both if you have deep knowledge of their interaction; recommended to remove TLP and use auto-cpufreq alone for frequency scaling.
Does auto-cpufreq support my laptop?
Requires Intel, AMD, or ARM CPU and Linux kernel with cpufreq support. Verify with `ls /sys/devices/system/cpu/cpu0/cpufreq/` before install. Battery charging threshold support is device-limited; check hardware compatibility docs.
Why does the Snap package not have a GUI?
Snap confinement restrictions prevent pkexec access; use auto-cpufreq-installer or distro packages (AUR, Nix) for GUI support. All CLI functionality works in Snap.
How do I report a bug or get help?
GitHub issues are the primary channel. README recommends using the auto-cpufreq-genAI-chatbot for quick answers before filing issues. Discord server available for discussions and development collaboration.

Work with a software development agency

From first prototype to production, DEV.co delivers software development services around tools like auto-cpufreq. Our software development agency staffs experienced software developers and web developers for custom software development, web development, integrations, and ongoing support across open-source observability and beyond.

Ready to Optimize CPU Performance & Power?

Integrate auto-cpufreq into your Linux infrastructure or development pipeline. Our DevOps and custom software teams can help audit, deploy, and maintain frequency-scaling automation at scale.