Kernel driver nzxt-kraken3¶
Supported devices:
NZXT Kraken X53
NZXT Kraken X63
NZXT Kraken X73
NZXT Kraken Z53
NZXT Kraken Z63
NZXT Kraken Z73
NZXT Kraken 2023
NZXT Kraken 2023 Elite
Author: Jonas Malaco, Aleksa Savic
Description¶
This driver enables hardware monitoring support for NZXT Kraken X53/X63/X73, Z53/Z63/Z73 and Kraken 2023 (standard and Elite) all-in-one CPU liquid coolers. All models expose liquid temperature and pump speed (in RPM), as well as PWM control (either as a fixed value or through a temp-PWM curve). The Z-series and Kraken 2023 models additionally expose the speed and duty of an optionally connected fan, with the same PWM control capabilities.
Pump and fan duty control mode can be set through pwm[1-2]_enable, where 1 is for the manual control mode and 2 is for the liquid temp to PWM curve mode. Writing a 0 disables control of the channel through the driver after setting its duty to 100%.
The temperature of the curves relates to the fixed [20-59] range, correlating to the detected liquid temperature. Only PWM values (ranging from 0-255) can be set. If in curve mode, setting point values should be done in moderation - the devices require complete curves to be sent for each change; they can lock up or discard the changes if they are too numerous at once. Suggestion is to set them while in an another mode, and then apply them by switching to curve.
The devices can report if they are faulty. The driver supports that situation and will issue a warning. This can also happen when the USB cable is connected, but SATA power is not.
The addressable RGB LEDs and LCD screen (only on Z-series and Kraken 2023 models) are not supported in this driver, but can be controlled through existing userspace tools, such as liquidctl.
Usage Notes¶
As these are USB HIDs, the driver can be loaded automatically by the kernel and supports hot swapping.
Possible pwm_enable values are:
0 |
Set fan to 100% |
1 |
Direct PWM mode (applies value in corresponding PWM entry) |
2 |
Curve control mode (applies the temp-PWM duty curve based on coolant temp) |
Sysfs entries¶
fan1_input |
Pump speed (in rpm) |
fan2_input |
Fan speed (in rpm) |
temp1_input |
Coolant temperature (in millidegrees Celsius) |
pwm1 |
Pump duty (value between 0-255) |
pwm1_enable |
Pump duty control mode (0: disabled, 1: manual, 2: curve) |
pwm2 |
Fan duty (value between 0-255) |
pwm2_enable |
Fan duty control mode (0: disabled, 1: manual, 2: curve) |
temp[1-2]_auto_point[1-40]_pwm |
Temp-PWM duty curves (for pump and fan), related to coolant temp |