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; --size must 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 magic spam in the server log is just the detection poll in rgb-lavender.

Install

./install.sh
RGB_COLOR=ca9ee6 rgb-lavender   # try another colour ad hoc
S
Description
Catppuccin lavender on every RGB controller via OpenRGB, re-applied after suspend
Readme 27 KiB
Languages
Shell 100%