LinuxCommandLibrary

liquidctl

Control liquid coolers and other devices

TLDR

List available devices

$ liquidctl list
copy

Initialize all supported devices
$ sudo liquidctl initialize all
copy

Print the status of available liquid coolers
$ liquidctl status
copy

Match a string in product name to pick a device and set its fan speed to 0% at 20°C, 50% at 50°C and 100% at 70°C
$ liquidctl --match [string] set fan speed [20 0 50 50 70 100]
copy

SYNOPSIS

liquidctl [--match <pattern>] command [arguments]

Common usage examples:
liquidctl list
liquidctl status
liquidctl set <device> <property> <value>
liquidctl initialize

PARAMETERS

list
    Lists all detected and supported liquid cooling devices.

status
    Displays the current status, sensor data, and configuration of specified devices.

set <device> <property> <value>
    Sets a specific property (e.g., fan speed, pump mode, LED color) for a device.

initialize
    Initializes a device, applying its default or last known configuration.

--match <pattern>
    Filters device selection based on a vendor/product pattern (e.g., corsair/h100i).

--json
    Outputs command results in JSON format, useful for scripting.

--help
    Shows the command's help message and available options.

DESCRIPTION

liquidctl is a robust, cross-platform command-line tool designed for managing and monitoring liquid cooling solutions and fan controllers. It provides extensive control over various hardware components, including AIO (All-In-One) coolers, pump speeds, fan speeds, and RGB LED lighting. The tool supports a wide range of devices from manufacturers like Corsair, NZXT, and Asetek, enabling users to customize cooling profiles, set fan curves, adjust pump performance, and configure lighting effects directly from the terminal. liquidctl is particularly valuable for Linux users who lack proprietary vendor software, offering a powerful alternative for precise hardware control and thermal management. It helps optimize system acoustics and cooling efficiency, ensuring optimal performance for gaming and demanding workloads.

CAVEATS

liquidctl often requires root privileges or specific udev rules to access hardware devices. Incorrect settings can potentially impact cooling performance or system stability. Device compatibility can vary; always refer to the official documentation for supported hardware.

COMMON USE CASES

liquidctl is frequently used for setting custom fan curves to balance noise and cooling efficiency, configuring specific RGB lighting effects on supported devices, and real-time monitoring of coolant temperatures, fan speeds, and pump performance for optimal system tuning.

PERMISSIONS AND UDEV RULES

To allow non-root users to manage devices with liquidctl, it is necessary to configure appropriate UDEV rules. These rules grant the necessary permissions to access the hardware interface. Detailed instructions for setting up UDEV rules are available in the official liquidctl documentation or project repository.

HISTORY

liquidctl was primarily developed by Jonas Malaco, starting around 2019, to address the lack of native Linux support for controlling popular liquid cooling solutions without relying on proprietary vendor software. It has since grown into a widely adopted tool, continuously receiving updates and expanding its device compatibility.

SEE ALSO

lm_sensors(1), fancontrol(8), i2cdetect(8)

Copied to clipboard