The state of RGB is such a nightmare, and I am very glad OpenRGB exists.
If I wanted to control all LEDs on my relatively new "Gaming" PC (Windows 10), I'd normally need software from Gigabyte for the GPU (which straight up doesn't work ), Ducky for the keyboard, a no-name Corsair knockoff software where the name escapes me for the mouse, actual Corsair software for the fans, and NZXT for the AIO.
All of them are not only proprietary, they also use a ton of resources and often times cannot be run in parallel, presumably because they try to talk to the same devices (but never all of them!) - analog to an I2C device that only allows one process to access it at a time. Difference being, there is nothing stopping me from trying - everything will just freeze.
It's fascinating - for something as simple as a bunch of LEDs, these companies must have spent millions of developer hours to produce such heaping piles of garbage - and OpenRGB proves all of them wrong.
 If anyone knows of a way to control at least the LED backlight on a Gigabyte Auorus XTREME 3080 (ideally the little LCD as well) - please let me know - OpenRGB can't do it. The Gigabyte software is so unbelievably broken that it doesn't even recognize the GPU, and I feel like I've tried every workaround under the sun. I am unfortunately not very well versed in the Windows world.
I think by 2021 most people will understand this simple reality:
Other than Apple, every other hardware company is _not_ a software company.
Yes, they write software. It is universally garbage. If there is anything well-done about the software, it will be because the hardware company licensed (or more likely, just ripped off) someone else's software.
Google (a software company) cannot make any of the hardware companies in the Android ecosystem produce anything but garbage. Samsung Bixby anybody?
And this should not surprise anyone, as the leadership at a hardware company does not care, at all, about the software. Once you plunked down your coins and bought the hardware, the leadership at the company only sees software as an endless cost center. They want you gone as fast as possible.
It's a classic race to the bottom, and this is the result.
It's also one of the most potent forces driving people to use OpenRGB and every other free/libre open source tool.
> Other than Apple, every other hardware company is _not_ a software company.
And even Apple is a pretty mediocre software company, compared to the others of their class.
Apple definitely is lacking in comparison to their (former) reputation, but it's saying something that they're leagues better than everyone else when it comes to creating an integrated hardware-software ecosystem.
Care to share an example of someone better?
They don't need to be software companies, but instead use a simple open protocol for this so that anyone can write software for it.
I have spent my entire career working to produce this kind of outcome.
Here's why hardware companies refuse to participate:
1. CEO says, "You're eroding our business's moat. Let's just rip off linux, shove our garbage driver out the door, and refuse to provide the source code."
2. CFO says, "You're trying to set yourself up as the expert on the standard, creating a career for yourself in the standards body. Sorry, we're not paying for you to fly to conferences. Denied."
(This one is particularly ironic because a company with enough clout to define the standard for the whole industry, and employ the experts on it, would quickly become the industry leader with a modicum of effort.)
3. CTO says, "We use outsourced labor to implement our drivers. Shareholders demand it. As a result we don't own the license to the driver source code. Denied."
I see crowdfunded hardware as the next step in this evolution. It's the innovator's dilemma all over again.
Nvidia has always been known for the quality of its drivers. In fact, early Radeon GPUs were often better on paper but poor drivers dragged it down. It is also no wonder that Nvidia is protective while its competitors tend to play better with the open source community. Intel is also decent and AMD upped their game.
But when it comes to user experience, yes, hardware manufacturers tend to be terrible.
Apple is looks good because of its anti competitive monopolistic tendencies. Not because of their software, which honestly is crap.
Yeah, everything in this space is so horrible. I have a laptop with an RGB keyboard. Its default settings are bright blue LEDs for every key. The only way to turn it off is to boot Windows 10 and start an incredibly shitty manufacturer program that takes over one minute to display a window on the screen and even longer to become interactive.
It was so bad I reverse engineered it in order to make a Linux version. Couldn't figure out how to intercept the I2C/ACPI/EC stuff but it turned out the LEDs were implemented via USB. Wireshark gave me all the data I needed to write a free software replacement.
There's a feature on the keyboard that lights up keys when they're pressed. I thought it was implemented in hardware... I was wrong. They made a driver for this. It runs in kernel mode, intercepts keystrokes and sends commands to the keyboard telling it to blink the specific LEDs. It's such an insane design, I have no idea why they'd do such a thing.
When all you have is a hammer, everything looks like a nail.
Last time I tried with anything Gigabyte RGB related I had to disable secure boot as the drivers weren't properly signed ... no thank you.
That's why for my custom watercooled loop I run an Aquaero by Aquacomputer - as it has its own SoC once you've used Aquasuite to setup your fan curves you can remove the USB connection from the device and it will just keep on doing its thing.
Ugh, I feel your pain. The software is often SO bad that I almost always immediately uninstall it after using it.
What's doubly annoying is that the new mouse I bought, a Steelseries Rival 5, doesn't seem to store any settings on the mouse. Instead it relies completely on you running their software. All the other mice I've tried have stored keyboard macros and other settings on the mouse, and because of that I'm able to switch easily between PC and work Macbook and still have have my pageup/pagedown side buttons work.
Open source cross platform RGB, fan control, and input settings would be fantastic.
Does anyone know how LEDs built into RAM modules are controlled from a hardware point of view? Can you just send control information over the channels that data to be stored in memory also uses to get into the module? Does it mean that you need to install drivers for them? What happens if you do not?
Update: DDR4 modules seem to have pins for a built-in SMB/I2C bus. Maybe this is used for controlling the LEDs. // It looks like it:
It’s i2c and seems to be different depending on the ram. It is worth reading the OpenRGB source since the device checks are actually easy to read. My ram sadly is one of the problematic ones. OpenRGB only sees 2 of the 4 and I tried multiple things and patched OpenRGB around to poke a round a bit.
I don't know but it could be something as simple as a reserved memory space that you write to.
They have a ROM that can be read to retrieve the the JEDEC and XMP Profiles, so perhaps there's some I/O there?
Yea its i2c.
This tool is great. I found it after noticing an entire CPU core being constantly fully utilized by ASUS's lighting control service. It's great being able to stop the unicorn vomit without bloated utilities and drivers from multiple vendors.
For those wondering what this is: it is software for controlling fancy LED lighting on various gaming hardware and peripherals: graphics cards, fans, RAM modules etc.
Fun fact: there are mouse mats with lighting.
> For those wondering what this is:
And here is a list of alternatives.
A few of the open source ones actually use OpenRGB under the hood
Not to detract from this project, but what's the deal with RGB lighting?
It just seems garish to me. I also imagine it must be quite distracting to have a bunch of lights flashing out of your PC.
It's all about how you use it. With a generic driver like OpenRGB, it might be easier to make the RGB blinkenlights on your hardware respond to stuff you might want to monitor in the background but not distract too much from whatever is being displayed on your screen. System load, temperatures, notifications (e.g. incoming mail), whatever you think is best.
They're fun! Something about soft pulsing colors is just...nice. Properly diffused, they go well with art, to accent rooms, etc.
I've never seen them used inside of a PC, though, which made this project page a bit confusing. Is that a thing now? Because that does sound like a garish and distracting place for them.
Case/component lighting has been a thing for at least 20 years. 20 years ago it was cold cathode tubes lighting your case. For about the past 10 years RGB lighting has pretty hard to avoid if you wanted to build your own PC.
Wow. Goes to show how long CPUs can stay relevant these days, because it has been about that long since I've built a machine from scratch...
Time makes fools of us all, eh?
Yes, that's a thing now. My 12y nephew just asked for an RGB fan for his birthday... Apparently they're cool
It's not just kids who like RGB lighting. I know a few people in their late 30s and early 40s that love the colorful effects.
Personally I do like lighting, but I want static colors. The great thing about RGB lighting is that I can choose whatever color I want. Much better than when the choices were basically just red or blue and you had to commit to one when you bought it.
It can be for sure. I've built a few PCs with tasteful (relative to a crowd, I'm sure) RGB lighting. This is my current one where the doors and other glass surfaces are tinted to reduce outgoing light, and the lighting is static: https://imgur.com/gallery/U2KZD07
I think there is a disconnect between advertising and what a nice setup can look like.
IMO the ads have all the colors cycling etc as a way to communicate that the device can turn any color you want.
So I found this about a year ago because I hated that I had 4 different programs running constantly managing led lights.
I read through some of the docs and saw how the devs bricked their devices multiple times sending incorrect lighting commands, while reverse engineering the communication protocols. I decided that it was not worth the risk to consolidate down to one program if it meant I might brick my system.
If a device can be bricked by sending a RGB-lighting command, you should return it to the OEM as not fit for purpose and demand a refund.
True, but probably not worth the hassle (especially with current GPU and other component shortages)
Mother of all that is holy!
After years of trying to find a way to disable the annoying bright red LEDs on my MSI Ryzen mobo in Linux, I had to give this a shot.
AppImage, sudo, done. Fucking finally!
Thanks for posting this. I owe a you a beer.
Is there any protocol information for someone making a project with lights they want to be able to control with this tool? I was looking around a bit but could only find resources on getting it working with specific premade things.
Get a daily email with the the top stories from Hacker News. No spam, unsubscribe at any time.