【OpenRGB】LinuxでTrident ZのLEDライティングを自在に制御する方法

Linux
この記事は約5分で読めます。

この記事を読むと得られること

  • 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の導入も検討してみようと思います!

コメント

タイトルとURLをコピーしました