I recently upgraded my rig, and decided to buy a pretty hot processor: the 8th gen Intel Core i7-8700K. Intel has the very unfortunate habit of not soldering the processor die to the lid, but rather use a thermal compound whose performance are not comparable. Some like to delid, I don’t like very much the idea of voiding the warranty of a few days old processor.
Anyway, I decided to buy a water cooler in order to keep the CPU temperatures under control. My choice was the Corsair H100i v2. This system’s suggested mounting expects the user to connect a cable to the waterblock and to a USB 2 header on the motherboard. Once done, the all-in-one liquid cooler can be finely tuned using the “Corsair Link” application. Sounds great, right? No it does not, as Corsair is not supporting Linux.
Open Corsair Link: preparation
Fortunately though, the community helped itself. This project allows Linux users to read data from the AIO (e.g. the water temperature and the fan speed), and to adjust the settings to their preference (led color, fan curves, pump performance).
Building the application
That’s rather easy. You’ll need
git, a C compiler, and
libusb installed. They are all likely already on your system.
Once the compilation is done, you’ll find a
OpenCorsairLink.elf file on the folder. That’s the application. Everything’s packed inside such file, and you can just put it in your
PATH and have it accessible. Also, I suggest renaming it to just
Installing on Arch
Since I am an Arch Linux user, I decided to provide (myself and others) with a mean to do the above procedure quickly. To do so, I published an AUR package that automatizes the compilation and installation procedure, that can be done in a single shot. Assuming you are using yaourt as AUR helper, just issue:
OpenCorsairLink will be an executable readily accessible from your command line.
Here it comes the most difficult part: understanding how to use the application. I could find no decent resource online explaining how to use it, and the help file is vague.
OK, some things are rather straightforward. Selecting the device is easy, setting the pump is too. Honestly, also the led part is not a problem. The problem is how to tune the fans! The help does not explain very well how many values should be provided. I’ve tried several combination, that had no effect on the fan speed whatsoever, so I took a read of the source code: the magic number is six. You must provide six values. Temperatures are measured in Celsius, and they refer to the water temperature, not the CPU temperature. So do not set your fans to get to a high speed when the temperature is 70°C or so, as it would be way too late.
Valid configuration example
Here is my configuration line:
The difference between the two pump settings is minimal, so maybe when the hot summer comes I might decide to use the performance mode for the pump. I want the fans to be very quiet when there is little or no load, but I want them to get aggressive when the water temperatures get too close to 40°C. I don’t really care about the led instead (my case window faces a pieces of furniture).
Once the settings are saved, the AIO should register them and be set. However, I’m not entirely sure it works. As such, just to be on the safe side, I reapply the configuration on boot.
So, dear Linux users, you can now enjoy your high performance water cooling system!