OpenRGB lavender stack: colour script, user units, resume watcher
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
# 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
|
||||
|
||||
```sh
|
||||
./install.sh
|
||||
RGB_COLOR=ca9ee6 rgb-lavender # try another colour ad hoc
|
||||
```
|
||||
Reference in New Issue
Block a user