v2.0 — now available

Take control of every fan on your Linux box.

A native PySide6 desktop app that talks to the kernel's hwmon interface directly — no daemons, no GUIs running as root, no surprises.

Tested on Ubuntu 25.10 Single-file binary · ~68 MB
Fan Control Desktop avatar — stylized fan with PWM gauges

Built for the way Linux already works

Reads and writes the same /sys/class/hwmon files your kernel exposes — nothing in the middle.

Click-and-drag PWM gauge

A circular gauge per fan, draggable from 0–255. Refresh never overwrites your drag mid-motion.

Temperature curves

Graphical point editor with hysteresis built in, so PWM doesn't thrash around the trigger temperature.

Discovery wizard

Scans /sys/class/hwmon, lets you spin-test channels, and writes a clean fans.ini.

RPM sparklines

The last ~90 seconds of every fan's speed, drawn live on each card so anomalies stand out.

Presets that just work

Off, Half, Turbo, Max — single-click buttons that auto-highlight when current PWM matches.

No-root operation

Ships with a udev rule that grants the adm group access — no daemons running as root.

See it in action

Dark, dense, keyboard-friendly. Designed to feel like part of your desktop.

Fan Control Desktop main window on Linux showing per-fan cards with PWM gauges, mode badges, and live RPM sparklines
Main window — per-fan cards with circular gauges, mode badges, and RPM sparklines.
Fan Control Desktop temperature curve editor with draggable points defining the PWM-vs-temperature response
Curve editor — drag points to define the PWM-vs-temperature response.

Three modes per fan

Every card carries a badge so you always know what's driving the PWM right now.

User action From BIOS From Manual From Auto
Click power (⏻)ManualBIOSBIOS
Click auto (A)AutoAutoManual
Click a preset (0 / ½ / M)ManualManualManual
Drag the gaugeManualManualManual
Open curve editor (✎)Mode unchanged — opens the editor for the selected fan.

Ready to try it?

Grab the standalone binary from the v2.0 release on Gitea. No installer, no dependencies — just chmod +x and run.

Get v2.0