This tutorial shows how to install and use CoolerControl to control your CPU or graphics card fan speed in Ubuntu desktop computer or laptop.
I’ve written about how to control fan speed for Thinkpad laptops. But for those who are looking for how to do the job for NVIDIA/AMD GPUs and other laptops, then try CoolerControl.
CoolerControl is a free open-source feature-rich cooling device control application written in Python programming language.
It depends on Hwmon kernel drivers and liquidctl to access and control supported hardware, including Thinkpads, some ASUS and HP laptops, as well as most NVIDIA and AMD GPUs.
With CoolerControl, you can monitor the temperatures of your CPU, GPU, hard disk, etc devices in graphs, and set fan to either fixed or dynamic speed.
As the tool depends on open-source drivers and contributors, not all hardware is guaranteed to be supported. It will detect supported devices and available capabilities automatically.
NOTE: This tutorial is tested in my case in following machines and systems. It MAY or MAY NOT work in your case depends on your hardware.
- Thinkpad T480s with Ubuntu 24.04.
- ASUS K501L with Linux Mint 22.
- Desktop PC (Intel i3-10100f + NVIDIA GT1030) with Ubuntu 24.10.
Step 1: Install lm-sensors
This step is optional but recommended for installing all available kernel modules.
lm-sensors is a popular command line utility to detect and monitor hardware temperature, voltage, and fan speed. It’s available in all current Ubuntu and most other Linux system repositories.
To install lm-sensors, open terminal (Ctrl+Alt+T) and run command:
sudo apt install lm-sensors
After installed the package, run command to detect your hardware:
sudo sensors-detect
In the terminal output, you need to answer some questions, though it’s OK to hit Enter for all to choose default. When done, you may run sensors
command at anytime to check your hardware temperature and fan speed.
Step 2: Install CoolerControl
The software provides an official apt repository that contains the .deb
packages for Debian, Ubuntu, Linux Mint and their based system. So far, it supports Debian >= 12 Bookwarm, Ubuntu >= 22.04 Jammy.
1. First, open terminal (Ctrl+Alt+T) and run command to install the required packages: curl downloader and apt extension for https support:
sudo apt install curl apt-transport-https
Try running sudo apt update
to refresh cache if the command above failed.
2. Next, run command to download the official script, then run it via single command below:
curl -1sLf \ 'https://dl.cloudsmith.io/public/coolercontrol/coolercontrol/setup.deb.sh' \ | sudo -E bash
This is a single command separated in 3 lines. And, the script will automatically check your system version, dependency libraries, and add the apt repository into your system.
3. Finally, refresh system package cache by running command:
sudo apt update
And, install the tool via command:
sudo apt install coolercontrol
NOTE for Ubuntu 24.10: The repository does NOT support 24.10 at the moment of writing. If you got unable to locate package ‘coolercontrol’, then run the command below to edit the source file:
sudo gnome-text-editor /etc/apt/sources.list.d/coolercontrol-coolercontrol.list
Depends on your desktop environment, replace gnome-text-editor
with mousepad
for XFCE, pluma
for MATE, or nano command line text editor that works in all desktops.
When file opens, replace oracular with noble in files, then save (for nano, press Ctrl+S, then Ctrl+X). Finally, re-run the last 2 apt
commands to refresh cache and install the tool.
NOTE for Ubuntu 22.04: the ‘liquidctl’ package in the 22.04 repository is outdated, which may cause some devices now show. You may upgrade the package by running the commands below one by one, though this is OPTIONAL.
- First, run command to stop the coolercontrol service:
sudo systemctl stop coolercontrold.service
- Then upgrade the liquidctl package:
sudo pip install liquidctl --upgrade
- Finally, start the daemon service:
sudo systemctl start coolercontrold.service
Step 3: Launch CoolerControl and configure your Fan speed
After installed the tool, run the command below to check if the background service is running:
systemctl status coolercontrold.service
If not enabled, use systemctl enable --now coolercontrold
to enable and start it.
Then, either search for and launch “CoolerControl” from start menu (or GNOME Overview), or visit localhost:11987 in web browser to launch the graphical interface.
When the app opens, you can choose your devices in left side-bar, then see the real-time temperature, frequency, fan speed, etc information in both text and graph.
NOTE: For NVIDIA GPU, you need to install the proprietary driver via “Additional Drivers” utility, then restart computer.
For fan speed, just choose your device in left, then either navigate to “Manual” in right and set a fixed speed in percentage and click Apply.
Or, navigate to “Profiles”. Choose a profile and select “Edit Profile”. Next, you can either set a fixed fan speed, or dynamic speed according to hardware temperature.
When you choose to edit profile in Graph and select the temp source, it will show you the screen below to edit the dynamic fan speed.
There, either drag moving the dots or use the left input boxes, to configure the fan speed level according to hardware temperature.
After edited your profile, choose it from the drop-down box and click Apply to make it work.
Uninstall CoolerControl
For any reason, you can easily remove the software by running the command below in terminal (Ctrl+Alt+T):
sudo apt remove --autoremove coolercontrold
To remove the apt repository, use the command to delete the source file:
sudo rm /etc/apt/sources.list.d/coolercontrol*.list
As well, delete the gpg key file added for that repository via command:
sudo rm /usr/share/keyrings/coolercontrol*.gpg
Finally, run sudo apt update
command to refresh your system package cache.
Horrible GUI