No description
Find a file
2020-04-06 14:42:15 -05:00
Controllers Remove 0x66 from the Aura motherboard list as it is also in the Aura RAM list and gets double-detected if it exists 2020-04-04 20:48:16 -05:00
dependencies Fix filename case to get ColorWheel building in Linux 2020-03-30 19:23:50 -05:00
i2c_smbus Bring in nct6775 SMBus driver improvements from updated patch to Windows 2020-03-24 18:07:23 -05:00
i2c_tools Add SMBus/I2C dumping tool to System Information page 2019-12-22 00:02:08 -06:00
net_port Fix most compiler warnings 2019-12-31 19:18:24 -06:00
qt * Fixed Exit action on system tray icon 2020-04-04 17:08:48 -05:00
RGBController Allow up to 200 LEDs per channel on Corsair Lighting Node devices 2020-04-02 16:24:21 -05:00
serial_port Fix segfault in Linux USB serial port auto-detection 2020-04-06 14:42:15 -05:00
super_io Add NCT6798D to Super-IO list in Windows 2020-04-04 18:41:38 -05:00
wmi Reorganization! Move all controllers into their own folders, move all RGBController wrappers into one folder, move i2c_smbus and serial_port dependencies into folders, and move main application/UI stuff into folders. Should help lead into creating a proper library 2019-08-22 18:43:17 -05:00
.gitignore Add basic support for Asus TUF laptop keyboards through Faustus 2020-01-28 09:10:34 -06:00
.gitmodules Add OpenRazer-Win32 driver to support Razer devices on Windows without official software 2020-02-13 12:36:57 -06:00
cli.cpp Add zone resizing to CLI 2020-04-04 02:53:55 -05:00
LICENSE Add LICENSE 2019-01-29 03:26:51 +00:00
main.cpp Clean up some of the CLI code and add option to load a profile from the command line 2020-03-22 00:04:27 -05:00
OpenRGB.cpp Add NCT6798D to Super-IO list in Windows 2020-04-04 18:41:38 -05:00
OpenRGB.h Rename OpenAuraSDK.cpp to OpenRGB.cpp and remove old unused code 2019-12-28 15:24:40 -06:00
OpenRGB.patch Add timeouts to i2c-nct6775 driver and fix kernel segfault caused by byte access with no data 2020-03-23 23:22:25 -05:00
OpenRGB.pro Add color wheel color picker to UI 2020-03-30 17:54:25 -05:00
ProfileManager.cpp Fix wrong index being used in profile lookup that would cause segfaults if there are more controllers detected than in profile 2020-03-23 23:40:18 -05:00
ProfileManager.h Automatically save a sizes.ors profile when resizing a zone, then automatically load zone sizes from sizes.ors on start 2020-03-19 14:24:39 -05:00
README.md Update README 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