Debian 不尊重 GRUB2 分辨率设置 – 屏幕上出现垃圾

Debian 不尊重 GRUB2 分辨率设置 – 屏幕上出现垃圾

我有Debian GNU/Linux 7没有图形用户界面。

我的液晶显示器原始分辨率是 1280x1024。我希望我的操作系统默认使用此分辨率等tty1tty2

这些是我的/etc/default/grub

GRUB_GFXMODE=1280x1024
GRUB_GFXPAYLOAD_LINUX=1280x1024

我已经跑了sudo update-grub,没有任何问题。重新启动。这应该足够了,但事实并非如此。

行为如下:

  • GRUB2 菜单始终使用配置的分辨率。我已经检查过不同的GRUB_GFXMODE它也可以使用较低的分辨率,在这种情况下,图片被拉伸并利用整个屏幕 - 一切都可以。
  • 当系统启动时,很少会按预期显示初始消息,并且显示器以其原始分辨率工作。
  • 就在消息出现的那一刻Waiting for /dev to be fully populated...,屏幕闪烁了。一秒钟后,图片以相同的分辨率恢复,但屏幕底部和右边缘有垃圾(如静态像素噪声)。
  • 当我登录并随后工作时,有两个条纹(底部、右边缘)对我来说不可用。

这就是它的样子(请原谅照片分辨率较低,但这并不重要)。蓝色mc窗口应占据整个屏幕。右上角可以看到图形垃圾蜜蜂。底部的条纹全是黑色,但那里也经常有垃圾。

mc 窗口仅出现在屏幕的一部分上


尽管进行了 GRUB2 设置,我的操作系统并未使用所需的分辨率。这是以下的输出fbset

mode "1024x768"
    geometry 1024 768 1280 1024 32
    timings 0 0 0 0 0 0 0
    accel true
    rgba 8/16,8/8,8/0,0/0
endmode

尽管如此,显示器仍然使用其原始分辨率。请参阅这张照片的最后一行:

监视器报告正在使用的原始分辨率

如何使GRUB2设置生效?


附加信息:

  • 硬件是JBC362F36W-2600-B 准系统 Mini-ITX 系统
  • 它的主板是NF36-N2600
  • 图形被集成到英特尔凌动 N2600中央处理器。
  • 电缆为 DVI-D。
  • 显示器是飞利浦190B。它与 GRUB2 菜单配合得很好,所以我不认为它有什么问题。

和更多:

# lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Atom Processor D2xxx/N2xxx Integrated Graphics Controller (rev 09)

# uname -a
Linux [censored] 3.2.0-4-amd64 #1 SMP Debian 3.2.81-1 x86_64 GNU/Linux

# grep -A 6 1280x1024-60 /etc/fb.modes 
mode "1280x1024-60"
    # D: 108.00 MHz, H: 63.981 kHz, V: 60.02 Hz
    geometry 1280 1024 1280 1024 8
    timings 9260 248 48 38 1 112 3
    hsync high
    vsync high
endmode

答案1

这些 GRUB 设置控制 GRUB 使用的显示模式,它们不指定内核使用的默认帧缓冲区模式。要配置后者,可以使用video内核参数;在 Debian 中,将其添加到以下GRUB_CMDLINE_LINUX_DEFAULT行中/etc/default/grub

video=1280x1024

一旦内核初始化帧缓冲区,这应该正确设置显示。

video参数详细记录在fb/modedb.rst在内核文档中。

答案2

编辑:这是我的旧修复(我是OP,以防有人没有注意到)。已经有另一个更好的答案了。出于教育原因,我留下我的答案。


旧修复:

我无法使 GRUB2 设置起作用,但我仍然可以从正在运行的系统中将分辨率更改为所需的 1280x1024。命令是:

fbset -g 1280 1024 1280 1024 32

添加这一行可以/etc/rc.local解决我的问题。系统启动时屏幕上仍有部分垃圾;但当我登录并工作时,我可以使用显示器的完整分辨率。

相关内容