06-26-2025 10:28 AM
Hey everyone 👋
I’d like to share a solution I developed for my ASUS ROG Strix Hero III, which was running a little too hot for its own good under Linux. If you’ve tried gaming or working on Linux with high-performance hardware, you may have noticed: even light workloads can push the CPU into the 90 °C+ range, and Linux-based systems often lack fine-grained thermal control out of the box.
This isn’t just a ROG Strix problem — it's common across many gaming laptops with beefy CPUs and no manufacturer-level fan/thermal tools under Linux.
I wrote a lightweight Linux daemon that adjusts the CPU’s scaling_max_freq in real time based on its temperature — essentially implementing a simple, transparent thermal throttle. The curve is linear between 70 °C and 95 °C, and the goal is to deliver as much performance as possible without cooking the hardware.
C Version (cpu_throttle) Fast, efficient, and suitable for long-term background use. Clean service integration via systemd. Comes with installer + source code.
Bash Version (dynamic-tlp) Simple and highly editable. Works great as a backup or for users who prefer scripting. Installs as a lightweight systemd service.
➡️ Both tools are independent and distro-friendly. No tlp, thermald, or third-party tools required. They rely entirely on cpufreq and the Linux thermal zone interface.
can be found here: https://github.com/DiabloPower/burn2cool
Includes:
📦 Precompiled binary (cpu_throttle) under Releases
🛠 Source code + install scripts
💬 CLI flags: --dry-run, --log, --sensor, --help
✅ Works on most modern distros (x86_64 / glibc)
> ⚠️ Choose just one: Either the C-based cpu_throttle service or the Bash-based dynamic-tlp script. They serve the same purpose.
If you’ve run into similar thermal issues on Linux — especially with ROG laptops or other high-end systems — feel free to try it out. I’m happy to help with setup or answer any questions.
Cheers! Ronny a.k.a. DiabloPower 😎