7.10 radeon 驱动程序更新后,屏幕空白,只有鼠标指针;lightdm 启动时显示未切换到 tty7;Xorg.0.log 快速增长

7.10 radeon 驱动程序更新后,屏幕空白,只有鼠标指针;lightdm 启动时显示未切换到 tty7;Xorg.0.log 快速增长

更新日期:2/23/18

该问题源于 Freedesktop radeon 驱动程序 7.10 版本。

解决该问题的方法是将驱动程序降级到 7.9 版本。调查和解决方法步骤的详细信息如下。

该问题的主要症状是 Xorg.0.log 中出现连续不断的警告消息,并且数量不断增加。

警告信息如下:

[  4800.851] (WW) RADEON(0): flip queue failed: Invalid argument
[  4800.851] (WW) RADEON(0): Page flip failed: Invalid argument

历史

我于 2018 年 2 月 15 日通过 16.04LTS 中的软件管理器进行了正常升级。

它升级了以下库(/var/log/dpkg.log [pkg][old ver][new ver]):

libegl1-mesa-dev:amd64 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
libwayland-egl1-mesa:amd64 17.2.4-0ubuntu1~16.04.4 17.2.8-ubuntu0~16.04.1
libwayland-egl1-mesa:i386 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
libegl1-mesa:i386 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
libegl1-mesa:amd64 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
libgbm1:amd64 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
libgbm1:i386 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
libosmesa6:amd64 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
libosmesa6:i386 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
libgles2-mesa:amd64 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
libgl1-mesa-glx:amd64 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
libgl1-mesa-glx:i386 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
libglapi-mesa:i386 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
libglapi-mesa:amd64 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
libgl1-mesa-dri:amd64 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
libgl1-mesa-dri:i386 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
libxatracker2:amd64 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
linux-firmware:all 1.157.15 1.157.16
mesa-vdpau-drivers:i386 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
mesa-vdpau-drivers:amd64 17.2.4-0ubuntu1~16.04.4 17.2.8-0ubuntu0~16.04.1
xserver-xorg-video-radeon-hwe-16.04:amd64 1:7.9.0-0ubuntu1~16.04.1 1:7.10.0-1~16.04.1
xserver-xorg-video-ati-hwe-16.04:amd64 1:7.9.0-0ubuntu1~16.04.1 1:7.10.0-1~16.04.1

我应该指出,这是不是compiz/unity 更新包列表。这是 mesa 驱动程序。

重新启动后,当显示管理器启动时,我开始看到一个只有鼠标指针的空白屏幕。

我按++CTRL进入控制台,然后我可以在中找到以下内容:ALTF1Xorg.0.log

[  4800.851] (WW) RADEON(0): flip queue failed: Invalid argument
[  4800.851] (WW) RADEON(0): Page flip failed: Invalid argument

这些警告信息不断地流入日志文件,它不断增长。在库更新之前不存在这个。

我的笔记本电脑上的视频硬件:

 *-display

   description: VGA compatible controller
   product: RV516/M64-S [Mobility Radeon X2300]
   vendor: Advanced Micro Devices, Inc. [AMD/ATI]
   physical id: 0
   bus info: pci@0000:01:00.0
   version: 00
   width: 32 bits
   clock: 33MHz
   capabilities: pm pciexpress msi vga_controller bus_master cap_list rom
   configuration: driver=radeon latency=0
   resources: irq:16 memory:d0000000-d3ffffff ioport:4000(size=256) memory:d8300000-d830ffff memory:c0000-dffff

modinfo 输出的第一行:

filename:       /lib/modules/4.13.0-26-generic/kernel/drivers/gpu/drm/radeon/radeon.ko
license:        GPL and additional rights
description:    ATI Radeon

我真的需要一些帮助......提前感谢您!

更新日期:2/16/18:

我似乎启动到了错误的 VT 显示器。上述所有症状都是真实的;但是,如果我在启动时执行 + CTRL+ ALTF1最多F6),然后立即执行CTRL+ ALT+ F7(切换 VT),我就会进入正常桌面,就像它已正确启动一样。 CTRL+ ALT+F7而不先进入控制台不会执行任何操作。因此,这在某种程度上简化了事情,因为它现在看起来是一个配置问题。Lightdm 似乎在错误的显示器上启动了 Xorg。我在 linux 内核命令行上尝试了 vt.handoff=7,但这没有帮助。

w以下是按下CTRL++ALTF7进入正常桌面后立即的输出:

 09:38:01 up 44 min,  1 user,  load average: 0.60, 0.67, 0.82
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
user1    tty7     :0               08:53   44:14   6:16   0.29s /sbin/upstart -

该显示列表看起来很正常。

我应该注意到 compiz 和 unity 似乎仍能正常工作。当我切换到 tty7 时,桌面完全可用并且已加载。

更新日期:2/19/18:

我不认为这是 compiz/unity 问题的重复。我观察到的问题是由 2018 年 2 月 15 日上午的 radeon 驱动程序更新 (7.9->7.10) 引起的。compiz/unity 更新尚未应用于我的系统。事实上,还有一篇帖子看起来与我看到的问题相同,它是:/var/log/Xorg.0.log 文件快速增长

在以下驱动程序中发现了 ,Xorg.0.log中的警告字符串:flip queue failed

/usr/lib/xorg/modules/drivers/radeon_drv.so

在包中找到:

xserver-xorg-video-radeon-hwe-16.04

具体来说,源文件:

./src/drmmode_display.c:    xf86DrvMsg(scrn->scrnIndex, X_WARNING, "flip queue failed: %s\n",

源代码中的第 3093 行drmmode_display.c

flip_error:
    xf86DrvMsg(scrn->scrnIndex, X_WARNING, "flip queue failed: %s\n",
           strerror(errno));

error:
    if (drm_queue_seq)
        radeon_drm_abort_entry(drm_queue_seq);
    else if (crtc)
        drmmode_flip_abort(crtc, flipdata);
    else {
        abort(NULL, data);
        drmmode_fb_reference(pRADEONEnt->fd, &flipdata->fb, NULL);
        free(flipdata);
    }

    xf86DrvMsg(scrn->scrnIndex, X_WARNING, "Page flip failed: %s\n",
           strerror(errno));

我将其记录为:[Bug 1750393] Blank screen with only mouse pointer after mesa driver update; display does not switch to tty7 upon lightdm start; Xorg.0.log quickly grows在 Launchpad 上。

答案1

请通过发出以下命令来验证您正在使用 7.10 radeon 驱动程序:

lshw -c video
modinfo radeon | more

如果您在 lshw/modinfo 输出中看到以下内容,则表示您正在使用 radeon 驱动程序:

lshw 第一行的示例:

 *-display               
   description: VGA compatible controller
   product: RV516/M64-S [Mobility Radeon X2300] **or some other radeon card**
   vendor: Advanced Micro Devices, Inc. [AMD/ATI]
   physical id: 0
   bus info: pci@0000:01:00.0
   version: 00
   width: 32 bits
   clock: 33MHz
   capabilities: vga_controller bus_master cap_list rom
   configuration: driver=radeon latency=0

modinfo 的示例第一行(内核版本可能不同):

filename:       /lib/modules/4.13.0-26-generic/kernel/drivers/gpu/drm/radeon/radeon.ko
license:        GPL and additional rights
description:    ATI Radeon

验证您正在使用 radeon 驱动程序。

xserver-xorg-video-radeon-hwe-16.04如果是,请验证您使用的版本。执行:

sudo apt list --installed | grep radeon-hwe

应显示以下内容:

xserver-xorg-video-radeon-hwe-16.04/xenial-updates,now 1:7.10.0-0ubuntu1~16.04.1 amd64 [installed]

这是 7.10 radeon 驱动程序。

如果以上所有情况都适用于您的机器,那么此问题有一个解决方法:

从以下位置下载 7.9 版 radeon 驱动程序 Ubuntu 包 ( xserver-xorg-video-radeon-hwe-16.04_7.9.0-0ubuntu1~16.04.1_amd64.deb):

https://launchpad.net/ubuntu/xenial/amd64/xserver-xorg-video-radeon-hwe-16.04/1:7.9.0-0ubuntu1~16.04.1

对下载的.deb 文件执行以下命令:

sudo dpkg -i xserver-xorg-video-radeon-hwe-16.04_7.9.0-0ubuntu1_16.04.1_amd64.deb
sudo apt-get -f install
sudo apt-mark hold xserver-xorg-video-radeon-hwe-16.04

这会将 radeon 驱动程序包降级至版本 7.9,修复依赖关系,并阻止驱动程序包进行进一步更新。

重新启动后,问题就解决了。

已向 Freedesktop 报告了一个错误:

https://bugs.freedesktop.org/show_bug.cgi?id=105217

7.9 版 Radeon 驱动程序将需要保留,直到问题得到解决:

xserver-xorg-video-radeon-hwe-16.04

相关内容