LoginSignup
24
27

More than 3 years have passed since last update.

Raspberry Pi 4B 画面解像度設定(TV出力版)

Last updated at Posted at 2019-12-02

【前文】

Raspberry Pi 4B 導入 の続き。画面解像度の変更ができなかったので、その対応。

2020/10/25 追記

更に続きは以下参照。
Raspberry Pi 4B 画面解像度設定(TV出力版)改

【環境】

出力は今となっては少々古いプラズTV。勿論入力は HDMI。

型番 メーカー 備考
TH-42PX60 Panasonic 42V型 液晶テレビ ビエラ

【現象】

「Raspberry Pi の設定」画面の「システム」タブに「解像度」項目が表示されない。初期状態 1280x720 から変更のしようがない。

raspi-config で解像度を変更しても反映されない。
残る手段は /boot/config.txt での設定。しかしこれって項目が多すぎて苦手なんだよなぁ。とはいえ、42型で上記の解像度は残念なので重い腰を上げる。

【結論】

/boot/config.txthdmi_ignore_edid=0xa5000080 を追記する。

【経緯】

多少の試行錯誤、紆余曲折はあったので記録に残す。

公式のヘルプは以下。
Video options in config.txt

モニターに有効な値はどれですか?
ご使用のHDMIモニターは、限られた形式のセットのみをサポートする場合があります。サポートされている形式を確認するには、次の方法を使用します。

出力形式をVGA 60Hz(hdmi_group=1およびhdmi_mode=1)に設定し、Raspberry Piを起動します
次のコマンドを入力して、CEAがサポートするモードのリストを表示します。 /opt/vc/bin/tvservice -m CEA
次のコマンドを入力して、DMTがサポートするモードのリストを表示します。 /opt/vc/bin/tvservice -m DMT
次のコマンドを入力して、現在の状態を表示します。 /opt/vc/bin/tvservice -s
次のコマンドを入力して、モニターからより詳細な情報をダンプします。 /opt/vc/bin/tvservice -d edid.dat; /opt/vc/bin/edidparser edid.dat
またedid.dat、デフォルトのHDMIモードの問題をトラブルシューティングするときにも提供する必要があります。

まず上記説明に従いサポートするモードを確認。

pi@raspberrypi4:~ $ /opt/vc/bin/tvservice -m CEA
Group CEA has 8 modes:
           mode 1: 640x480 @ 60Hz 4:3, clock:25MHz progressive 
           mode 2: 720x480 @ 60Hz 4:3, clock:27MHz progressive 
           mode 3: 720x480 @ 60Hz 16:9, clock:27MHz progressive 
  (prefer) mode 4: 1280x720 @ 60Hz 16:9, clock:74MHz progressive 
           mode 5: 1920x1080 @ 60Hz 16:9, clock:74MHz interlaced 
           mode 6: 720x480 @ 60Hz 4:3, clock:27MHz x2 interlaced 
           mode 7: 720x480 @ 60Hz 16:9, clock:27MHz x2 interlaced 
           mode 16: 1920x1080 @ 60Hz 16:9, clock:148MHz progressive 

何だ、取得できるじゃん。
ここら辺の情報の取得に失敗して「Raspberry Pi の設定」画面から「解像度」項目が消えているのかと思っていたんだけど。
1920x1080 に変更したいので、mode は 5 か 16 という見当がつく。
次に現在のモードを確認。

pi@raspberrypi4:~ $ /opt/vc/bin/tvservice -s
state 0xa [HDMI CUSTOM RGB lim 16:9], 1280x720 @ 60.00Hz, progressive

config.txt の変更前にバックアップ。

pi@raspberrypi4:~ $ cd /boot
pi@raspberrypi4:/boot $ sudo cp config.txt config.txt.org

config.txthdmi_group hdmi_group のコメント(#)を外し、値を変更、保存。再起動。

config.txt
hdmi_group=1
hdmi_mode=5

しかし画面解像度は変化せず。hdmi_mode=16 でも同様。これだから config.txt は嫌いなんだよ。思うようになってくれない。
再び前述ヘルプを確認。関係ありそうな項目を探す。

hdmi_ignore_edid
に設定hdmi_ignore_edidすると0xa5000080、ディスプレイに正確なEDIDがない場合、EDID /ディスプレイデータを無視できます。この異常な値は、誤ってトリガーされないようにするために必要です。

自分の環境の場合、EDID がダメっぽいので hdmi_ignore_edid=0xa5000080 を追記してみる。
これが正解だった。再起動後無事画面解像度が反映された。
更に、hdmi_group hdmi_group を初期状態に戻しても(コメント化しても)画面解像度は 1920x1080 となるので、結論として前述の通りということになる。

pi@raspberrypi4:/boot $ /opt/vc/bin/tvservice -s
state 0x9 [HDMI CUSTOM RGB lim 16:9], 1920x1080 @ 60.00Hz, progressive

【その他】

公式フォーラムの Troubleshooting の上位にもこの手のトピックが挙がっているので躓く人は多いんでしょう。
STICKY: Setting up HDMI output when video output is wrong.

24
27
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
27