(formerly OpenAuraSDK)
One of the biggest complaints about RGB is the software ecosystem surrounding it. Every manufacturer has their own app, their own brand, their own style. If you want to mix and match devices, you end up with a ton of conflicting, functionally identical apps competing for your background resources. On top of that, these apps are proprietary and Windows-only. Some even require online accounts. What if there was a way to control all of your RGB devices from a single app, on both Windows and Linux, without any nonsense? That is what OpenRGB sets out to achieve. One app to rule them all. OpenRGB is still in its early stages and already supports quite a few products. I'm always on the lookout for good deals on more popular RGB devices to add support for.
Supported Devices
See the Project Wiki for the current list of supported devices.
Installation
Windows
- Download the latest Visual Studio Community Edition and Qt Creator.
- Update the submodules: git submodule update --init --recursive
- Open the OpenRGB_Win.pro project.
- Build the project for either the
x86orx64architecture. - Run the project from Qt Creator. If you want to use your custom build standalone, download the latest matching Release package and replace the OpenRGB.exe in it with your new build.
You must run the application as Administrator the first time to allow InpOut32 to set up. It can be run as a normal user afterwards
Linux:
- Either open the project using QT Creator or build it using qmake. You will need the libusb-1.0-0 (or equivalent) development package from your distribution's package manager installed.
* sudo apt install build-esential qtcreator qt5-default libusb-1.0-0-dev
* git clone https://gitlab.com/CalcProgrammer1/OpenRGB
* cd OpenRGB
* git submodule update --init --recursive
* qmake OpenRGB.pro
* make -j8
* ./OpenRGB
-
Allow access to SMBus:
-
This can be identified by your motherboard
Intel
modprobe i2c-dev i2c-i801- Asus used the SMBus controller on the Super IO chip for on-board Aura chips on Intel motherboards. I have a kernel patch to add a driver for this chip (OpenRGB.patch). After patching the kernel, enable the Nuvoton NCT67xx SMBus driver in your kernel configuration. The driver may be loaded with
modprobe i2c-nct6775
AMD
modprobe i2c-dev i2c-piix4- The second SMBus isn't currently picked up by the kernel driver and that seems to be where Asus wired the Aura controllers so I have a kernel patch (OpenRGB.patch) that will allow the kernel to use the second bus (at
0x0b20).
-
Instructions on patching the kernel:
-
Some Gigabyte/Aorus motherboards have an ACPI conflict with the SMBus controller.
- Add
acpi_enforce_resources=laxto your kernel command line and reboot. The controller should now show up.
- Add
-
You'll have to enable user access to your SMbus if you don't run as root.
- List all SMBus controllers:
sudo i2cdetect -l - Find out which control your Aura devices (PIIX4, I801, and NCT67xx)
- Give user access to those controllers, for instance:
sudo chmod 777 /dev/i2c-0
- List all SMBus controllers:
-