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 | Upstreaming | Patches |
---|---|---|---|---|
NZXT Kraken X42/X52/X62/X72 | nzxt-kraken2 |
kraken2 |
in Linux 5.13 | [1] |
NZXT Smart Device (V1) | nzxt-grid3 |
smartdevice |
getting ready to submit | |
NZXT Grid+ V3 | nzxt-grid3 |
gridplus3 |
getting ready to submit |
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-kraken2 # NZXT Kraken X42/X52/X62/X72
$ sudo modprobe nzxt-grid3 # NZXT Grid+ V3/Smart Device (V1)
Those on other distros can experiment with directly using the provided dkms.conf. It should work with minimal modifications.
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-kraken2.ko # NZXT Kraken X42/X52/X62/X72
$ sudo insmod nzxt-grid3.ko # NZXT Grid+ V3/Smart Device (V1)
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