2019-12-31 19:18:24 -06:00
2020-04-04 02:53:55 -05:00
2019-01-29 03:26:51 +00:00
2020-04-06 11:42:43 -05:00

OpenRGB (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.

OpenRGB_0.11

Installation

Windows

  1. Download the latest Visual Studio Community Edition and Qt Creator.
  2. Update the submodules: git submodule update --init --recursive
  3. Open the OpenRGB_Win.pro project.
  4. Build the project for either the x86 or x64 architecture.
  5. 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:

  1. 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
  1. 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=lax to your kernel command line and reboot. The controller should now show up.
    • 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
Description
No description provided
Readme GPL-2.0 70 MiB
Languages
C++ 98%
C 1.1%
Prolog 0.5%
Shell 0.3%