この記事を読むと得られること
- Linux環境でRAMのLEDライティングを設定する方法
- OpenRGBのインストール方法
- OpenRGBの基本コマンドと使い方
あらまし
自宅サーバー(Proxmox)のメモリにTridentZ NEOを使っていたのですが、どーしてもメモリだけ色を調整できず浮いていました。

Windowsなら専用アプリがあるので簡単に制御できるのですが、Proxmox(Linux環境)では使えないためOpenRGBというフリーソフトを使って制御してみました。
OpenRGBの公式とGitLabのページ両方見ていかないと解決出来なかったので、その試行錯誤の結果を備忘録代わりに載せます。
もし同じお悩みを持つ方の参考になれば幸いです。
実装方法
今回はProxmoxのホストで実施していますが、Ubuntu系ならそのまま実行できるはずです。
RHEL系でも基本は同じかと思います。
※rootユーザーでの操作推奨
# OpenRGBのルールファイル作成
cat << 'EOF' > /etc/udev/rules.d/60-openrgb.rules
# OpenRGB udev rules for I2C and USB access
KERNEL=="i2c-[0-9]*", GROUP="i2c", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="*", MODE="0666"
SUBSYSTEM=="hidraw", ATTR{idVendor}=="*", MODE="0666"
EOF
# ルールの読み込み
udevadm control --reload-rules
udevadm trigger
# OpenRGBのバイナリファイルのダウンロード
wget https://codeberg.org/OpenRGB/OpenRGB/releases/download/release_candidate_1.0rc3/OpenRGB_1.0rc3_x86_64_6fbcf62.AppImage -O /usr/local/bin/openrgb
chmod +x /usr/local/bin/openrgb
# モジュールの確認
/usr/local/bin/openrgb --noautoconnect -l
## 出力イメージ
0: ENE DRAM
Type: DRAM
Description: ENE SMBus Device
Version: I2C: SMBus I801 adapter at 0000:00:1f.4 (/dev/i2c-0), address 0x71
Location: I2C: SMBus I801 adapter at 0000:00:1f.4 (/dev/i2c-0), address 0x71
Modes: Direct Off [Static] Breathing Flashing 'Spectrum Cycle' Rainbow 'Chase Fade' Chase 'Random Flicker'
Zones: DRAM
LEDs: 'DRAM LED 1' 'DRAM LED 2' 'DRAM LED 3' 'DRAM LED 4' 'DRAM LED 5' 'DRAM LED 6' 'DRAM LED 7' 'DRAM LED 8'
1: ENE DRAM
Type: DRAM
Description: ENE SMBus Device
Version: I2C: SMBus I801 adapter at 0000:00:1f.4 (/dev/i2c-0), address 0x73
Location: I2C: SMBus I801 adapter at 0000:00:1f.4 (/dev/i2c-0), address 0x73
Modes: Direct Off [Static] Breathing Flashing 'Spectrum Cycle' Rainbow 'Chase Fade' Chase 'Random Flicker'
Zones: DRAM
LEDs: 'DRAM LED 1' 'DRAM LED 2' 'DRAM LED 3' 'DRAM LED 4' 'DRAM LED 5' 'DRAM LED 6' 'DRAM LED 7' 'DRAM LED 8'
# 発色確認
## メモリ1
/usr/local/bin/openrgb --noautoconnect -d 0 -m Static -c FF00FF,FF00FF,00C8FF,00C8FF,FF00FF,FF00FF,00C8FF,00C8FF
## メモリ2
/usr/local/bin/openrgb --noautoconnect -d 1 -m Static -c 00C8FF,00C8FF,FF00FF,FF00FF,00C8FF,00C8FF,FF00FF,FF00FF
# 自動起動設定ファイルの作成
vim /etc/systemd/system/openrgb.service
[Unit]
Description=OpenRGB Headless Control
After=multi-user.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/openrgb --noautoconnect -d 0 -m Static -c FF00FF,FF00FF,00C8FF,00C8FF,FF00FF,FF00FF,00C8FF,00C8FF
ExecStart=/usr/local/bin/openrgb --noautoconnect -d 1 -m Static -c 00C8FF,00C8FF,FF00FF,FF00FF,00C8FF,00C8FF,FF00FF,FF00FF
[Install]
WantedBy=multi-user.target
# 自動起動設定の有効化
systemctl daemon-reload
systemctl enable openrgb.service
コマンドの詳細オプションは /usr/local/bin/openrgb --help で確認できます。
基本構造は以下のとおりです。
- -d : デバイスの指定(デバイスID)
- -z : ゾーンの指定(マルチゾーン対応デバイスの場合)
- -m : モード(発色パターン)の指定
- -c : カラーコードの指定(ゾーン内のLED数に合わせてカンマ区切りで複数指定)
といった感じで使えます。
おまけ
無事にProxmox環境でもメモリの発色を統一できました! ケース内の配色に統一感が出て大満足です。

次はTrofeo Vision LCDの導入も検討してみようと思います!


コメント