やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

Raspbian Buster 2019-09-26 HDMI設定について調べた

 Pi4はmicro HDMIに変更された上に2ポートになったので。

Pi3B+

 RPI3B+のときは以下のような設定が必要だった。

/boot/config.txt

# 2018-09-22 cocopar 13.3inch 16:9 Display
max_usb_current=1
hdmi_group=2
hdmi_mode=82
hdmi_cvt 1920 1080 60 6 0 0 0
gpu_mem=256

# 2018-09-21 Elecrow Display start
# 古いディスプレイ(1024x768まで対応)だとブートしなくなる。(ディスプレイが暗い状態でチカチカするのを無限ループする)その場合はコメントアウトする。
#max_usb_current=1
#hdmi_group=2
#hdmi_mode=1
#hdmi_mode=82
#hdmi_cvt 1920 1080 60 6 0 0 0
#hdmi_drive=2

program_usb_boot_mode=1
program_usb_boot_timeout=1

 これはディスプレイによって違う。なんて面倒なんだ。

Pi4B

 上記をPi4Bで再現したい。HDMIがmicroに変更された上に2ポートに増えた。そのせいで同じ設定で動作できるかわからない。以下が参考資料だろう。

予想

 以下のようになるのかな?

/boot/config.txt

[pi4]
hdmi_safe=1
hdmi_ignore_edid=0xa5000080
[HDMI:0]
# 2018-09-21 Elecrow Display start
# 古いディスプレイ(1024x768まで対応)だとブートしなくなる。(ディスプレイが暗い状態でチカチカするのを無限ループする)その場合はコメントアウトする。
  max_usb_current=1
  hdmi_group=2
  hdmi_mode=1
  hdmi_mode=82
  hdmi_cvt 1920 1080 60 6 0 0 0
  hdmi_drive=2
  program_usb_boot_mode=1
  program_usb_boot_timeout=1
[HDMI:1]
# 2018-09-21 Elecrow Display start
# 古いディスプレイ(1024x768まで対応)だとブートしなくなる。(ディスプレイが暗い状態でチカチカするのを無限ループする)その場合はコメントアウトする。
  max_usb_current=1
  hdmi_group=2
  hdmi_mode=1
  hdmi_mode=82
  hdmi_cvt 1920 1080 60 6 0 0 0
  hdmi_drive=2
  program_usb_boot_mode=1
  program_usb_boot_timeout=1
[all]

 以下、条件フィルタについて触ってみたが、Pi3B+のせいか動かん。

ディスプレイ名

cocopar 13.3inch 16:9 Display

$ tvservice -n
device_name=N/A-HDMI

 あれ、N/Aじゃん。名前取得できてない……。

 本来なら以下のような名前が出るらしい。

device_name=VSC-TD2220

 そして/boot/config.txtで以下のように設定するらしい。

[EDID=VSC-TD2220]
hdmi_group=2
hdmi_mode=82
[all]

 これで他のモニターに影響を与えることなく、指定されたモニターに対して1920x1080 DVTモードが強制できるそうだ。

 名前が取得できないと使えないじゃん……。

HDMIポート指定

 これは2ポートになったPi4Bのみ有効。というか、指定しないとダメっぽい。

[HDMI:0]
  hdmi_group=2
  hdmi_mode=45
[HDMI:1]
  hdmi_group=2
  hdmi_mode=67

 上記と同じことを以下で表現できるらしい。

hdmi_group:0=2
hdmi_mode:0=45
hdmi_group:1=2
hdmi_mode:1=67

前回まで

所感

 やはり最初は苦労しそうだな……。