coolercontrol
coolercontrol copied to clipboard
This is mirror of the official repository on GitLab. Please go there for reporting issues and requesting new features.
Features - Hardware Support - Getting Started - Issues - Contributing - Acknowledgements - License - Related Projects
What Is This?
CoolerControl is a feature-rich cooling device control application for Linux. It has a system daemon for background device management, as well as a GUI to expertly customize your settings.
What Features Does It Have?
- A highly configurable GUI with system overview
- A control daemon that runs in the background
- Auto detection of hwmon/sysfs and liquidctl devices including some laptops
- Enhanced liquidctl device support (AIOs, USB Fan hubs, LCD screens, RGB lighting, etc)
- Fan control support for most NVidia and AMD GPUs
- Fully customizable speed
Profiles
like Fixed, Graph(Curve), and Mix that can be applied to multiple fans -
Functions
to control how a Profile is applied with hysteresis, threshold, directional, and response time control - System-wide cooling
Modes
to adjust all your devices at once - Create your own
Custom Sensors
based on a File or on a combination of temperature sensors - Combine
Profiles
from multiple devices for complete cooling coverage - Re-applies settings after waking from sleep
- External monitoring and GUI support
- Comprehensive REST API for extensions
What Hardware Is Supported?
CoolerControl depends on Hwmon kernel drivers and liquidctl to access and control supported hardware. Note that your hardware is not guarenteed to be supported, as this depends on open-source drivers and contributors. These are some steps you can take to maximize hardware coverage:
- For newer motherboards and cards it's best to install the latest available kernel for your distribution which includes the latest Hwmon drivers and kernel modules.
- To have all available kernel modules installed for your hardware it's recommended to install
lm-sensors
and to runsudo sensors-detect
. For more details see the Arch Wiki and the HWMon Support section. Additionally, you can check out the official lm-sensors repository for tips on manually loading unofficial kernel modules for certain devices. - Check the liquidctl hardware support list for the state of support for USB devices like fan hubs and AIOs.
- NVidia GPUs - Fan control is currently tested working for most cards and setups. Make sure that
nvidia-settings
andnvidia-smi
are installed. On some distributions this is done automatically with the driver installation, on others you need to install them manually. - Laptops - ThinkPads, some ASUS, and some HP Laptops are known to work. If your laptop has a hwmon kernel driver, then CoolerControl will use it. Otherwise, fan control for your laptop is most likely not supported.
- CoolerControl will detect supported devices and available capabilities automatically. The GUI will also prompt you for additional steps if necessary. There are some situations where the kernel drivers are not yet mature enough to offer control functionality, in which cases an error is returned when attempting to apply changes.
How do I Get Started?
CoolerControl is made up of several sub-packages:
-
coolercontrold
- the main daemon and systemd service that handles controlling your hardware. -
coolercontrol-liqctld
- a systemd service layer overliquidctl
. -
coolercontrol
- the standalone GUI desktop application.
#1 and #2 are required. #3 is technically optional, as the GUI can also be accessed from the daemon using a browser.
You'll want to first install the application packages following the installation steps below and then you can access the GUI in one of two ways:
- Open the standalone GUI application
coolercontrol
from your desktop. - Open a browser and go to http://localhost:11987
The following are some recommended steps to become familiar with the UI and how to create your customized settings:
- Explore the UI Menu on the left. Notice what clicking on each menu item does and the little options menus available for each one.
- Click on "Profiles & Functions". Notice the small
info
icons next to the headings. Hover over them for more information. Lots of things in the UI you can hover over for more details. - Open the Settings menu by clicking on the settings icon in the upper right hand corner. Notice how you can hover over most settings for an explanation of what each one does.
- Start creating
Profile
s andFunction
s, exploring their settings, and apply them to your desired fans or pumps. - Create Modes to be able to swap out your profiles when desired.
*Note: You can modify and control the daemon using its config file, but that is not officially supported.
How do I Install It?
- AppImage
- AUR
- Ubuntu/Debian Based
- Fedora
- OpenSuse Tumbleweed
- Nix
- From Source
AppImage
There are two AppImages:
CoolerControlD
which runs as a daemon in the background and needs sudo access.
CoolerControl
which is the standalone GUI application. (Optional)
To download them you can use either of the above links or goto the Releases page to download a specific version.
The AppImages are helpful if you want to try things out without installing anything. It is generally recommended to install the systems packages, as it is then installed as a systemd service which starts at boot and version updates are handled automatically.
The AppImages contain most of the needed dependencies*. Just make it executable and run it:
chmod +x CoolerControlD-x86_64.AppImage
chmod +x CoolerControl-x86_64.AppImage
# start daemon in the background
sudo ./CoolerControlD-x86_64.AppImage &
./CoolerControl-x86_64.AppImage
*Note: on some systems you'll have to install 'fuse' to make appimages work.
Click for more info about AppImages
For improved desktop integration:
AUR
Use your installed AUR Helper, i.e.:
yay -S coolercontrol
Then enable and start the systemd service:
sudo systemctl enable --now coolercontrold
Packages
Package repositories for some distros is graciously provided by Cloudsmith - a fully hosted, cloud-native, universal package management solution.
Debian
Debain packages are supported for the following distros:
- >= Debian Bookworm
- >= Ubuntu 22.04 (Jammy)
- Most other distributions based on the above.
You can quickly setup the Cloudsmith repository automatically (recommended):
*Other Cloudsmith Options
Make sure curl
is installed:
sudo apt install curl apt-transport-https
curl -1sLf \
'https://dl.cloudsmith.io/public/coolercontrol/coolercontrol/setup.deb.sh' \
| sudo -E bash
sudo apt update
sudo apt install coolercontrol
sudo systemctl enable --now coolercontrold
Ubuntu 22.04 LTS (Optional)
The Ubuntu package liquidctl
is outdated. Therefore, some devices might not show, such as the
NZXT Smart Device V2
. To fix this, you can force upgrade the package:
⚠️ Before proceeding, make sure to run the commands outlined above.
sudo systemctl stop coolercontrold
sudo pip install liquidctl --upgrade
sudo systemctl start coolercontrold
You might need to restart your computer for the changes to take effect
Fedora
There is a Copr repository available for Fedora based distributions:
# make sure you have the necessary plugin:
sudo dnf install dnf-plugins-core
sudo dnf copr enable codifryed/CoolerControl
sudo dnf install coolercontrol
sudo systemctl enable --now coolercontrold
OpenSuse Tumbleweed
Packaging is done on the Open Build Service for openSuse Tumbleweed and there are two easy ways to install the packages:
- You can use the 1-Click-Install method.
- Or install from the command line:
# make sure opi is installed if it's not already:
sudo zypper install opi
opi coolercontrol
Then enable and start the systemd service:
sudo systemctl enable --now coolercontrold
Nix
The coolercontrol package is currently a part of the nixpkgs-unstable
and nixos-unstable
channels.
For NixOS there are is a configuration option available, which should install the application and enable the services:
programs.coolercontrol.enable = true;
And an option for NVidia graphic card owners that should default to on if you have the nvidia driver
in services.xserver.videoDrivers
:
programs.coolercontrol.nvidiaSupport = true;
If installing using the Nix package manager on a non-NixOS distro, you'll need to do some things manually. For example:
# Make sure your channel is up to date
nix-channel --update
nix-env -iA nixpkgs.coolercontrol
sudo systemctl enable --now ~/.nix-profile/lib/systemd/system/coolercontrold.service ~/.nix-profile/lib/systemd/system/coolercontrol-liqctld.service
:warning: On non-NixOS, this will enable the services for the currently installed version. You need
to disable the services and re-enable them after each update. systemctl reenable
will not work.
Cloudsmith Options
For other options, such as if you need to force a specific distribution, release/version, or you want to do the steps manually, check out the CoolerControl repository on Cloudsmith. When running a distribution that is based on another, but not natively supported by Cloudsmith, you can use the base-distribution repository. For example:
curl -1sLf \
'https://dl.cloudsmith.io/public/coolercontrol/coolercontrol/setup.rpm.sh' \
| sudo -E distro=fedora codename=38 bash
Repository Alternative
You can download the package files directly from the Releases Page and install the packages manually.
Source
Requirements
- git
- make
- cargo >= 1.70.0
- python >= 3.8
- nodejs >= 18.0.0
- npm
System Packages
To optionally build the standalone GUI application you'll also need these Tauri development packages.
Setup Source
git clone https://gitlab.com/coolercontrol/coolercontrol.git
git checkout main
git pull
Build and Install Everything
cd coolercontrol
make install-source -j3
# and watch it go.
That should install all the needed files onto your system.
Then start the daemons:
sudo systemctl daemon-reload
sudo systemctl enable --now coolercontrold
You should then be able to start the GUI like normal.
What Do I Do If I Have A Problem Or Question?
If you are experiencing an issue or have a feature request, please open up an issue in GitLab and use one of the provided templates. When submitting a bug daemon logs are invaluable to determining the cause. If you have a general question, please join the discord channel where community members can also help.
How Can I Contribute?
:heart: CoolerControl is in need of help with the following areas:
- Packaging
- Website
- Spreading the word
If you have an idea or want to submit some changes, it's usually best to either submit an Issue ticket first or get on Discord to discuss it. For general information please read the contributing guidelines.
Acknowledgements
- Major thanks is owed to the python API of liquidctl
- Thanks to all the many contributors of HWMon
- A big inspiration is GKraken written by Roberto Leinardi.
License
This program is licensed under GPLv3
Related Projects
-
liquidctl
Cross-platform tool and drivers for liquid coolers and other devices. -
fan2go
A daemon to control the fans of your computer. -
thinkfan
A simple, lightweight fan control program. (ThinkPads) -
OpenRGB
Graphical interface to control many different types of RGB devices. -
FanControl
A focused and highly customizable fan controlling software for Windows.