Open source Linux interface for iCUE LINK Hub and other Corsair AIOs, Hubs.
- This project was created out of own necessity to control fans and pumps on workstations after switching everything to Linux.
- I take no responsibility for this code at all. Use this at your own risk.
- Most of the devices are actually tested on live hardware.
- OpenLinkHub supports multiple devices.
- Take care and have fun!
Device | VID | PID | Sub Devices |
---|---|---|---|
iCUE LINK System Hub | 1b1c |
0c3f |
ShowiCUE LINK QX RGBiCUE LINK RX iCUE LINK RX RGB iCUE LINK RX MAX iCUE LINK RX MAX RGB iCUE LINK LX RGB iCUE LINK H100i iCUE LINK H115i iCUE LINK H150i iCUE LINK H170i XC7 Elite XG7 XD5 Elite XD5 Elite LCD VRM Cooling Module iCUE LINK TITAN H100i iCUE LINK TITAN H150i iCUE LINK TITAN H115i iCUE LINK TITAN H170i LCD Pump Cover iCUE LINK XG3 HYBRID |
iCUE COMMANDER Core | 1b1c |
0c32 0c1c |
ShowH100i ELITE CAPELLIXH115i ELITE CAPELLIX H150i ELITE CAPELLIX H170i ELITE CAPELLIX H100i ELITE LCD H150i ELITE LCD H170i ELITE LCD H100i ELITE LCD XT H115i ELITE LCD XT H150i ELITE LCD XT H170i ELITE LCD XT H100i ELITE CAPELLIX XT H115i ELITE CAPELLIX XT H150i ELITE CAPELLIX XT H170i ELITE CAPELLIX XT 1x Temperature Probe 4-LED RGB Fan 8-LED RGB Fan QL Fan Series LL Fan Series ML Fan Series Any PWM Fan |
iCUE COMMANDER Core XT | 1b1c |
0c2a |
ShowExternal RGB Hub2x Temperature Probe 4-LED RGB Fan 8-LED RGB Fan QL Fan Series LL Fan Series ML Fan Series Any PWM Fan H55 RGB AIO H100 RGB AIO H150 RGB AIO |
iCUE H100i RGB ELITE | 1b1c |
0c35 0c40 |
|
iCUE H115i RGB ELITE | 1b1c |
0c36 |
|
iCUE H150i RGB ELITE | 1b1c |
0c37 0c41 |
|
Lighting Node CORE | 1b1c |
0c1a |
ShowHD RGB Series FanLL RGB Series Fan ML PRO RGB Series Fan QL RGB Series Fan 8-LED Series Fan SP RGB Series Fan |
Lighting Node PRO | 1b1c |
0c0b |
Show2x External RGB HubHD RGB Series Fan LL RGB Series Fan ML PRO RGB Series Fan QL RGB Series Fan 8-LED Series Fan SP RGB Series Fan |
Commander PRO | 1b1c |
0c10 |
Show2x External RGB Hub4x Temperature Probe Any PWM Fan |
XC7 ELITE LCD CPU Water Block | 1b1c |
0c42 |
ShowRGB ControlLCD Control |
As of 0.1.5 version, OpenLinkHub ships with .deb
and .rpm
packages for ease of installation.
Packages will automatically set up all the required device and folder permissions.
Packages will also take care of systemd service creation and first startup.
- Download either .deb or .rpm package from the latest Release, depends on your Linux distribution
- Open terminal
- Navigate to the folder where the package is downloaded
# Debian Based (deb)
$ sudo apt install ./OpenLinkHub_X.X.X_amd64.deb
# RPM based (rpm)
$ sudo rpm -ivh OpenLinkHub-X.X.X-1.x86_64.rpm
- libudev-dev
- go 1.22.2 - https://go.dev/dl/
# Required packages (deb)
$ sudo apt-get install libudev-dev
# Required packages (rpm)
$ sudo dnf install libudev-devel
$ git clone https://github.com/jurkovic-nikola/OpenLinkHub.git
$ cd OpenLinkHub/
$ go build .
$ chmod +x install.sh
$ sudo sh install.sh
# Download latest build from https://github.com/jurkovic-nikola/OpenLinkHub/releases
$ wget https://github.com/jurkovic-nikola/OpenLinkHub/releases/download/0.2.0/OpenLinkHub_0.2.0_amd64.tar.gz
$ tar xvf OpenLinkHub_0.2.0_amd64.tar.gz
$ cd OpenLinkHub/
$ chmod +x install.sh
$ sudo sh install.sh
{
"debug": false,
"listenPort": 27003,
"listenAddress": "127.0.0.1",
"cpuSensorChip": "k10temp",
"manual": false,
"frontend": true,
"metrics": true,
"dbusMonitor": false
}
- listenPort: HTTP server port.
- listenAddress: Address for HTTP server to listen on.
- cpuSensorChip: CPU sensor chip for temperature.
k10temp
orzenpower
for AMD andcoretemp
for Intel - manual: set to true if you want to use your own UI for device control. Setting this to true will disable temperature monitoring and automatic device speed adjustments.
- frontend: set to false if you do not need WebUI console, and you are making your own UI app.
- metrics: enable or disable Prometheus metrics
- dbusMonitor: enable or disable iCUE Link System Hub suspend / resume via DBus. Set this to true of your hub is not recovering after sleep via normal method
As an alternative, OpenLinkHub can be run in Docker, using the Dockerfile in this repository to build it locally. A configuration file has to be mounted to /opt/OpenLinkHub/config.json
$ docker build . -t openlinkhub
$ # To build a specific version you can use the GIT_TAG build argument
$ docker build --build-arg GIT_TAG=0.1.3-beta -t openlinkhub .
$ docker run --privileged -v ./config.json:/opt/OpenLinkHub/config.json openlinkhub
# For WebUI access, networking is required
$ docker run --network host --privileged -v ./config.json:/opt/OpenLinkHub/config.json openlinkhub
- Device Dashboard is accessible by browser via link
http://127.0.0.1:27003/
- Device Dashboard allows you to control your devices.
- RGB configuration is located at
database/rgb.json
file.
- profiles: Custom RGB mode data
- key: RGB profile name
- speed: RGB effect speed, from 1 to 10
- brightness: Color brightness, from 0.1 to 1
- smoothness: How smooth transition from one color to another is.
- the smoothness is in range of 1 to 40
- start: Custom starting color in (R, G, B, brightness format)
- end: Custom ending color (R, G, B, brightness format)
- If you want random colors, remove data from start and end JSON block.
"start":{}
and"end":{}
- If you want random colors, remove data from start and end JSON block.
- key: RGB profile name
- OpenLinkHub ships with built-in HTTP server for device overview and control.
- Documentation is available at
http://127.0.0.1:27003/docs