Linux kernel hwmon drivers for AIO liquid coolers and other devices
The goal of this project is to offer hardware monitoring drivers for
closed-loop liquid coolers and other devices supported by liquidctl, making
their sensor data available in /sys/class/hwmon/hwmon*
.
By using the standard hwmon sysfs interface, sensors
, tools using
libsensors
, as well as programs that read directly from the raw sysfs
interface can access these devices' sensors. For more information, read the
documentation of the hwmon sysfs interface and check the lm-sensors
repository.
As the drivers mature, they will be proposed to, and hopefully reach, the mainline kernel.
This is the current state of the drivers in regards to this process:
Device | Driver name | hwmon name | Upstream |
---|---|---|---|
NZXT Grid+ V3/Smart Device (V1) | nzxt-grid3 |
smartdevice |
getting ready to submit |
NZXT Kraken X42/X52/X62/X72 | nzxt-kraken2 |
kraken2 |
in Linux 5.13 (patch) |
NZXT Kraken X53/X63/X73 | nzxt-kraken3 |
kraken3 |
early work in progress |
NZXT Smart Device V2/RGB & Fan Controller | nzxt-smart2 |
nzxtsmart2 |
in Linux 5.17 (patch) |
This repository contains the latest state of each driver, including features and bug fixes been worked on but no yet submitted upstream.
Note: other hwmon drivers exist in the mainline kernel for devices that
liquidctl also supports: corsair-cpro
, corsair-psu
.
ArchLinux users can try the liquidtux-dkms-gitAUR package. After the package is installed, manually load the desired drivers.
$ sudo modprobe nzxt-grid3 # NZXT Grid+ V3/Smart Device (V1)
$ sudo modprobe nzxt-kraken2 # NZXT Kraken X42/X52/X62/X72
$ sudo modprobe nzxt-kraken3 # NZXT Kraken X53/X63/X73
$ sudo modprobe nzxt-smart2 # NZXT Smart Device V2/RGB & Fan Controller
Those on other distros can install DKMS files using dkms_install
Makefile
target:
$ sudo make dkms_install
Then build and install the modules using:
$ sudo dkms install -m liquidtux -v $(./gitversion.sh)
Also, dkms_install
supports DESTDIR
variable, so it could be used for
building distribution-specific packages.
The drivers should be built with the kbuild system.
A simple Makefile is provided that simplifies this in normal scenarios. The
built modules can then be loaded with insmod
.
$ make
$ sudo insmod nzxt-grid3.ko # NZXT Grid+ V3/Smart Device (V1)
$ sudo insmod nzxt-kraken2.ko # NZXT Kraken X42/X52/X62/X72
$ sudo insmod nzxt-kraken3 # NZXT Kraken X53/X63/X73
$ sudo insmod nzxt-smart2 # NZXT Smart Device V2/RGB & Fan Controller
To unload them, use rmmod
or modprobe -r
.
If testing was successful the modules can be installed to the system with the
modules_install
target:
$ sudo make modules_install