我使用的是 FreeBSD 13,我从 grub 启动。
我的显示器的原始分辨率为 1280x768,但 FreeBSD 文本控制台以 640x480 使用它:
VT(vga): resolution 640x480
我在我的中尝试了以下方法,/boot/loader.conf
但没有帮助:
kern.vt.fb.default_mode="1280x768"
efi_max_resolution="1280x768"
如何强制以 1280x768 分辨率启动?
答案1
VT 系统内部依赖于展示驱动程序实际为其提供显示系统。里面vga
说它VT(vga)
正在使用 VGA 显示驱动程序。它可以说,例如VT(efifb)
。
VT 内的 VGA 显示驱动程序(不要与vga
帧缓冲区驱动程序混淆,这是一个独立的内核可加载模块)几乎完全支持旧 VGA 卡的功能。要获得 Super VGA 功能,需要fb
显示驱动程序或efifb
显示驱动程序。
VT 内部的显示驱动程序fb
显然需要存在帧缓冲区vga
驱动程序,例如vga
带有vesa
覆盖层的驱动程序nvidia
,或某些此类驱动程序。 (不幸的是,VT 显示和帧缓冲区驱动程序之间的关系没有记录在案。)这些内容是根据编译到内核中的内容加载的,在引导时根据 加载的内容,loader.conf
以及稍后加载的内容kldload
。
VT 内的显示驱动程序efifb
要求内核加载程序检测到 EFI 固件并将其告知内核。 (不幸的是,这一切都没有记录。)
该kern.vt.fb.default_mode
设置仅在 VT 使用其fb
显示驱动程序时适用,并且帧缓冲区所使用的驱动程序是 DRM2 又名 KMS 帧缓冲区驱动程序。 (这大约是其中唯一的部分是记录在 vt(4) 手册页中。)
旧的 VGA 硬件没有 1280×768 模式。就这么简单。