テキストモード時の解像度の設定


自宅でDebian(11.2)の機器があるのですが、GUIは使わずテキストモードで利用しています。ただ、フルHD対応の液晶をつないだ状態で起動すると、テキストモードに関わらず1920x1080になってしまいます。この後にXGAのモニタに繋ぎ変えたりすると表示できないトラブルが発生するため、テキストモードの解像度を固定化しようと考えました。調べてみるとGRUBの設定で解像度の固定が可能でした。

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

# 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