1. 環境
- OS : Ubuntu22.04
- ハード: Raspberry Pi 4
2. 問題
テレビにHDMIで画面出力をしようとしたところ
ディスプレイの解像度が640x480で固定され、GUIで設定変更もできない
3. 解決策
以下の設定ファイルを編集する。
sudo nano /boot/firmware/config.txt
ファイル内の任意の箇所に設定を追加
config.txt
# HDMI設定
hdmi_group=1
hdmi_mode=16
hdmi_force_hotplug=1
disable_overscan=1
再起動
reboot
HDMI設定の詳細説明
以下は設定内容のメモになります。
※claude3.5Sonnet に聞いた内容をそのまま貼り付けているので参考程度に見てください。
おそらくこちらが公式のドキュメントです
https://elinux.org/RPiconfig#Video_mode_options
1. hdmi_group=1
- 意味: HDMIの出力モードのグループを指定します。
-
値の説明:
-
1
= CEA(消費者向け電子機器協会)規格。主にテレビで使用されます。 -
2
= DMT(ディスプレイモニタータイミング)規格。主にコンピュータモニターで使用されます。
-
- 影響: 接続されたディスプレイの種類に応じて適切な信号フォーマットを選択します。
2. hdmi_mode=16
- 意味: 特定の解像度とリフレッシュレートを設定します。
-
値の説明: モード16は、
hdmi_group=1
(CEA)の場合、1920x1080 @ 60Hz(1080p)を意味します。 - 影響: ディスプレイの解像度とリフレッシュレートを明示的に指定します。
3. hdmi_force_hotplug=1
- 意味: HDMI接続を常に有効にします。
-
値の説明:
-
1
= 有効 -
0
= 無効
-
- 影響: Raspberry Piが起動時にHDMIケーブルが接続されていなくても、HDMI出力を強制的に有効にします。これにより、後からディスプレイを接続した際に正しく認識されやすくなります。
4. disable_overscan=1
- 意味: オーバースキャンを無効にします。
-
値の説明:
-
1
= 無効 -
0
= 有効
-
- 影響: 画面の端が切れる問題(特に古いテレビで発生することがある)を解決します。画面全体が表示されるようになります。
HDMI Mode Options
For hdmi_group=1 (CEA)
Mode | Resolution | Aspect Ratio | Refresh Rate |
---|---|---|---|
1 | 640x480 | 4:3 | 60Hz |
2 | 480p | 4:3 | 60Hz |
3 | 480p | 16:9 | 60Hz |
4 | 720p | 16:9 | 60Hz |
5 | 1080i | 16:9 | 60Hz |
6 | 480i | 4:3 | 60Hz |
7 | 480i | 16:9 | 60Hz |
16 | 1080p | 16:9 | 60Hz |
17 | 576p | 4:3 | 50Hz |
18 | 576p | 16:9 | 50Hz |
19 | 720p | 16:9 | 50Hz |
20 | 1080i | 16:9 | 50Hz |
21 | 576i | 4:3 | 50Hz |
22 | 576i | 16:9 | 50Hz |
31 | 1080p | 16:9 | 50Hz |
32 | 1080p | 16:9 | 24Hz |
33 | 1080p | 16:9 | 25Hz |
34 | 1080p | 16:9 | 30Hz |
For hdmi_group=2 (DMT)
Mode | Resolution | Aspect Ratio | Refresh Rate |
---|---|---|---|
4 | 640x480 | 4:3 | 60Hz |
9 | 800x600 | 4:3 | 60Hz |
16 | 1024x768 | 4:3 | 60Hz |
28 | 1280x800 | 16:10 | 60Hz |
35 | 1280x1024 | 5:4 | 60Hz |
36 | 1366x768 | 16:9 | 60Hz |
51 | 1600x1200 | 4:3 | 60Hz |
82 | 1920x1080 | 16:9 | 60Hz |
以上