liquidctl
Control liquid coolers and other devices
TLDR
List available devices
Initialize all supported devices
Print the status of available liquid coolers
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
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)