No description
Find a file
2025-08-02 01:59:44 -05:00
.github Add GitHub Sponsor information 2025-07-07 02:20:15 -05:00
.gitlab fix: spelling of Nvidia GPU label in New Device issue template 2025-07-03 19:35:51 -05:00
.vscode Add recomended VSCode extensions 2022-10-23 17:58:36 -07:00
AutoStart Clean up comment formatting in AutoStart files 2025-07-12 20:58:47 -05:00
Controllers Fix warnings 2025-08-02 01:59:44 -05:00
debian Update static shebangs to flexible /usr/bin/env 2024-06-21 07:07:53 +10:00
dependencies Update mbedtls dependency to 3.2.1 2025-02-16 09:30:29 +00:00
dmiinfo Clean up comment formatting in DMI info files 2025-07-12 21:10:11 -05:00
Documentation Update SDK docs 2025-07-24 10:16:57 -05:00
fedora Update Fedora spec file to include systemd service 2025-07-15 11:45:42 -05:00
hidapi_wrapper Properly fix how how hidapi and libusb dependencies are handled 2024-08-05 01:14:17 +00:00
i2c_smbus Implements i2c_smbus_amdadl::i2c_xfer for AMD ADL I2C. 2025-07-10 14:16:57 -05:00
i2c_tools Update even more file header comments to standardized new format 2024-05-03 11:52:02 -05:00
interop Update even more file header comments to standardized new format 2024-05-03 11:52:02 -05:00
KeyboardLayoutManager Fix warnings 2025-02-10 10:21:36 -06:00
mac Mac Update info product name 2024-05-16 13:24:19 +00:00
net_port Initial support for Govee devices 2025-05-16 01:02:44 -05:00
pci_ids Initial support for PNY ARGB EPIC X 5070Ti 2025-08-02 01:29:03 -05:00
qt Use GetName instead of directly accessing the RGBController::name member outside of Controllers 2025-08-01 11:32:55 -05:00
RGBController Fix warnings in Windows build 2025-07-05 01:47:40 -05:00
scripts Removed non-printable characters from License.rtf 2025-07-30 22:17:32 +10:00
scsiapi Fix warnings about omitted parameter names in scsiapi_macos.c 2025-01-17 00:58:33 -06:00
serial_port Clean up code 2025-07-16 08:31:48 -05:00
SPDAccessor Convert Corsair Vengeance RGB (non-Pro) controller to use DRAM SPD detector 2025-07-02 21:59:39 -05:00
startup Re-add Linux signal handler that was lost when rebasing Windows service main.cpp rework 2025-07-15 11:06:11 -05:00
super_io macOS smbus Piix4, SuperIO, and Nct6775 2025-02-06 17:20:30 +00:00
SuspendResume Fix suspend/resume on Linux 2025-04-22 07:45:49 -05:00
wmi Update yet more file header comments to standardized new format 2024-05-03 21:56:32 -05:00
.editorconfig Inital commit to .editorconfig file 2022-03-14 03:34:18 +00:00
.gitignore Added Controller for Epomaker TH80 Pro keyboard 2023-06-11 00:38:33 +00:00
.gitlab-ci.yml Fix Qt6 amd64 AppImage 2025-06-26 21:58:30 -05:00
cli.cpp Use GetName instead of directly accessing the RGBController::name member outside of Controllers 2025-08-01 11:32:55 -05:00
cli.h Loading optimization (no GUI changes) 2024-09-26 22:20:48 +00:00
Colors.h Update yet more file header comments to standardized new format 2024-05-03 21:56:32 -05:00
CONTRIBUTING.md Update translating section in CONTRIBUTING.md 2025-06-06 09:27:11 -05:00
Detector.h Fixed Kingston Fury Beast DDR5 do not detect #4725 2025-04-04 08:26:33 +00:00
DeviceDetector.h Implement common DRAM SPD module with EE1004 and SPD5118 driver support to support detecting DRAM modules using SPD information. 2024-12-04 20:41:52 +00:00
filesystem.h Update yet more file header comments to standardized new format 2024-05-03 21:56:32 -05:00
LICENSE Add LICENSE 2019-01-29 03:26:51 +00:00
LogManager.cpp Clean up comment formatting in LogManager and StringUtils cpp files 2025-07-06 14:39:37 -05:00
LogManager.h Update hueplusplus dependency to 1.2.0 2025-02-14 23:16:53 -06:00
NetworkClient.cpp Add missing send_in_progress locks around send groups in NetworkClient.cpp 2025-07-04 23:32:16 -05:00
NetworkClient.h Rework NetworkClient server initialization to allow interruption and restarting of server list request process when server sends a device list updated notification 2025-07-04 04:24:37 -05:00
NetworkProtocol.cpp Fix warning related to sizeof() on const char array, the null terminator is not used here so reworked the array to explicitly be 4 elements 2024-07-07 19:29:54 -05:00
NetworkProtocol.h Add SDK command to rescan devices 2025-07-04 04:24:37 -05:00
NetworkServer.cpp Add send_in_progress locks around send groups in NetworkServer.cpp 2025-07-04 23:37:23 -05:00
NetworkServer.h Add send_in_progress locks around send groups in NetworkServer.cpp 2025-07-04 23:37:23 -05:00
OpenRGB.pro Add SystemD service file to Linux installation 2025-07-15 11:20:13 -05:00
OpenRGBPluginInterface.h Move ResourceManagerInterface to its own file. Refactor Plugin interface 2025-02-06 20:00:27 -06:00
PluginManager.cpp Fix plugin removal issues 2025-03-06 11:36:10 -06:00
PluginManager.h Move Autogenerated UI code into Private sections of the window classes 2025-06-04 18:21:13 -05:00
ProfileManager.cpp Use GetName instead of directly accessing the RGBController::name member outside of Controllers 2025-08-01 11:32:55 -05:00
ProfileManager.h Update yet more file header comments to standardized new format 2024-05-03 21:56:32 -05:00
README.md Update SDK docs 2025-07-24 10:16:57 -05:00
ResourceManager.cpp Use GetName instead of directly accessing the RGBController::name member outside of Controllers 2025-08-01 11:32:55 -05:00
ResourceManager.h Clean up comment formatting in ResourceManager.h 2025-07-12 23:04:59 -05:00
ResourceManagerInterface.h Add file header comment to ResourceManagerInterface.h 2025-07-27 01:49:45 -05:00
SettingsManager.cpp Clean up comment formatting in SettingsManager and main cpp files 2025-07-07 01:35:42 -05:00
SettingsManager.h Update hueplusplus dependency to 1.2.0 2025-02-14 23:16:53 -06:00
StringUtils.cpp Clean up comment formatting in LogManager and StringUtils cpp files 2025-07-06 14:39:37 -05:00
StringUtils.h Add u16string to string conversion function for CMKeyboardV2Controller.cpp 2024-08-25 20:49:31 -05:00

Pipeline Status

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 Windows, Linux, and MacOS, without any nonsense? That is what OpenRGB sets out to achieve. One app to rule them all.

Features

  • Set colors and select effect modes for a wide variety of RGB hardware
  • Save and load profiles
  • Control lighting from third party software using the OpenRGB SDK
  • Command line interface
  • Connect multiple instances of OpenRGB to synchronize lighting across multiple PCs
  • Can operate standalone or in a client/headless server configuration
  • View device information
  • No official/manufacturer software required
  • Graphical view of device LEDs makes creating custom patterns easy

OpenRGB_Device_View

Website

Supported Devices

WARNING!

This project interacts directly with hardware using reverse engineered protocols. While we do our best to make sure we're sending the right data, there is always some risk in sending data to hardware when we don't understand exactly how that hardware works. There have been issues in the past with certain hardware getting damaged/bricked and we have either disabled or fixed the offending code. That said, with OpenRGB always changing and the landscape of RGB devices being of widely varying quality, we can't guarantee it won't happen again. By installing and using OpenRGB you accept this risk.

Download OpenRGB

  • Pre-built binaries are available for the following platforms:
    • Windows
    • Linux (AppImage, .deb, and .rpm)
    • MacOS
  • Released versions are available to download on OpenRGB.org or under Releases.
  • Experimental (aka Pipeline) versions are available to download on OpenRGB.org.
  • On Windows, you will need the Microsoft Visual 2019 C++ runtime installed. You can get it here.
  • An unofficial Flatpak release is available on Flathub
  • Released versions are officially packaged for various distributions including Alpine, Fedora, and Arch.
  • Arch users can also install from the Extra repository or from the AUR for the pipeline version.

Compile OpenRGB

Setup Device Access

  • After installing OpenRGB, please see the SMBus Access and USB Access pages for instructions on setting up access to your RGB devices.

Join Our Discord

Follow Us On Mastodon

Visit Our Lemmy Community

How-Tos and FAQs

Support OpenRGB

  • OpenRGB is a project I created to solve a problem I had with the RGB ecosystem. My goal isn't to make money off of this project. That said, people have requested to donate, and donations allow me to buy more RGB stuff to reverse engineer.
  • Donate via PayPal
  • Become a Patron (I'm not doing any Patreon-exclusive content, it's purely for donation)
  • Donate via Bitcoin: 1N83YPu7btXYadPS1neB9zX7X1QTdpyZQ

History of OpenRGB

  • OpenRGB is a continuation of OpenAuraSDK, which itself was created out of reverse engineering work done on the Keyboard Visualizer project. For a complete history of the RGB projects that led to OpenRGB's creation, see the History page.

Contributing

  • Want to contribute support for a new device? Check out the RGBController API page for documentation of how OpenRGB implements device control.
  • Want to create a new OpenRGB SDK client implementation? Check out the OpenRGB SDK Documentation page for documentation of how the OpenRGB SDK network protocol functions.
  • Please read the Contributing Guidelines before starting work on your new changes.

OpenRGB SDK

Applications Supporting OpenRGB SDK

OpenRGB Plugins

Projects Used

Projects Researched