OpenRGB on Rocky Linux 9 / CentOS 9

Important information. I’m using OpenRGB on a headless Rocky Linux 9 server installation without GUI. But it should also work with GUI installations.

First of all, there are no packages in the repository (as of today) and no RPM packages for CentOS 9 based systems. But hey, we can always build it ourselves. And this it what we’re gonna be doing today.

Step 1/4

We need to install build dependencies:

sudo dnf install automake gcc-c++ qt5-qtbase-devel qt5-linguist libusbx-devel mbedtls-devel git

Step 2/4

We also need “hidapi” and “hidapi-devel” packages, which aren’t available in the Rocky Linux repository.
Luckly enough, I found it on some early Alma Linux 9 developer build and since it’s binary compatible we can use it here:

wget -q https://repo.almalinux.org/development/almalinux/9/devel/x86_64/Packages/hidapi-0.10.1-5.el9.x86_64.rpm
wget -q https://repo.almalinux.org/development/almalinux/9/devel/x86_64/Packages/hidapi-devel-0.10.1-5.el9.x86_64.rpm
sudo yum localinstall hidapi-0.10.1-5.el9.x86_64.rpm
sudo yum localinstall hidapi-devel-0.10.1-5.el9.x86_64.rpm

Mirrors:
hidapi | hidapi-devel

Step 3/4

It’s time to download and compile the code.

cd /usr/src/
git clone https://gitlab.com/CalcProgrammer1/OpenRGB
cd OpenRGB
qmake-qt5 OpenRGB.pro
make -j$(nproc)
make install

BTW, you can ignore this “warning”:
Project MESSAGE: 60-openrgb.rules – UDEV rules file missing. Adding script to build

Optionaly (make should generate it), we can download the udev rules from GitLab (or update in the future if necessary):

wget -q https://gitlab.com/CalcProgrammer1/OpenRGB/-/jobs/artifacts/master/raw/60-openrgb.rules?job=Linux+64+AppImage&inline=false
mv 60-openrgb.rules* /usr/lib/udev/rules.d/60-openrgb.rules
sudo udevadm control --reload-rules && sudo udevadm trigger

Step 4/4

That’s it! We can finally test it:

openrgb --list-devices

If you’re getting “i2c-dev module” error you need to install i2c modules (depending on your CPU):

For Intel CPUs:

sudo modprobe i2c-dev
sudo modprobe i2c-i801

For AMD CPUs:

sudo modprobe i2c-dev
sudo modprobe i2c-piix4

CLI usage examples

> openrgb --list-devices
0: MSI PRO Z690-A (MS-7D25)
 Type: Motherboard
 Description: MSI Mystic Light Device (185-byte)
 Version: AP/LD 0.3 / 1.5
 Location: HID: /dev/hidraw0
 Serial: A02021081203
 Modes: [Direct] Static Breathing Flashing 'Double flashing' Lightning Meteor 'Color ring' Planetary 'Double meteor' Energy Blink Clock 'Color pulse' 'Color shift' 'Color wave' Marquee 'Rainbow wave' Visor 'Rainbow flashing' 'Color ring double flashing' Stack Fire
 Zones: JRGB1 JRAINBOW1 JRAINBOW2
 LEDs: 'JRGB1 LED '

Changing modes and colors:

openrgb --device 0 --zone 1 --size 30 --mode Meteor --color red
openrgb --device 0 --zone 1 --size 30 --mode 'Rainbow wave'
openrgb --device 0 --zone 1 --size 30 --mode Static --color 111111

–size is the number of LEDs on your RGB strip.

 

BTW. Another thing I tried was using Fedora RPM:

> yum localinstall openrgb_0.7_x86_64_6128731.rpm
Error:
Problem: conflicting requests
 - nothing provides libmbedcrypto.so.3()(64bit) needed by openrgb-0.7-0.fc34.x86_64
 - nothing provides libmbedtls.so.12()(64bit) needed by openrgb-0.7-0.fc34.x86_64
 - nothing provides libmbedx509.so.0()(64bit) needed by openrgb-0.7-0.fc34.x86_64

Sadly, some libraries are incompatible, but I’m leaving this for the search engines, just in case.