Hacker News new | past | comments | ask | show | jobs | submit login
OpenRGB: Open-source RGB lighting control (openrgb.org)
245 points by pabs3 on June 11, 2021 | hide | past | favorite | 59 comments



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 [0]), 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.

[0] 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.


Agreed. I think the transition to Apple Silicon has cemented that. Apple may not have their top minds working on the web version of iCloud, but holy smokes if the people writing the translation layers between x86 and ARM have it figured out. Maybe that's hardware(?) so I'm off the mark, but if it is, some of that genius must have trickled down to the software layer in macOS as well.

I was fully expecting M1 to be a shit show on the software front, but Rosetta 2 has made it a non-issue for all but a minuscule minority of applications. Now that we're well into the M1 lifecycle and more software is moving to native builds, it's just going to keep getting better from a compatibility standpoint.


Care to share an example of someone better?


Google, Microsoft, Netflix, probably Amazon


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.


> Other than Apple, every other hardware company is _not_ a software company.

DJI stands as a very notable exception. They are frequently Apple-level good on both hardware and device firmwares. It's a different style, but similar levels of polish.


I agree with you, DJI does have decent software, and not just what they stole or purchased from others.

Comparing them to Apple is not a very big a complement, however. Apple isn't well known for having the best software. Apple often has well-designed interfaces and has worked hard to improve human-computer interfaces (both the hardware and the software). To be clear, I do not consider that to be "best-in-class software" though.


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.


For [0] try downloading RGBFusion from the APP center [1] instead of their site maybe. It's really annoying and Gigabyte should be ashamed for the quality of their software but I seem to remember that working for me at least once in the past with my Gigabyte Mobo. Not sure if that would work with the screen though.

[1] https://www.gigabyte.com/FileUpload/global/Microsite/369/ima...


RGBFusion is probably the worst offender of all proprietary lighting software. Absolutely hot garbage. That said, it does work for me with my Aorus Master.


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:

https://www.reddit.com/r/hardware/comments/aiwrt2/how_does_r...

https://gitlab.com/CalcProgrammer1/KeyboardVisualizer/-/issu...


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.[0]

[0] https://alternativeto.net/software/openrgb/


A few of the open source ones actually use OpenRGB under the hood


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.


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.


That was also my reasoning to go full RGB. I just didn’t know that the RAM default is Rainbow puke. And these things are the hardest to control.


My EKWB AIO is the worst for that. It has standard addressable RGB to control the lighting, but the default when that's not plugged in is to do the rainbow cycling. The default for all disconnected lighting should be no lights!


Or at least some reasonable default. I understand that the device wants to do a show off. I have a gigabyte GPU which I can’t control from my Gigabyte BIOS. It can only control the fans. If I turn off the lights from the BIOS sometimes the GPU also reacts to that. And Sometimes one of the LEDs turns on red. The RAM is uncontrollable except when in windows. So at the moment I boot into windows and then soft reboot into Linux to have all lights turned off. Obviously not what I initially wanted.

But what kills me the most is the fact that the RGB Lightshow from RAM keeps running even when I put the system to sleep!


You could desolder or, if daring enough, cut one of the trace on the pcb that power the LEDs. They would likely have a common power trace.


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.


I don't like it either. It's a struggle to get components that don't include that nonsense. Lenovo workstations are a good alternative maybe.


It seems a lot of the marketing for PC cases and hardware is targeted at young teenage boys 10-16. I wanted to buy a computer case for my mom, and I couldn't find an affordable one without a window on the side.

IMO it can look nice if it's done subtly. I definitely don't want fast animated LEDs on my computer, I think that would just make it harder to concentrate.


> I wanted to buy a computer case for my mom, and I couldn't find an affordable one without a window on the side.

I had the same problem when I went to upgrade my server chassis. Fortunately the side panels on the chassis I settled for were interchangeable so I could swap the glass around to the rear facing side and hide it.


I think that my PC case is pretty tasteful and not targeted towards pizza-faced adolescents. It's not completely enclosed though, the sides are dark mesh. I luckily have very little RGB that shows through it.

Great space-saving design as well.

https://phanteks.com/Evolv-Shift2-Air.html


Most appealing setups with RGB lighting only use a single color unlike how they are usually advertised. Browsing https://www.reddit.com/r/battlestations/ should give a good idea of what people are doing with RGB lighting in the wild.


You need to be logged in, or have the app to see that sub - is that a new thing?

https://old.reddit.com/r/battlestations/ works thankfully.


gamer girls.


The only control I need for RGB lighting is "off", thank you very much.

And I'm not being facetious - I made the mistake of buying a board with a bunch of useless red LED lights on board (an ASUS Z170 Pro Gaming). I should have known better I guess...

https://www.youtube.com/watch?v=WeF8GcjtiCQ

(facepalm)


Same with me.

This program allows me to turn the LEDs off, so if you like me have lots of shiny LEDs you wish never were there, this is probably exactly what you’re looking for ;)


My LEDs aren't software-controllable, I think.


I fixed the glitch with a soldering iron.


A civilized approach. Pliers should be fine in a pinch.


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)


I thought this is about ADPD light sensors, which usually can be switched from light to RGB mode. The summary mode is called ALS, ambient, and I was wondering how the internal formula goes. als = cr * r + cg * g + cb * b. In CS you usually just assume that the constant factor for each frequency is 1.0, but I cannot believe shorter waves have the same energy than longer waves. They don't, so all RGB calculations in shaders are not physical. cr must be higher than cb


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.


This is awesome, I really hope more folks adopt this.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: