Framework Fan Control GNOME Extension
Framework Fan Control is a GNOME Shell extension that provides a convenient interface for controlling fan profiles on Framework laptops running fw-fanctrl. Developed by community member ghostdevv (GitHub: ghostdevv), it integrates into GNOME's quick settings panel to display real-time temperature and fan speed, switch between fan strategies, and pause/resume fan control1.
It is a spiritual successor to joax/fw-fanctrl-gnome-shell-extension, rewritten in TypeScript with support for GNOME 47+ and quick settings integration instead of a top bar dropdown12.
Features
| Feature | Details |
|---|---|
| Quick settings toggle | Pause/resume fan control directly from the panel |
| Strategy switching | Select from all available fw-fanctrl strategies via dropdown menu |
| Live temperature | Displays current CPU temperature in the quick settings subtitle |
| Live fan speed | Displays current fan speed percentage |
| Active strategy indicator | Checkmark next to the currently active strategy |
| Refresh interval | Configurable polling rate (3–60 seconds, default 10) |
| Settings button | Opens extension preferences directly from the menu |
The extension reads fan state by calling fw-fanctrl --output-format=JSON print all at a configurable interval and updates the quick settings UI accordingly1.
Installation
Prerequisites
fw-fanctrl must be installed and running. This is the underlying fan control service that the extension communicates with13.
GNOME Extensions website
Install directly from the GNOME Shell Extensions catalog1:
extensions.gnome.org/extension/7864/framework-fan-control
Supported GNOME versions
| GNOME version | Supported |
|---|---|
| 47 | Yes |
| 48 | Yes |
| 49 | Yes |
| 50 | Yes |
Configuration
The extension provides a single configurable setting via its preferences window1:
| Setting | Default | Range | Description |
|---|---|---|---|
| Refresh interval | 10 seconds | 3–60 seconds | How often fan state is polled from fw-fanctrl |
Relationship to joax's Extension
This extension was inspired by and serves as a successor to joax/fw-fanctrl-gnome-shell-extension, which was no longer maintained. Key differences include12:
- GNOME 47+ support — joax's extension targets GNOME 46
- Quick settings panel — controls are in the quick settings area rather than the top bar
- TypeScript — rewritten in TypeScript with modern GNOME Shell type definitions
- JSON output — uses fw-fanctrl's JSON output format for reliable parsing
Related Projects
| Project | Description |
|---|---|
| fw-fanctrl | The underlying fan control daemon for Framework laptops3 |
| joax/fw-fanctrl-gnome-shell-extension | Original GNOME extension (GNOME 46, no longer maintained)2 |
| fw-fanctrl-ui | Cross-DE tray icon UI for fw-fanctrl |
Technical Details
| Detail | Value |
|---|---|
| Language | TypeScript |
| License | MIT |
| Build system | tsup + pnpm |
| GNOME integration | QuickMenuToggle + SystemIndicator |
| UUID | fw-fanctrl-revived@willow.sh |
| Minimum fw-fanctrl | Requires JSON output support (--output-format=JSON) |