1# Third-generation NZXT liquid coolers
2_Driver API and source code available in [`liquidctl.driver.kraken2`](../liquidctl/driver/kraken2.py)._
3
4## NZXT Kraken X42, X52, X62, X72
5
6The Kraken X42, X52, X62 and X72 are the third generation of Kraken X liquid coolers by NZXT.  These devices are manufactured by Asetek and house fifth generation Asetek pumps, plus secondary PCBs specially designed by NZXT for enhanced control and lighting.
7
8They incorporate customizable fan and pump speed control with PWM, a liquid temperature probe in the block and addressable RGB lighting.  The coolers are powered directly from the power supply unit.
9
10All configuration is done through USB, and persists as long as the device still gets power, even if the system has gone to Soft Off (S5) state.  The cooler also reports fan and pump speed and liquid temperature via USB; pump speed can also be sent to the motherboard (or other device) via the sense pin of a standard fan connector.
11
12All capabilities available at the hardware level are supported, but other features offered by CAM, like presets based on CPU or GPU temperatures, have not been implemented.  Pump and fan control based on liquid temperature is supported on units running firmware versions 4 or above.
13
14
15## NZXT Kraken M22
16
17This driver also supports the NZXT Kraken M22.  However, this device has no pump or fan control, nor reports liquid temperatures.
18
19
20## Monitoring
21
22The cooler can report the fan and pump speed, as well as the liquid temperature.
23
24```
25# liquidctl status
26NZXT Kraken X (X42, X52, X62 or X72)
27├── Liquid temperature     29.9  °C
28├── Fan speed               853  rpm
29├── Pump speed             1948  rpm
30└── Firmware version      6.0.2
31```
32
33
34## Fan and pump speeds
35
36First, some important notes...
37
38*You must carefully consider what pump and fan speeds to run.  Heat output, case airflow, radiator size, installed fans and ambient temperature are some of the factors to take into account.  Test your settings under different scenarios, and make sure that they are appropriate, correctly applied and persistent.*
39
40*Additionally, the liquid temperature should never reach 60°C, as at that point the pump and tubes might fail or quickly degrade.  You must monitor this during your tests and make any necessary adjustments.  As a safety measure, fan and pump speeds will forcibly be programmed to 100% for liquid temperatures of 60°C and above.*
41
42*You should also consider monitoring your hardware temperatures and setting alerts for overheating components or pump failures.*
43
44With those out of the way, each channel can be independently configured to a fixed duty value or with a profile dependent on the liquid temperature.  Fixed speeds can be set by specifying the desired channel – `fan` or `pump` – and duty.
45
46
47```
48# liquidctl set pump speed 90
49```
50
51| Channel | Minimum duty | Maximum duty |
52| --- | --- | --- |
53| fan | 25% | 100% |
54| pump | 50% | 100% |
55
56*Another important note: pump speeds between 50% and 60% are not currently exposed in CAM.  Presumably, there might be some scenarios when these lower speeds are not suitable.*
57
58For profiles, one or more temperature–duty pairs must be supplied.  liquidctl will normalize and optimize this profile before pushing it to the Kraken.  Adding `--verbose` will trace the final profile that is being applied.
59
60```
61# liquidctl set fan speed  20 30  30 50  34 80  40 90  50 100
62```
63
64
65## RGB lighting
66
67For lighting, the user can control a total of nine LEDs: one behind the NZXT logo and eight forming the ring that surrounds it.  These are separated into two channels, independently accessed through `logo` and `ring`, or synchronized with `sync`.
68
69```
70# liquidctl set sync color fixed af5a2f
71# liquidctl set ring color fading 350017 ff2608
72# liquidctl set logo color pulse ffffff
73# liquidctl set ring color marquee-5 2f6017 --direction backward --speed slower
74```
75
76Colors can be specified in RGB, HSV or HSL (see [Supported color specification formats](../README.md#supported-color-specification-formats)), and each animation mode supports different number of colors.  The animation speed can be customized with the `--speed <value>`, and five relative values are accepted by the device: `slowest`, `slower`, `normal`, `faster` and `fastest`.
77
78Some of the color animations can be in either the `forward` or `backward` direction.
79This can be specified by using the `--direction` flag.
80
81| `ring` | `logo` | `sync` | Mode | Colors | Notes |
82| --- | --- | --- | --- | --- | --- |
83| ✓ | ✓ | ✓ | `off` | None |
84| ✓ | ✓ | ✓ | `fixed` | One |
85| ✓ | ✓ | ✓ | `super-fixed` | Up to 9 (logo + each ring LED) |
86| ✓ | ✓ | ✓ | `fading` | Between 2 and 8, one for each step |
87| ✓ | ✓ | ✓ | `spectrum-wave` | None |
88| ✓ |   |   | `super-wave` | Up to 8 |
89| ✓ |   |   | `marquee-<length>` | One | 3 ≤ `length` ≤ 6 |
90| ✓ |   |   | `covering-marquee` | Up to 8, one for each step |
91| ✓ |   |   | `alternating` | Two |
92| ✓ |   |   | `moving-alternating` | Two |
93| ✓ | ✓ | ✓ | `breathing` | Up to 8, one for each step |
94| ✓ | ✓ | ✓ | `super-breathing` | Up to 9 (logo + each ring LED) | Only one step |
95| ✓ | ✓ | ✓ | `pulse` | Up to 8, one for each pulse |
96| ✓ |   |   | `tai-chi` | Two |
97| ✓ |   |   | `water-cooler` | None |
98| ✓ |   |   | `loading` | One |
99| ✓ |   |   | `wings` | One |
100
101
102#### Deprecated modes
103
104The following modes are now deprecated and the use of the `--direction backward` is preferred,
105they will be removed in a future version and are kept for now for backward compatibility.
106
107| `ring` | `logo` | `sync` | Mode | Colors | Notes |
108| --- | --- | --- | --- | --- | --- |
109| ✓ | ✓ | ✓ | `backwards-spectrum-wave` | None |
110| ✓ |   |   | `backwards-super-wave` | Up to 8 |
111| ✓ |   |   | `backwards-marquee-<length>` | One | 3 ≤ `length` ≤ 6 |
112| ✓ |   |   | `covering-backwards-marquee` | Up to 8, one for each step |
113| ✓ |   |   | `backwards-moving-alternating` | Two |
114