A follow up to my earlier post about the leds-valve DKMS module, now it is usable within the latest experimental build of OpenRGB itself as long as that leds-valve module is loaded.
Support for the #Valve #SteamMachine under #Linux has been merged into #OpenRGB. This relies on the leds-valve kernel module that is included in the SteamOS kernel. A DKMS package is available to install this kernel module on #Arch and #Debian distros:
https://gitlab.com/CalcProgrammer1/leds-valve-dkms
or AUR leds-valve-dkms-git
Forgive my ignorance if allready applicable. A visualizer for playing audio i use cava on kde and would love to intergrate this.
Yup, OpenRGB has audio visualization support in the Effects plugin: https://openrgb.org/plugin_effects.html
The OpenRGB Effects Plugin has some audio visualizer effects including a port of my old Keyboard Visualizer. You can also use the Python SDK to integrate OpenRGB lighting into third party software.
I wonder how long till someone makes a decky plugin for tweaking then
The built-in controls are already pretty good.
While I’m generally pretty anti-AI especially in OpenRGB itself, I did try slop coding a Decky plugin with free AIs for selecting OpenRGB profiles and colors just as an experiment. It didn’t go well though and I’m not familiar enough wih Decky or the languages it uses to really do it justice. I’d love to see such a thing from someone who knows what they’re doing.
Just curious (I don’t have a Steam Machine and don’t plan to get one), doesn’t Steam fight for control of the LEDs if you run both Steam and OpenRGB at the same time?
From a very surface level look at the code it looks like the module disconnects the data coming from steam while OpenRGB is active. But i dont really do C so i might be totally off here.
It does not, but Steam isn’t constantly writing to the LEDs. The Customization tab in game mode just lets you pick from the built in hardware effects so it’s not continuously writing. That means it generally is not fighting OpenRGB. The only time it does seem to write to the LEDs repeatedly is during downloads when it uses the LEDs as a progress bar. Also, in desktop mode (on SteamOS or on other distros) it does not seem that Steam touches LEDs at all.
Oh okay cool. Thanks for actually checking.
In game mode yes, at least during downloads when it uses the LEDs as an indicator. It does not stream effects in software otherwise, it just lets you choose from the built in effects, so OpenRGB can take over without Steam trying to fight it most of the time.
So useless I need it.
Only as useless as you want it to be, you could, for instance, use it with the hardware sync plugin to display CPU or GPU usage. I should mark it as manually configurable for segments so you can divide it up and use it for both CPU and GPU actually.
I’ve never used any of this and can’t find documentation on the hardware sync plugin, so forgive the maybe dumb question. How far can the configuration realistically go? Let’s say my ideal setup is splitting the 17 LEDs into something like:
6 for CPU usage with red as the active bar marking out 50% to ~100% usage and blue as negative space
1 spacer
3 for temperature going up from blue to red
1 spacer
6 for GPU usage with red as the active bar marking out 50% to ~100% usage and blue as negative space
How close would I be able to get to that?
Update! It looks like it won’t be too difficult to implement on Windows either! I did some poking around with RWEverything and the LED controller memory space is right there ready to be poked starting at address 0x0DE8 (IO port space). I manually poked the enable, LED color, and mode registers and could change the LEDs accordingly. This is easily achievable with a PawnIO module that mimics the sysfs entries from the Linux driver and I already have one partially written. I tested that PawnIO was able to enable/disable the LEDs and it could, but more complex interactions will require defining some ioctls and writing an OpenRGB implementation that mirrors the Linux one. Currently setting up my Windows build environment on the Steam Machine.





