自宅でDebian(11.2)の機器があるのですが、GUIは使わずテキストモードで利用しています。ただ、フルHD対応の液晶をつないだ状態で起動すると、テキストモードに関わらず1920x1080になってしまいます。この後にXGAのモニタに繋ぎ変えたりすると表示できないトラブルが発生するため、テキストモードの解像度を固定化しようと考えました。調べてみるとGRUBの設定で解像度の固定が可能でした。
GRUB_CMDLINE_LINUX_DEFAULTにnomodesetを加える。これを設定しない場合、起動時は設定通りの解像度になるが、最後のログイン画面が出てくる直前に解像度が変更される。
<GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0 biosdevname=0" >GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0 biosdevname=0 nomodeset"
下記を加える。この例では800x600 8bitに設定。
GRUB_GFXMODE=800x600x8 GRUB_GFXPAYLOAD_LINUX=keep
# update-grub
今回の設定変更は起動時に1度だけ反映される物なので、再起動してやります。今回はこれで無事解像度の固定化が達成できました。
Xが起動した時にドライバの設定が自動でされていたのがされなくなった。恐らくnomodesetの影響。xorg.conf.dに下記を加えたらとりあえず解消した(ただしvesaドライバが使われる。)
# cat /etc/X11/xorg.conf.d/driver-vesa.conf Section "Device" Identifier "Card0" Driver "vesa" EndSection