Skip to main content

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

FeatureDetails
Quick settings togglePause/resume fan control directly from the panel
Strategy switchingSelect from all available fw-fanctrl strategies via dropdown menu
Live temperatureDisplays current CPU temperature in the quick settings subtitle
Live fan speedDisplays current fan speed percentage
Active strategy indicatorCheckmark next to the currently active strategy
Refresh intervalConfigurable polling rate (3–60 seconds, default 10)
Settings buttonOpens 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 versionSupported
47Yes
48Yes
49Yes
50Yes

Configuration

The extension provides a single configurable setting via its preferences window1:

SettingDefaultRangeDescription
Refresh interval10 seconds3–60 secondsHow 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
ProjectDescription
fw-fanctrlThe underlying fan control daemon for Framework laptops3
joax/fw-fanctrl-gnome-shell-extensionOriginal GNOME extension (GNOME 46, no longer maintained)2
fw-fanctrl-uiCross-DE tray icon UI for fw-fanctrl

Technical Details

DetailValue
LanguageTypeScript
LicenseMIT
Build systemtsup + pnpm
GNOME integrationQuickMenuToggle + SystemIndicator
UUID[email protected]
Minimum fw-fanctrlRequires JSON output support (--output-format=JSON)

Footnotes

  1. ghostdevv/fw-fanctrl-revived-gnome-shell-extension — GitHub 2 3 4 5 6 7

  2. joax/fw-fanctrl-gnome-shell-extension — GitHub 2 3

  3. TamtamHero/fw-fanctrl — Fan speed controller with custom speed curve (GitHub) 2