当我启动仅装有Linux的台式计算机时,视频模式和/或控制台字体会切换四次:
- GRUB启动时,它从80x25文本切换到图形模式,因此可以在菜单后面绘制漂亮的背景。
- 当我从菜单中选择内容后,GRUB然后返回80x25文本;
- 加载我的视频卡的KMS驱动程序时,它会切换到分辨率更高的文本模式(我不知道这是否是硬件文本模式)。
- 最终,X启动,它变为图形,并保持这种状态。我认为最后一个开关不会改变视频模式的分辨率,只会改变图形。
我想摆脱尽可能多的这些模式切换。理想情况下,当GRUB从BIOS接管时,它将直接进入KMS驱动程序选择的相同高分辨率文本模式,并且显示将一直保持该模式,直到X启动并显示图形。我的印象是,可以通过使用内核命令行和/或GRUB控制台模块装入参数来实现此目的,但是我不知道细节。
使用Nouveau视频驱动程序的GRUB 1.98 + 20100706,内核2.6.32.15。发行版是Debian不稳定的。请不要回答涉及重新编译任何内容或将尖端的内核/驱动程序组合在一起的答案,我对此不太在意,以免造成太多麻烦。
编辑: Tobu建议将其设置GRUB_GFXMODE
为显示器的全像素分辨率,并GRUB_GFXPAYLOAD_LINUX=keep
避免在菜单消失后避免模式切换。这确实是我想要的一部分,但最终总体上会变得更糟。菜单后没有模式切换,但是屏幕重绘仍然非常缓慢(我可能应该放弃GRUB的gfxmode,在1920x1200分辨率下太慢了)。更严重的是,当nouveaufb加载时,现在有一个双模式开关,以及中有趣的错误消息dmesg
[ 5.923798] [drm] nouveau 0000:02:00.0: allocated 1920x1200 fb: 0x40250000, bo ffff8801ba5f4600
[ 5.923802] fb: conflicting fb hw usage nouveaufb vs EFI VGA - removing generic driver
[ 5.923821] [drm] nouveau 0000:02:00.0: PFIFO_INTR 0x00000010 - Ch 1
("PFIFO_INTR" message repeats 400+ times)
[ 5.925609] Console: switching to colour dummy device 80x25
[ 5.925802] Console: switching to colour frame buffer device 240x75