Skip to content

Linux kernel hwmon drivers for AIO liquid coolers and other devices

License

Notifications You must be signed in to change notification settings

liquidctl/liquidtux

Repository files navigation

liquidtux

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.

Device support

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, Z53/Z63/Z73, Kraken 2023 (standard, Elite) nzxt-kraken3 kraken3 in Linux 6.9 (patch), Kraken 2023 - in Linux 6.10 (patch)
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 that are not yet submitted upstream.

Note: other hwmon drivers exist in the mainline kernel for devices that liquidctl also supports: corsair-cpro, corsair-psu.

Installing with DKMS

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, Z53/Z63/Z73, Kraken 2023 (standard, Elite)
$ 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.

Manually building, inserting and installing

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 drivers/hwmon/nzxt-grid3.ko         # NZXT Grid+ V3/Smart Device (V1)
$ sudo insmod drivers/hwmon/nzxt-kraken2.ko       # NZXT Kraken X42/X52/X62/X72
$ sudo insmod drivers/hwmon/nzxt-kraken3.ko       # NZXT Kraken X53/X63/X73, Z53/Z63/Z73, Kraken 2023 (standard, Elite)
$ sudo insmod drivers/hwmon/nzxt-smart2.ko        # 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