DDC/CI機能

HDMI35ディスプレイはDDC/CI通信に対応しており、ユーザーはHDMIのI2C(DDCチャネル)ポートを通じてディスプレイの各種パラメータを調整できます。

1) 仕様

– DDC/CI規格

Monitor Command and Control Set (MCCS) Version 2.2

– サポートされる機能

【コマンド】

【VCP機能】

2) システム要件

– HDMIポートのI2Cバスを駆動可能な任意のOS(Win7/10/11、Debian、Ubuntu、RaspberryOSなど)が必要です。
– DDC/CI制御は、専用ツール(例:ddcutil)や手動プログラミングによって実装可能です。
– ディスプレイがスリープ/サスペンド状態でもDDC/CI制御が可能なため、電源状態の制御に利用できます。

3) 使用方法

DDC/CI制御アプリは多数存在し、たとえばLinuxユーザーにとって非常に便利で人気のある「ddcutil」ツールがあります。

ddcutilのインストール、設定、使用方法については、以下のドキュメントを参照してください。

https://www.ddcutil.com/

https://www.ddcutil.com/raspberry/

ディスプレイの検出

ddcutil 検出

– 機能の取得

ddcutil 機能

-輝度の調整

ddcutil setvcp 10 70 (明るさを 70 に設定、値の範囲は 1~100)

ddcutil getvcp 10 (現在の明るさを取得)

– コントラストを調整

ddcutil setvcp 12 80 (コントラストを 80 に設定、値の範囲は 1~100)

ddcutil getvcp 12 (現在のコントラストを取得)

– 色を調整

ddcutil setvcp 16 128 (赤のゲインを 128 に設定、値の範囲は 1~255)

ddcutil getvcp 16 (赤のゲインを取得)

ddcutil setvcp 18 128 (緑のゲインを 128 に設定、値の範囲は 1~255)

ddcutil getvcp 18 (緑のゲインを取得)

ddcutil setvcp 1A 128 (青のゲインを 128 に設定、値の範囲は 1~255)

ddcutil getvcp 1A (青のゲインを取得)

– 現在の設定を保存

ddcutil scs (設定を eeprom に保存)

変更されたコントラスト、色などの値 (明るさを除く) は直接保存されず、このコマンドは値をディスプレイの不揮発性ストレージに保存します。

– 工場出荷時のデフォルトに戻す

ddcutil setvcp 04 01 (すべての変更を破棄し、工場出荷時のデフォルト状態に戻す)

値が 00 の場合、このコマンドは無視されます

– 電源状態制御

ddcutil setvcp D6 01 (電源オン ディスプレイ)

ddcutil setvcp D6 03 (電源オフ/サスペンド ディスプレイ)

ddcutil getvcp D6 (現在の電源状態を取得)

01: 通常状態

02: スタンバイ状態 (入力信号なしの場合、読み取り専用値)

03: サスペンド状態 (最小電力消費)

– カスタム コマンド

ddcutil setvcp E1 1 (ロゴを有効にする、デフォルト 1)

ddcutil setvcp E1 0 (ロゴを無効にする)

ddcutil setvcp E2 1 (HDMI ノートを有効にする、デフォルト 1)

ddcutil setvcp E2 0 (HDMI ノートを無効にする)

ddcutil setvcp E3 1 (信号なしの場合、スリープを有効にする、デフォルト 0)

ddcutil setvcp E3 0 (スリープを無効にする、常に表示)

より詳細なデータ トランザクション プロトコル、パケット構造については、以下を参照してください。

https://www.ddcutil.com/bibliography/

 

DDC/CI – RaspberryPiの問題

最新のRaspberryPi OS KMSドライバモードではHDMIポートのI2Cバスがデフォルトで有効になっています。
FKMSドライバモードでI2Cを使用するには、config.txtに「dtparam=i2c2_iknowwhatimdoing」を追加するなどの追加設定が必要です。
ただし、RaspberryPi4、Bullseye、64bit環境では動作せず、DDC/CIアプリケーションの実行にはKMSモードがほぼ必須となります。

また、480×240などの特定の非標準解像度はFKMSモードが必要なため、多くの場合、480×320解像度使用時にはDDC/CI制御が利用できません。

Windows用ツール

https://github.com/blackholeearth/Win10_BrightnessSlider

https://github.com/emoacht/Monitorian

また、C言語、PythonなどのDDC/CIライブラリも多数存在し、適切なライブラリを使用してカスタマイズされたDDC/CIディスプレイ制御アプリを開発することも可能です。