🌈

UbuntuでOpenRGBを使ってRGB照明を制御する方法

に公開

はじめに

最近、過去に使っていたPCにUbuntuをインストールして再利用しています。このPCにはASUSのマザーボードとNVIDIAのグラフィックカードが搭載されており、どちらもRGB照明が付いています。

WindowsではASUS Aura SyncやNVIDIA GeForce Experienceを使ってRGB照明を制御していましたが、Ubuntuではこれらの公式ツールは利用できません。

BIOS画面で、PCフロントのライトを消すことはできましたが、GPUのライトを消すことができなかったので方法を調べていたところ、OpenRGBというオープンソースのRGB照明制御ソフトウェアを見つけました。

この記事では、Ubuntu上でOpenRGBを使用してマザーボードやグラフィックカードのRGB照明を制御する方法を解説します。

システムの更新

まず、システムを最新の状態に更新します。

sudo apt update
sudo apt upgrade -y

OpenRGBのインストール

必要なパッケージのインストール

OpenRGBをビルドするために必要な依存パッケージをインストールします。

sudo apt install git build-essential qtcreator qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools libusb-1.0-0-dev libhidapi-dev pkgconf libmbedtls-dev qttools5-dev-tools

OpenRGBのビルドとインストール

GitHubからソースコードをクローンし、ビルドしてインストールします。

git clone https://gitlab.com/CalcProgrammer1/OpenRGB
cd OpenRGB
mkdir build
cd build
qmake ../OpenRGB.pro
make -j$(nproc)
sudo make install

デバイスの確認

インストールが完了したら、認識されているデバイスを確認します。

sudo openrgb --list-devices

私の環境での認識結果

以下は私の環境で認識されたデバイスの例です。

0: ASUS PRIME H770-PLUS D4
  Type:           Motherboard
  Description:    ASUS Aura USB Mainboard Device
  Version:        HID: /dev/hidraw0
  Location:       HID: /dev/hidraw0
  Serial:         XXXXXXXXXXXX(シリアル番号が表示されます。)
  Modes: [Direct] Off Static Breathing Flashing 'Spectrum Cycle' Rainbow 'Chase Fade' Chase
  Zones: 'Aura Mainboard' 'Aura Addressable 1' 'Aura Addressable 2' 'Aura Addressable 3'
  LEDs: 'Aura Mainboard, RGB Header 1' 'Aura Mainboard, RGB Header 2'

1: NVIDIA GeForce RTX 3060 Ti LHR
  Type:           GPU
  Description:    NVIDIA Illumination RGB GPU Device
  Modes: [Off] Direct
  Zones: '0 - RGBW' '1 - SINGLE COLOR'
  LEDs: 'Entire Zone' 'Entire Zone'

RGB照明の制御

LEDを消灯する

RGB照明を消灯する方法は、デバイスによって異なります。各デバイスがサポートするモードを確認してから、適切なコマンドを実行してください。

マザーボードのRGBを消灯(staticモード対応デバイス)

sudo openrgb --device 0 --mode static --color 000000

GPUのRGBを消灯(offモードのみ対応のデバイス)

一部のGPU(例: NVIDIA GeForce RTX 3060 Ti LHR)はstaticモードをサポートしていないため、offモードを使用します。

sudo openrgb --device 1 --mode off

トラブルシューティング: I2Cエラーの対処法

OpenRGBを起動した際に、以下のようなI2C関連のエラーが表示される場合があります。

このエラーは、i2c-devモジュールがロードされていないことが原因です。RGB DRAMモジュールや一部のマザーボードのオンボードRGB照明、グラフィックカードのRGBを制御するには、I2CまたはSMBusが必要です。

解決方法

I2Cツールのインストール

sudo apt install i2c-tools

I2Cデバイスの確認

sudo i2cdetect -l

必要なモジュールのロード

以下のコマンドでI2C関連のモジュールをロードします。

sudo modprobe i2c-dev
sudo modprobe i2c-i801  # Intelシステムの場合
# sudo modprobe i2c-piix4  # AMDシステムの場合

起動時に自動ロードする設定

毎回手動でモジュールをロードするのが面倒な場合は、以下の設定で起動時に自動的にロードされるようにできます。

echo "i2c-dev" | sudo tee -a /etc/modules
echo "i2c-i801" | sudo tee -a /etc/modules  # Intelの場合

まとめ

OpenRGBを使用することで、Ubuntuでも簡単にRGB照明を制御できます。I2Cエラーが発生した場合は、適切なモジュールをロードすることで解決できます。

詳しいトラブルシューティングについては、OpenRGB公式ヘルプを参照してください。

Discussion