部屋の隅で埃をかぶっていた raspberry pi を取り出してきてサブのマシンとして利用しようとしたときのセットアップメモ。
Raspberry Pi に接続したモニタが 10 インチほどの小ささで画面解像度が 1920×1280 の大解像度だったので、Ubuntu Server の CLI をそのまま表示すると文字がコメ粒ほどの大きさにしかならず非常に見づらかったので、設定を変更した。
ブート中の解像度の変更
Ubuntu 24.04 Server (rasberry pi imager 経由でインストール) では、 /boot/firmware/config.txt
を修正することで、起動直後の表示に変化があった。
# /boot/firmware/config.txt
# 末尾に追記
# 設定値は接続しているディスプレイ環境に応じて適切に設定すること
# https://elinux.org/RPiconfig#Video_mode_options
[all]
hdmi_group=2
hdmi_mode=16
設定値詳細 (抜粋)
hdmi_group=1 CEA
hdmi_group=2 DMT
These values are valid if hdmi_group=2 (DMT)
Note: according to http://www.raspberrypi.org/phpBB3/viewtopic.php?f=26&t=20155&p=195417&hilit=2560x1600#p195443
there is a pixel clock limit which means the highest supported mode is 1920x1200 @60 Hz with reduced blanking.
hdmi_mode=1 640x350 85 Hz
hdmi_mode=2 640x400 85 Hz
hdmi_mode=3 720x400 85 Hz
hdmi_mode=4 640x480 60 Hz
hdmi_mode=5 640x480 72 Hz
hdmi_mode=6 640x480 75 Hz
hdmi_mode=7 640x480 85 Hz
hdmi_mode=8 800x600 56 Hz
hdmi_mode=9 800x600 60 Hz
hdmi_mode=10 800x600 72 Hz
hdmi_mode=11 800x600 75 Hz
hdmi_mode=12 800x600 85 Hz
hdmi_mode=13 800x600 120 Hz
hdmi_mode=14 848x480 60 Hz
hdmi_mode=15 1024x768 43 Hz DO NOT USE
hdmi_mode=16 1024x768 60 Hz
hdmi_mode=17 1024x768 70 Hz
hdmi_mode=18 1024x768 75 Hz
hdmi_mode=19 1024x768 85 Hz
hdmi_mode=20 1024x768 120 Hz
hdmi_mode=21 1152x864 75 Hz
hdmi_mode=22 1280x768 Reduced blanking
hdmi_mode=23 1280x768 60 Hz
hdmi_mode=24 1280x768 75 Hz
hdmi_mode=25 1280x768 85 Hz
hdmi_mode=26 1280x768 120 Hz Reduced blanking
hdmi_mode=27 1280x800 Reduced blanking
hdmi_mode=28 1280x800 60 Hz
hdmi_mode=29 1280x800 75 Hz
hdmi_mode=30 1280x800 85 Hz
hdmi_mode=31 1280x800 120 Hz Reduced blanking
hdmi_mode=32 1280x960 60 Hz
hdmi_mode=33 1280x960 85 Hz
hdmi_mode=34 1280x960 120 Hz Reduced blanking
hdmi_mode=35 1280x1024 60 Hz
hdmi_mode=36 1280x1024 75 Hz
hdmi_mode=37 1280x1024 85 Hz
hdmi_mode=38 1280x1024 120 Hz Reduced blanking
hdmi_mode=39 1360x768 60 Hz
hdmi_mode=40 1360x768 120 Hz Reduced blanking
hdmi_mode=41 1400x1050 Reduced blanking
hdmi_mode=42 1400x1050 60 Hz
hdmi_mode=43 1400x1050 75 Hz
hdmi_mode=44 1400x1050 85 Hz
hdmi_mode=45 1400x1050 120 Hz Reduced blanking
hdmi_mode=46 1440x900 Reduced blanking
hdmi_mode=47 1440x900 60 Hz
hdmi_mode=48 1440x900 75 Hz
hdmi_mode=49 1440x900 85 Hz
hdmi_mode=50 1440x900 120 Hz Reduced blanking
hdmi_mode=51 1600x1200 60 Hz
hdmi_mode=52 1600x1200 65 Hz
hdmi_mode=53 1600x1200 70 Hz
hdmi_mode=54 1600x1200 75 Hz
hdmi_mode=55 1600x1200 85 Hz
hdmi_mode=56 1600x1200 120 Hz Reduced blanking
hdmi_mode=57 1680x1050 Reduced blanking
hdmi_mode=58 1680x1050 60 Hz
hdmi_mode=59 1680x1050 75 Hz
hdmi_mode=60 1680x1050 85 Hz
hdmi_mode=61 1680x1050 120 Hz Reduced blanking
hdmi_mode=62 1792x1344 60 Hz
hdmi_mode=63 1792x1344 75 Hz
hdmi_mode=64 1792x1344 120 Hz Reduced blanking
hdmi_mode=65 1856x1392 60 Hz
hdmi_mode=66 1856x1392 75 Hz
hdmi_mode=67 1856x1392 120 Hz Reduced blanking
hdmi_mode=68 1920x1200 Reduced blanking
hdmi_mode=69 1920x1200 60 Hz
hdmi_mode=70 1920x1200 75 Hz
hdmi_mode=71 1920x1200 85 Hz
hdmi_mode=72 1920x1200 120 Hz Reduced blanking
hdmi_mode=73 1920x1440 60 Hz
hdmi_mode=74 1920x1440 75 Hz
hdmi_mode=75 1920x1440 120 Hz Reduced blanking
hdmi_mode=76 2560x1600 Reduced blanking
hdmi_mode=77 2560x1600 60 Hz
hdmi_mode=78 2560x1600 75 Hz
hdmi_mode=79 2560x1600 85 Hz
hdmi_mode=80 2560x1600 120 Hz Reduced blanking
hdmi_mode=81 1366x768 60 Hz
hdmi_mode=82 1080p 60 Hz
hdmi_mode=83 1600x900 Reduced blanking
hdmi_mode=84 2048x1152 Reduced blanking
hdmi_mode=85 720p 60 Hz
hdmi_mode=86 1366x768 Reduced blanking
確かに変化はあったのだが、端末の電源を付けた直後しか設定が適用されておらず、起動中に元の設定に戻るような挙動を示してしまい、最終的に効果はなかった。
(電源投入直後から起動シーケンスの途中までは設定が適用されているが、途中で画面が暗転した後にディスプレイの最大解像度に戻ってしまう)
どうやら、電源投入後に HDMI インタフェースを通じて利用できる解像度を raspberry pi とディスプレイがネゴシエーションするようで、コンピュータ側で指定していない場合は利用可能な中で自動的に設定が選ばれる模様。(いったん初期設定で画面出力しつつ、起動中にディスプレイ側に合わせて解像度を再設定する)
この現象は、 /boot/firmware/cmdline.txt
に以下の設定を追加で行うことで解消できた。(video=HDMI-A-1:1080x720M@60
を追記した)
https://www.raspberrypi.com/documentation/computers/configuration.html#set-the-kms-display-mode
video=HDMI-A-1:1080x720M@60 console=serial0,115200 multipath=off dwc_otg.lpm_enable=0 console=tty1 root=LABEL=writable rootfstype=ext4 rootwait fixrtc
ディスプレイ自体の解像度が 1920×1280 (3:2) だったため、目に優しい文字サイズを確保しつつ縦横比を維持した 1080×720 に設定した。(アスペクト比 3:2 は比較的珍しいため、モニタに応じて適切な値を設定する)