main
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
rgb-lavender
Catppuccin Latte lavender (#7287FD) on every RGB controller in the cachyos-gaming desktop
(ASUS Z790 Hero build), driven by OpenRGB and kept that way across suspend/resume.
Pieces
| File | Role |
|---|---|
bin/rgb-lavender |
Applies the colour to every device, resolving them by name. Tunables at the top (RGB_COLOR, sizes, headers). |
bin/rgb-resume-watch |
Listens on the system bus for logind PrepareForSleep(false) and restarts the OpenRGB server, which re-runs rgb-lavender. |
systemd/openrgb-server.service |
openrgb --server --noautoconnect as a user service. |
systemd/rgb-lavender.service |
Oneshot, PartOf=openrgb-server.service → re-applies whenever the server (re)starts. |
systemd/rgb-resume-watch.service |
Runs the watcher. Pure user-level, no root sleep hook. |
Why the resume watcher
Corsair Commander Core XT, Lighting Node Pro and the Aura headers run in direct mode, which only lives in controller RAM. After s2ram the USB controllers re-enumerate and lose it: XT fans go dark, the rest fall back to firmware defaults, and the ENE DRAM drops off I2C until re-detected. The login-time oneshot never re-runs, so the watcher does it for you (~10 s after wake).
Gotchas (learned the hard way)
- Always write the whole device. A zone-only direct write starves the other zones and they go dark.
- Lighting Node Pro channels default to 14 LEDs — size to 204;
--sizemust travel with mode+colour. - Aura addressable headers start at 0 LEDs; same rule. Commander Core XT auto-sizes.
- ENE DRAM is firmware-static and survives boots; Glorious Model O detection is flaky and is skipped if absent.
- The
recv_select failed receiving magicspam in the server log is just the detection poll inrgb-lavender.
Install
./install.sh
RGB_COLOR=ca9ee6 rgb-lavender # try another colour ad hoc
Description
Languages
Shell
100%