启动 Intel Atom Z530 / GMA 500 时出现黑屏

启动 Intel Atom Z530 / GMA 500 时出现黑屏

我对 Linux 还很陌生,但我花了整个周末在 Google 上寻找解决方案,但却没有任何效果。

TL;DR;

在启动过程中的初始日志之后,屏幕变黑。我尝试在 GRUB 中设置nomodeset和,acpi=off但没有任何效果。我还能尝试什么让 Ubuntu 启动时带显示器?

细节

我正在帮助朋友设置Ubuntu Server 16.04.3 LTS(32 位)fit-PC2i,它有一个配备 GMA 500 的英特尔凌动 Z530(PDF 链接)。我遵循了如何创建可启动 USB进而如何安装 Ubuntu 服务器

安装非常顺利。

但是,在启动时,POST 闪烁,GRUB 菜单闪烁,并且一些初始启动日志闪烁得太快而无法读取任何内容,然后屏幕变黑并进入省电模式。

我尝试从 GRUB 菜单进入恢复模式,但是也不起作用。

我尝试使用带有 DVI-D 输入的显示器,也尝试使用带有 HDMI 输入的另一台显示器。没有区别。

我也尝试过使用 Parted Magic,但是在选择运行模式后,看到的最后一条日志是Setting up system devices...,然后它变黑了。

在安装过程中,我选择安装OpenSSH,但NMap网络扫描未显示 fit-PC 上有任何开放端口。PuTTY端口 22 上的连接被拒绝。我猜这是因为我还没有登录,但我不知道如何在看不到任何东西的情况下做到这一点...

请注意,PC 没有死机。电源指示灯亮起,HDD-LED 还会闪烁一会儿。

现在我不知道该怎么办了……):


更新:

经过一周的故障排除,我相信问题在于 Linux 正在尝试使用首选解决方案(对于我的显示器来说为 1920x1200),但vbeinfo不支持该模式。

我已经成功地操纵了内核参数更新 GRUB 配置。我也尝试直接从 GRUB 启动菜单进行相同的设置,结果相同。

在 /etc/default/grub 中:

GRUB_GFXMODE=1280x1024x32
GRUB_GFXPAYLOAD_LINUX=keep
GRUB_CMDLINE_LINUX_DEFAULT="vga=0x31b"

GRUB 菜单中的 Linux 内核参数:

vga=0x31b

参数splashquiet被删除了,并且我也尝试了使用和不使用nomodeset

这项决议在引导阶段。引导加载程序(GRUB2)运行良好,并且内核的初始日志以正确的分辨率显示。

但是,大约 4 秒钟后,显示器闪烁,然后进入省电模式。以下打印内容dmesg似乎是唯一相关的内容:

[    2.167156] vesafb: mode is 1280x1024x32, linelength=5120, pages=0
[    2.167171] vesafb: scrolling: redraw
[    2.167186] vesafb: Truecolor: size=8:8:8:8, shift=24:16:8:0
[    2.167221] pmd_set_huge: Cannot satisfy [mem 0x3f800000-0x3fa00000] with a huge-page mapping due to MTRR override.
[    2.167296] vesafb: framebuffer at 0x3f800000, mapped to 0xf8600000, using 5120k, total 5120k
[    2.187861] Console: switching to colour frame buffer device 160x64
[    2.208045] fb0: VESA VGA frame buffer device
...
[    4.046290] gma500 0000:00:02.0: trying to get vblank count for disabled pipe 1
[    4.048009] gma500 0000:00:02.0: trying to get vblank count for disabled pipe 1
[    4.097391] microsoft 0003:045E:00DB.0002: input,hidraw1: USB HID v1.11 Device [Microsoft Natural® Ergonomic Keyboard 4000] on usb-0000:00:1d.0-2/input1
[    4.260422] gma500 0000:00:02.0: Backlight lvds set brightness 7a120000
[    4.268990] [drm] Initialized gma500 1.0.0 20140314 for 0000:00:02.0 on minor 0

我认为[ 4.046290] gma500 0000:00:02.0: trying to get vblank count for disabled pipe 1显示器关闭是正确的。

看来 GMA 驱动程序已加载:

$ lsmod | grep gma
gma500_gfx            217088  0
i2c_algo_bit           16384  1 gma500_gfx
drm_kms_helper        139264  1 gma500_gfx
drm                   311296  3 drm_kms_helper,gma500_gfx
video                  40960  1 gma500_gfx

Poulsbo 设备使用的是 GMA500:

$ lspci -nnk | grep -iA2 Graphics
00:02.0 VGA compatible controller [0300]: Intel Corporation System Controller Hub (SCH Poulsbo) Graphics Controller [8086:8108] (rev 07)
        Subsystem: Intel Corporation System Controller Hub (SCH Poulsbo) Graphics Controller [8086:8119]
        Kernel driver in use: gma500
        Kernel modules: gma500_gfx

根据这些发现,我认为原来的问题已经发生了一些改变。

我怎样才能让 Linux 内核继续使用 GRUB 指定的相同(工作)分辨率?

答案1

我一直在尝试做同样的事情(Ubuntu Server 16.04 -> FitPC2),但遇到了同样的问题。

不幸的是,我还没有找到任何方法来修复显示分辨率,但我确实找到了......

解决方法:

找到一个较小的显示器对我来说很有效(我手边有一台 Adafruit 800x480 HDMI 显示器)。基本驱动程序和 gma500_gfx 驱动程序之间显然有一个开关,但至少要切换到支持的分辨率。您可以通过这种方式进行基本配置,稍后使用 ssh 连接...

答案2

可以尝试以下选项:

在 grub linux 行中,添加 video=XRESxYRES@REFRESHRATE 然后禁用一些额外的视频端口 (video=DP-2:d),如下所示:

https://wiki.archlinux.org/index.php/Kernel_mode_setting#Forcing_modes

我知道我的主板默认会尝试输出到 LVDS-1,据说这是板载 Intel(重新命名的非品牌)图形芯片的一个缺陷,所以我在内核中禁用了 LVDS-1。结果如下:video=LVDS-1:d

要检查这是否有效,在启动时您需要混合e (一旦进入编辑模式,请确保删除您可能添加的任何多余的“e”),这将带您进入“编辑 GRUB”模式。

然后找到该 linux 行,需要添加上面描述的参数。

你最终会得到类似这样的结果:

linux   /boot/vmlinuz-4.15.0-32-generic root=UUID=abcd-ef-ghi12345-etc ro  video=LVDS-1:d video=DP-2:d 

这些英特尔主板并不可怕,除非它们真的很糟糕。

答案3

fitpc2 和 Debian Linux 10 存在同样的问题。解决方法:

  • 在启动屏幕/ GRUB 菜单上,点击e
  • 有一行以linux /boot/...
  • 将此内容附加到以下行mobprobe.blacklist=gma500_gfx
  • 按 F10 使用此临时修复程序进行启动

这可防止加载 gma500_gfx 驱动程序并导致屏幕变黑。启动后,您还可以根据需要永久设置黑名单。

对我来说这并不重要(无头系统)。

答案4

gma_gfx500 模块使显示屏变黑

以下对我有用...

将 gma_gfx500 模块列入黑名单

将以下行添加到 /etc/modprobe.d/blacklist.conf

blacklist gma500_gfx

并运行命令来更新 initramfs

sudo update-initramfs -u

编辑 grub 默认文件 /etc/default/grub

改变线路

GRUB_CMDLINE_LINUX_DEFAULT="安静的启动"

GRUB_CMDLINE_LINUX_DEFAULT="安静无模式设置"

运行命令更新 GRUB

sudo update-grub

然后重启

相关内容