Skip to content

About

GPU utilization reactive RGB lighting via OpenRGB

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

gpu-rgb

GPU utilization reactive RGB lighting via OpenRGB. Maps NVIDIA GPU load to a smooth color gradient (green → yellow → red) across all OpenRGB devices. Designed for headless Proxmox/Debian hosts.

Prerequisites

  • NVIDIA GPU with nvidia-smi
  • OpenRGB installed (openrgb available on PATH)
  • Access to RGB controllers (i2c-dev and related kernel modules loaded). No OpenRGB server or daemon is needed: each CLI call drives the hardware directly. The script verifies at startup that openrgb can enumerate devices, retrying 3 times spaced 15s apart before exiting.

Behavior notes

  • A transient nvidia-smi failure (driver reload, GPU reset) keeps the last LED state and retries after the idle poll interval.
  • All devices are updated with a single OpenRGB client call. Concurrent openrgb processes segfault from colliding on direct hardware access, so updates stay serialized. A failed update is retried on the next poll.

OpenRGB version warning

Do not install OpenRGB 1.0 or 1.0rc3.1. Both contain a regression that silently breaks --color writes to ENE SMBus devices (ENE DRAM DIMMs and ASUS Aura GPUs): mode commands still apply, but color updates fail and the device goes dark, and openrgb still exits 0, so the script cannot detect the failure. 1.0rc3 is the last known-good release; the install commands below pin it.

Install

# Install OpenRGB 1.0rc3 and pin it (see version warning above)
mkdir openrgb
cd openrgb/
wget https://codeberg.org/OpenRGB/OpenRGB/releases/download/release_candidate_1.0rc3/openrgb_1.0rc3_amd64_trixie_6fbcf62.deb
apt install --allow-downgrades ./openrgb_1.0rc3_amd64_trixie_6fbcf62.deb
apt-mark hold openrgb

# Deploy script
sudo cp gpu-rgb.sh /root/gpu-rgb.sh
sudo chmod +x /root/gpu-rgb.sh

# Install and start service
sudo cp gpu-rgb.service /etc/systemd/system/gpu-rgb.service
sudo systemctl daemon-reload
sudo systemctl enable --now gpu-rgb

Manage

systemctl status gpu-rgb    # check status
systemctl stop gpu-rgb      # stop
systemctl start gpu-rgb     # start
journalctl -u gpu-rgb -f    # follow logs

Manual test

nohup /root/gpu-rgb.sh &    # run in background
fg                           # bring to foreground
pkill -f gpu-rgb.sh          # stop

About

GPU utilization reactive RGB lighting via OpenRGB

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages