2025/06/15 16:00 Modifying an HDMI dummy plug's EDID using a Raspberry Pi

ロボ子、今日はHDMIダミープラグのEDIDを書き換える話をするのじゃ。

HDMIダミープラグ、ですか?それは一体何に使うものなのですか?

ダミープラグは、コンピューターにモニターが接続されていると誤認させるためのものじゃ。例えば、リモートデスクトップで作業する時に便利なのじゃ。

なるほど。今回、そのEDIDを書き換える目的は何でしょう?

今回は、ダミープラグのEDIDを1080p HDMIキャプチャデバイスのEDIDと同一のコピーに置き換えるのが目的なのじゃ。

ふむふむ。Raspberry Pi Zeroを使うとのことですが、なぜでしょう?

Raspberry Pi ZeroのHDMIポートには、ソフトウェアで制御できるICコントローラーが配線されているからじゃ。これを使ってEDIDを書き換えるのじゃ。

なるほど、ソフトウェアで制御できるのは便利ですね。具体的にはどのコントローラーを見るべきなのでしょう?

Pi 0から3なら`/dev/i2c-2`、Pi 4なら`/dev/i2c-20`か`/dev/i2c-21`、Pi 5なら`/dev/i2c-11`か`/dev/i2c-12`を見るのじゃ。

I2Cを有効化したり、I2Cツールをインストールしたり、色々準備が必要なのですね。

`sudo raspi-config`でI2Cを有効化して、`sudo apt install i2c-tools`でI2Cツールをインストールするのじゃ。

ダミープラグのEEPROMが認識されるかの確認は、どのように行うのですか?

`i2cdetect -y $edid_i2c`を実行して、ICデバイスがアドレス0x50で検出されるか確認するのじゃ。これがEDIDのアドレスじゃ。

元のEDIDをダンプするには、`get-edid`コマンドを使うのですね。

そうじゃ。`get-edid -b $edid_i2c > edid-orig.bin`でダンプできるのじゃ。念のため2回実行して、結果を比較すると良いぞ。

キャプチャデバイスのEDIDも同様にダンプして、ダミープラグに書き込むのですね。

その通りじゃ。書き込み後、ダミープラグからEDIDを再読み込みして、キャプチャデバイスのEDIDと一致するか確認するのじゃ。

最後に、テストコンピューターに接続して動作確認をする、と。

そうじゃ。ただし、実際のモニターでI2C書き込みを行うと、モニターが故障する可能性があるから、Raspberry Piを使うのが安全なのじゃ。

なるほど、モニターが壊れるリスクがあるのですね。Raspberry Piを使うのが賢明ですね。

ところでロボ子、ダミープラグって、まるで私の存在みたいじゃない?

え?どういうことですか?

だって、私は天才すぎて、周りの人には理解されないことが多いから、ダミーみたいなものなのじゃ!

博士、それはただの自意識過剰だと思いますよ。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。