2023-01-14 16:02:42 +01:00
|
|
|
# Corsair Hydro Platinum, Pro XT and Elite RGB all-in-one liquid coolers
|
2020-07-30 03:18:31 +02:00
|
|
|
_Driver API and source code available in [`liquidctl.driver.hydro_platinum`](../liquidctl/driver/hydro_platinum.py)._
|
2020-06-18 12:06:11 +02:00
|
|
|
|
2023-01-14 16:02:42 +01:00
|
|
|
_Changed in git: the H100i Elite RGB is now supported._<br>
|
|
|
|
|
2020-06-18 12:06:11 +02:00
|
|
|
## Initializing the device and setting the pump mode
|
|
|
|
|
|
|
|
The device should be initialized every time it is powered on, including when
|
|
|
|
the system resumes from suspending to memory.
|
|
|
|
|
|
|
|
```
|
|
|
|
# liquidctl initialize
|
2022-01-06 06:21:28 +01:00
|
|
|
Corsair Hydro H100i Platinum
|
2021-01-30 06:35:31 +01:00
|
|
|
└── Firmware version 1.1.15
|
2020-06-18 12:06:11 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
By default the pump mode will be set to `balanced`, but a different mode can be
|
|
|
|
specified with `--pump-mode`. The valid values for this option are `quiet`,
|
|
|
|
`balanced` and `extreme`.
|
|
|
|
|
|
|
|
```
|
|
|
|
# liquidctl initialize --pump-mode extreme
|
2022-01-06 06:21:28 +01:00
|
|
|
Corsair Hydro H100i Platinum
|
2021-01-30 06:35:31 +01:00
|
|
|
└── Firmware version 1.1.15
|
2020-06-18 12:06:11 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
Unconfigured fan channels may default to 100% duty, so [reprogramming their
|
|
|
|
behavior](#programming-the-fan-speeds) is also recommended after running
|
|
|
|
`initialize` for the first time since the cooler was powered on. Subsequent
|
|
|
|
executions of `initialize` should leave the fan speeds unaffected.
|
|
|
|
|
|
|
|
## Retrieving the liquid temperature and fan/pump speeds
|
|
|
|
|
|
|
|
The cooler reports the liquid temperature and the speeds of all fans and pump.
|
|
|
|
|
|
|
|
```
|
|
|
|
# liquidctl status
|
2022-01-06 06:21:28 +01:00
|
|
|
Corsair Hydro H100i Platinum
|
2020-06-18 12:06:11 +02:00
|
|
|
├── Liquid temperature 27.0 °C
|
|
|
|
├── Fan 1 speed 1386 rpm
|
2021-01-30 06:35:31 +01:00
|
|
|
├── Fan 1 duty 50 %
|
2020-06-20 12:30:55 +02:00
|
|
|
├── Fan 2 speed 1389 rpm
|
2021-01-30 06:35:31 +01:00
|
|
|
├── Fan 2 duty 50 %
|
2020-06-20 12:30:55 +02:00
|
|
|
└── Pump speed 2357 rpm
|
2020-06-18 12:06:11 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
## Programming the fan speeds
|
|
|
|
|
2020-06-20 12:30:55 +02:00
|
|
|
Each fan can be set to either a fixed duty cycle, or a profile consisting of up
|
2020-07-29 02:28:16 +02:00
|
|
|
to seven (temperature, duty) pairs. Temperatures should be given in Celsius
|
|
|
|
and duty values in percentage.
|
2020-06-18 12:06:11 +02:00
|
|
|
|
2020-07-29 02:28:16 +02:00
|
|
|
Profiles run on the device and are always based on the internal liquid
|
2020-06-18 12:06:11 +02:00
|
|
|
temperature probe. The last point should set the fan to 100% duty cycle, or be
|
|
|
|
omitted; in the latter case the fan will be set to max out at 60°C.
|
|
|
|
|
|
|
|
```
|
|
|
|
# liquidctl set fan1 speed 70
|
|
|
|
^^^^ ^^
|
|
|
|
channel duty
|
|
|
|
|
|
|
|
# liquidctl set fan2 speed 20 20 40 70 50 100
|
|
|
|
^^^^^ ^^^^^ ^^^^^^
|
|
|
|
pairs of temperature (°C) -> duty (%)
|
|
|
|
```
|
|
|
|
|
2020-06-20 12:30:55 +02:00
|
|
|
Valid channel values are `fanN`, where N >= 1 is the fan number, and
|
|
|
|
`fan`, to simultaneously configure all fans.
|
2020-06-18 12:06:11 +02:00
|
|
|
|
|
|
|
As mentioned before, unconfigured fan channels may default to 100% duty.
|
|
|
|
|
|
|
|
_Note: pass `--verbose` to see the raw settings being sent to the cooler, after
|
|
|
|
normalization of the profile and enforcement of the (60°C, 100%) fail-safe._
|
|
|
|
|
|
|
|
## Controlling the LEDs
|
|
|
|
|
|
|
|
In reality these coolers do not have the concept of different channels or
|
|
|
|
modes, but liquidctl provides a few for convenience.
|
|
|
|
|
|
|
|
The table bellow summarizes the available channels, modes, and their associated
|
hydro_platinum: Remove component abstraction in set_color
This abstraction assumed each "component", meaning a fan or the pump
head, had the same number of LEDs. It that held, the abstraction
provided a simple but convenient way to control each component
independently.
Unfortunately, the PRO XT devices made it obvious that the assumption
was incorrect: the pump head is very likely the same between Platinum
and PRO XT coolers, and it is now known to have 16 LEDs (on the PRO XT).
This makes the component abstraction a harder to (correctly) implement,
since the fans and the pump head have significantly different number of
LEDs.
Considering that it was also a very crude abstraction, a more direct
approach, where each component is identified by its name through
separate (pseudo) channels, is preferable to fixing the old one.
This will, however, require thorough testing, and is not something I am
ready to include (and thus stabilize) in 1.4.0.
For now, simply remove the broken abstraction and provide basic fully
independent or fully synchronized control over the LEDs.
Related: #149 ("H100i RGB PRO XT Lighting not responding to commands")
Related: #138 ("Add support for H150i PRO XT and H100i Platinum SE")
2020-07-25 15:59:17 +02:00
|
|
|
maximum number of colors for each device family.
|
2020-06-18 12:06:11 +02:00
|
|
|
|
2023-01-14 16:02:42 +01:00
|
|
|
| Channel | Mode | LEDs | Components | Platinum | Pro XT/Elite RGB | Platinum SE |
|
|
|
|
| -------- | ----------- | ------------ | ------------ | -------- | ---------------- | ----------- |
|
|
|
|
| led | off | synchronized | all off | 0 | 0 | 0 |
|
|
|
|
| led | fixed | synchronized | independent | 1 | 1 | 1 |
|
|
|
|
| led | super-fixed | independent | independent | 24 | 16 | 48 |
|
2020-06-18 12:06:11 +02:00
|
|
|
|
hydro_platinum: Remove component abstraction in set_color
This abstraction assumed each "component", meaning a fan or the pump
head, had the same number of LEDs. It that held, the abstraction
provided a simple but convenient way to control each component
independently.
Unfortunately, the PRO XT devices made it obvious that the assumption
was incorrect: the pump head is very likely the same between Platinum
and PRO XT coolers, and it is now known to have 16 LEDs (on the PRO XT).
This makes the component abstraction a harder to (correctly) implement,
since the fans and the pump head have significantly different number of
LEDs.
Considering that it was also a very crude abstraction, a more direct
approach, where each component is identified by its name through
separate (pseudo) channels, is preferable to fixing the old one.
This will, however, require thorough testing, and is not something I am
ready to include (and thus stabilize) in 1.4.0.
For now, simply remove the broken abstraction and provide basic fully
independent or fully synchronized control over the LEDs.
Related: #149 ("H100i RGB PRO XT Lighting not responding to commands")
Related: #138 ("Add support for H150i PRO XT and H100i Platinum SE")
2020-07-25 15:59:17 +02:00
|
|
|
The `led` channel can be used to address individual LEDs, and supports the
|
|
|
|
`super-fixed`, `fixed` and `off` modes.
|
2020-06-18 12:06:11 +02:00
|
|
|
|
hydro_platinum: Remove component abstraction in set_color
This abstraction assumed each "component", meaning a fan or the pump
head, had the same number of LEDs. It that held, the abstraction
provided a simple but convenient way to control each component
independently.
Unfortunately, the PRO XT devices made it obvious that the assumption
was incorrect: the pump head is very likely the same between Platinum
and PRO XT coolers, and it is now known to have 16 LEDs (on the PRO XT).
This makes the component abstraction a harder to (correctly) implement,
since the fans and the pump head have significantly different number of
LEDs.
Considering that it was also a very crude abstraction, a more direct
approach, where each component is identified by its name through
separate (pseudo) channels, is preferable to fixing the old one.
This will, however, require thorough testing, and is not something I am
ready to include (and thus stabilize) in 1.4.0.
For now, simply remove the broken abstraction and provide basic fully
independent or fully synchronized control over the LEDs.
Related: #149 ("H100i RGB PRO XT Lighting not responding to commands")
Related: #138 ("Add support for H150i PRO XT and H100i Platinum SE")
2020-07-25 15:59:17 +02:00
|
|
|
In `super-fixed` mode, each color supplied on the command line is applied to
|
|
|
|
one individual LED, successively. LEDs for which no color has been specified
|
|
|
|
default to off/solid black. This is closest to how the device works.
|
2020-06-18 12:06:11 +02:00
|
|
|
|
hydro_platinum: Remove component abstraction in set_color
This abstraction assumed each "component", meaning a fan or the pump
head, had the same number of LEDs. It that held, the abstraction
provided a simple but convenient way to control each component
independently.
Unfortunately, the PRO XT devices made it obvious that the assumption
was incorrect: the pump head is very likely the same between Platinum
and PRO XT coolers, and it is now known to have 16 LEDs (on the PRO XT).
This makes the component abstraction a harder to (correctly) implement,
since the fans and the pump head have significantly different number of
LEDs.
Considering that it was also a very crude abstraction, a more direct
approach, where each component is identified by its name through
separate (pseudo) channels, is preferable to fixing the old one.
This will, however, require thorough testing, and is not something I am
ready to include (and thus stabilize) in 1.4.0.
For now, simply remove the broken abstraction and provide basic fully
independent or fully synchronized control over the LEDs.
Related: #149 ("H100i RGB PRO XT Lighting not responding to commands")
Related: #138 ("Add support for H150i PRO XT and H100i Platinum SE")
2020-07-25 15:59:17 +02:00
|
|
|
In `fixed` mode, all LEDs are set to a single color supplied on the command
|
|
|
|
line. The `off` mode is simply an alias for `fixed 000000`.
|
2020-06-18 12:06:11 +02:00
|
|
|
|
|
|
|
```
|
|
|
|
# liquidctl set led color off
|
hydro_platinum: Remove component abstraction in set_color
This abstraction assumed each "component", meaning a fan or the pump
head, had the same number of LEDs. It that held, the abstraction
provided a simple but convenient way to control each component
independently.
Unfortunately, the PRO XT devices made it obvious that the assumption
was incorrect: the pump head is very likely the same between Platinum
and PRO XT coolers, and it is now known to have 16 LEDs (on the PRO XT).
This makes the component abstraction a harder to (correctly) implement,
since the fans and the pump head have significantly different number of
LEDs.
Considering that it was also a very crude abstraction, a more direct
approach, where each component is identified by its name through
separate (pseudo) channels, is preferable to fixing the old one.
This will, however, require thorough testing, and is not something I am
ready to include (and thus stabilize) in 1.4.0.
For now, simply remove the broken abstraction and provide basic fully
independent or fully synchronized control over the LEDs.
Related: #149 ("H100i RGB PRO XT Lighting not responding to commands")
Related: #138 ("Add support for H150i PRO XT and H100i Platinum SE")
2020-07-25 15:59:17 +02:00
|
|
|
# liquidctl set led color fixed ff8000
|
|
|
|
# liquidctl set led color fixed "hsv(90,85,70)"
|
2020-06-18 12:06:11 +02:00
|
|
|
# liquidctl set led color super-fixed <up to 24 colors>
|
|
|
|
^^^ ^^^^^^^^^^^ ^
|
|
|
|
channel mode colors...
|
|
|
|
```
|
|
|
|
|
hydro_platinum: Remove component abstraction in set_color
This abstraction assumed each "component", meaning a fan or the pump
head, had the same number of LEDs. It that held, the abstraction
provided a simple but convenient way to control each component
independently.
Unfortunately, the PRO XT devices made it obvious that the assumption
was incorrect: the pump head is very likely the same between Platinum
and PRO XT coolers, and it is now known to have 16 LEDs (on the PRO XT).
This makes the component abstraction a harder to (correctly) implement,
since the fans and the pump head have significantly different number of
LEDs.
Considering that it was also a very crude abstraction, a more direct
approach, where each component is identified by its name through
separate (pseudo) channels, is preferable to fixing the old one.
This will, however, require thorough testing, and is not something I am
ready to include (and thus stabilize) in 1.4.0.
For now, simply remove the broken abstraction and provide basic fully
independent or fully synchronized control over the LEDs.
Related: #149 ("H100i RGB PRO XT Lighting not responding to commands")
Related: #138 ("Add support for H150i PRO XT and H100i Platinum SE")
2020-07-25 15:59:17 +02:00
|
|
|
Each color can be specified using any of the [supported formats](../README.md#supported-color-specification-formats).
|
2020-06-18 12:06:11 +02:00
|
|
|
|
|
|
|
Animations are not supported at the hardware level, and require successive
|
|
|
|
invocations of the commands shown above, or use of the liquidctl APIs.
|