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.