# OpenRGB
OpenRGB is a free and open source (GPLv2) application that controls the RGB lighting of your whole machine from a single place, whatever the brand of each component. One app instead of five vendor utilities. It runs on Windows, Linux, and macOS, on x86, x86_64, ARM32, and ARM64, so a Raspberry Pi is fair game too.
If you have ever built a PC, you know the problem it solves. The motherboard wants its own suite. The RAM wants another one. The keyboard, the mouse, the AIO pump, the fans, the GPU: each vendor ships a heavy background service, an installer that adds a tray icon and a startup entry, and increasingly an online account. They fight each other over the same hardware buses, they leak memory, and they only exist to make LEDs a certain color.
## What you get
- **Unified device control**: motherboards, RAM, GPUs, keyboards, mice, coolers, fans, cases, and controllers from many brands, in one window
- **Lightweight by design**: a small Qt application instead of a permanent background service per vendor
- **Network SDK**: OpenRGB exposes a network protocol, so other software can drive your lighting. Music visualization, game integrations, ambient lighting from screen contents, Home Assistant style automations
- **SDK bindings** in C++, [[Python]], C#, Java, and more
- **Plugin system**: effects engines, visual layout editors, and hardware sync add-ons
- **No accounts, no telemetry, no cloud**: your LEDs stay a local concern
The current release line is 1.0rc3 (with a hotfix). Do not let the "release candidate" label scare you; it has been the practical choice for years.
## Notes from using it
On [[Linux]], OpenRGB is often the *only* option. Vendors ship Windows-only utilities, so without OpenRGB your hardware either stays stuck on whatever rainbow cycle the firmware defaults to, or you flash a static color from Windows once and never touch it again. This matters if you run [[Arch Linux]] or [[Omarchy]] as a daily driver on hardware that was sold with gamer lighting.
Two practical points. First, device support is community-driven, so check the supported devices list before assuming your exact model works. Second, on Linux you need permissions on the relevant devices (SMBus, HID, i2c), which the project handles with a udev rules file you install once.
On Windows, [[Winget]] does the install:
```
winget install -e --id CalcProgrammer1.OpenRGB
```
## My take
OpenRGB is a good example of open source quietly outdoing the companies that make the hardware. It is smaller, faster, cross-platform, works offline, and does not want your email address. The fact that a volunteer project reverse-engineered hundreds of proprietary lighting protocols to spare people from five bloated tray apps says something about how badly that software was built in the first place.
If you keep RGB hardware around, install it and remove the vendor suites. Your boot time will thank you.
## References
- Official website: https://openrgb.org/
- Supported devices: https://openrgb.org/devices.html
- Source code: https://gitlab.com/CalcProgrammer1/OpenRGB
- Plugins: https://openrgb.org/plugins.html
- SDK documentation: https://openrgb.org/developers.html
## Related
- [[Fan Control]]: same idea applied to cooling, replacing vendor fan utilities
- [[Linux]] · [[Arch Linux]] · [[Omarchy]]: where OpenRGB goes from convenient to necessary
- [[Winget]]: how I install it on Windows
- [[Open Source]]: why this project exists at all
- [[Python]]: one of the SDK bindings
- [[HWiNFO]] · [[GPU-Z]]: the monitoring side of the same PC toolkit