NBFC-Linux is a lightweight fan control daemon written in C.
It is a port of Stefan Hirschmann’s NoteBook FanControl (NBFC) for Linux and offers similar functionality and configuration tools.
Features
- Lightweight implementation (Service uses ~280KB of RAM)
- Support for a wide range of notebook models (Is my notebook model supported?)
- Graphical User Interfaces (GTK4, Qt6)
- Configuration files can be fetched from the internet
- Flexible fan sensor assignment via sensor name, sensor group (@GPU, @CPU), temperature file, or custom shell command
Downloads
Operating System | Download |
---|---|
Arch Linux | Download 0.3.19 (141KB) |
Debian (Bookworm) | Download 0.3.19 (121KB) |
Fedora 42 (Adams) | Download 0.3.19 (146KB) |
OpenSuse (Tumbleweed) | Download 0.3.19 (145KB) |
Graphical User Interfaces
NBFC-Linux comes with graphical frontends for common desktop environments.
GTK4 GUI (for GNOME, XFCE, etc.)
Operating System | Download |
---|---|
Arch Linux | Download 0.2.1 (28KB) |
Debian (Bookworm) | Download 0.2.1 (14KB) |
Fedora 42 (Adams) | Download 0.2.1 (19KB) |
OpenSuse (Tumbleweed) | Download 0.2.1 (19KB) |
Qt6 GUI (for KDE)
Operating System | Download |
---|---|
Arch Linux | Download 0.4.2 (124KB) |
Debian (Bookworm) | Download 0.4.2 (111KB) |
Fedora 42 (Adams) | Download 0.4.2 (116KB) |
OpenSuse (Tumbleweed) | Download 0.4.2 (116KB) |
Getting Started (GUI)
When running NBFC for the first time, you need to give it a configuration file for your laptop model.
Start the GUI with root privileges:
sudo nbfc-qt # For NBFC-Qt
# -- or --
sudo nbfc-gtk # For NBFC-Gtk
-
Perform update (tab “Update”)
Click the “Update” button to fetch the latest configuration files. -
Select configuration (tab “Basic Configuration”)
Warning: The model name must match completely or use placeholders (likeXXX
).- Select a configuration from the dropdown menu
- Click “Set”
- Then save using “Save”
-
Start test mode (read-only) (tab “Service”)
- Enable the checkbox “Start in read-only mode”
- Click “Start” – status should change to “Running”
-
Test the configuration
Run a stress test in the terminal:stress -c 8
Watch the “Fans” tab to see if the displayed fan speed (“Current Speed”) changes. If it doesn't, the configuration is likely invalid!
-
Enable write mode (tab “Service”)
- Stop the service (“Stop” button)
- Uncheck “Start in read-only mode”
- Start the service again (“Start”)
-
Use manual or automatic fan control (tab “Fans”):
- Manual: Set fan speed directly
- Automatic: Temperature-based control via profile
Enable Auto-Start at Boot
To have NBFC-Linux start automatically on system boot:
sudo systemctl enable nbfc_service.service
Getting Started (Command Line)
When running NBFC for the first time, you need to give it a configuration file for your laptop model.
Follow the steps below:
-
sudo nbfc update
will download the latest configuration files from the internet. -
sudo nbfc config --set auto
will try to set a configuration automatically.
If this succeeds, skip to Step 5. -
nbfc config --recommend
will compare yourDMI system-product-name
to the available configuration file names and print a list of descending similarity. -
Repeat the following until you find a working configuration:
sudo nbfc config --set "<MODEL>"
– set a configurationsudo nbfc restart -r
– (re-)start the service in read only modenbfc status
– show the fan status- Let the fan turn up (and down) (e.g. using
stress
) and observe ifnbfc status
shows fan speed changes - If speeds are reported correctly, the config is likely valid. Proceed to Step 5.
-
sudo nbfc restart
will (re-)start the service in write mode (enabling fan control) -
Test fan control manually:
-
nbfc set -s <SPEED>
will set the fan speed. (0
=off,100
=full speed)
If this does not work, the specified configuration is invalid. Go back to Step 4.
-
-
nbfc set --auto
will enable auto mode (temperature-based automatic fan speed control as specified in configuration) -
sudo systemctl enable nbfc_service
will enable the service to start automatically on boot
Screenshots
NBFC-Qt
NBFC-GTK
Sponsors
No sponsors yet
Support This Project
If you find NBFC-Linux helpful, consider supporting the development by making a small donation. Your support helps keep the project alive and evolving.
Donate via PayPal