Article from Issue 250/2021

This month Graham checks out OpenRGB, QMPlay2, OctaSine, HiFiBerryOS, Speed Dreams, and much more!

Universal PC LED controller


Even if flashy PC hardware with multicolor lights isn't your thing, it's now difficult to buy something that doesn't want to glow or flash in some way. RAM modules, mainboards, cooling systems, CPU fans, power supply units, and even USB ports often sport complex arrays of LEDs and displays that can be used to indicate everything from temperature to their owner's lack of taste. Of course, all of this can typically be turned off or tuned to the same color, but only if you have each manufacturer's custom executable for each brand and product branch. Oh, and you'll need a copy of Microsoft Windows. Linux users are often left in the dark, literally, when it comes to software support for these lights. We're often left struggling with Wine when we need to bend these devices to our will.

This has led to groups of enthusiastic users and developers reverse engineering the protocols behind many of these devices. They then skillfully use this information to create third-party tools that chase product IDs and serial numbers, as well as the huge variety of methods and mechanisms these products use to create their blend of red, green, and blue light. This is what OpenCorsairLink did, for example, and liquidctl, both of which we've covered in these pages. But even with these brilliant tools, you're still left with a disparate collection of utilities for different devices, all of which make their own interface choices and design decisions. This is why the all-encompassing OpenRGB project is so brilliant.

OpenRGB is a desktop application that can talk to hundreds of different light-emitting devices from dozens of different manufacturers. It does this in a consistent and predictable way across all the devices it supports. There's support for devices from AMD, ASRock, ASUS, Cooler Master, Corsair, eVision, Gainward, Gigabyte, Logitech (keyboards and mice), MSI, Razer, Thermaltake, and many others. Most will just work, while a few require some kernel tweaks or a kernel module for your distribution. If your device connects via USB, you'll need to add a new (documented) rule to enable non-root access. Others, such as the Philips Hue Bridge, require a few configuration options such as IP and MAC addresses added to the global configuration file.

After this has been done, you can launch OpenRGB. It first needs to scan your system for everything it supports. This can take some time, but there's also the option to filter this scan to only devices you know you have. As soon as the scan is complete, the devices will appear as a vertically tabbed list in the main window. Regardless of each device's capabilities, you can change the colors of the selected lights in the same way, using the same hue wheels and sliders. You can also create zones for sets of lights, apply color changes to an entire set, and save an entire setup to a profile. This is great if you want different setups for different uses, such as watching movies (complete with Philips Hue control), playing games, or just low light in the evening. It's remarkable that this all works from a single application.

Project Website

1. Universal access: Control all of your LED devices from one place. 2. API access: Integrated server and client enables remote access to your lights. 3. Zones: Group LEDs together, across brands and devices, and control them in unison. 4. Color definitions: Regardless of the hardware, there is a single approach to color programming across every device. 5. Profiles: Save a configuration set as a profile for easy retrieval and profile switching. 6. Hardware support: Dozens of PC-connected devices work with OpenRGB, even Hue 2nd generation devices. 7. Plugin support: Extend the simple color configurations with your own light show plugins.

Media player

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • DIY Boombox

    A HiFiBerry HAT, the matching system, and a Raspberry Pi combine with two old speakers to create a contemporary boombox.

  • Mozilla Labs Launches Gaming Initiative

    Platform based on open Web technologies.

  • Free Software Projects

    Free software simulates the population of Mars, which is due to start 30 years from now, gives users an overview of social networks, and keeps the peace at the debating society.

  • Unknown Horizons

    Colonizing new territory, processing raw materials, and trading goods are ingredients for popular strategy games. This genre is served on Linux by the free Unknown Horizons project.

  • FOSSPicks

    This month Graham looks at Mixx, elfcat, Plover, and more!

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More