Ubuntu 20.04 上第二台显示器无法工作 - Radeon

Ubuntu 20.04 上第二台显示器无法工作 - Radeon

我有两台 17 英寸 LG Flatron(L1730S 和 L1755S)连接到我那台不太新的 AMD 台式机。一台通过 DVI 插入,另一台通过 HDMI 插入,使用 DVI 转 HDMI 适配器。这不是适配器的问题,因为我已经将它们调换了位置,结果是一样的。此外,它们在 18.04 上作为双显示器工作正常。

自从升级到 20.04 以来,我一直遇到问题。有时我的第二台显示器 (55) 在设置中显示为“未知显示器”,有时显示为“AlgolTek, Inc 13"”,有时显示为“LG Electronics 17"”,这是应该的。但即使正确识别,大多数时候也不会显示任何内容。有时,我想,它会开始完美运行,直到我关闭 PC,然后又回到黑屏。

此外,有时当我尝试在设置中切换镜像/扩展/单屏显示时,我的工作显示器 (30) 会出现这种奇怪的东西,如图所示。我恢复设置,一切都恢复原样。 怪异行为 我见过一些类似的帖子,但没有一个与我的问题完全一样,而且,作为高级用户,我担心调整我不理解的东西,然后后悔。

$ sudo lshw -c video
   description: VGA compatible controller
   product: Richland [Radeon HD 8670D]
   vendor: Advanced Micro Devices, Inc. [AMD/ATI]
   physical id: 1
   bus info: pci@0000:00:01.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:39 memory:c0000000-cfffffff ioport:f000(size=256) memory:fef00000-fef3ffff memory:c0000-dffff
$ dmesg | grep -i radeon
[    0.235651] smpboot: CPU0: AMD A10-6800K APU with Radeon(tm) HD Graphics (family: 0x15, model: 0x13, stepping: 0x1)
[   14.714281] [drm] radeon kernel modesetting enabled.
[   14.714319] radeon 0000:00:01.0: remove_conflicting_pci_framebuffers: bar 0: 0xc0000000 -> 0xcfffffff
[   14.714320] radeon 0000:00:01.0: remove_conflicting_pci_framebuffers: bar 2: 0xfef00000 -> 0xfef3ffff
[   14.714323] fb0: switching to radeondrmfb from EFI VGA
[   14.714477] radeon 0000:00:01.0: vgaarb: deactivate vga console
[   14.714849] radeon 0000:00:01.0: VRAM: 512M 0x0000000000000000 - 0x000000001FFFFFFF (512M used)
[   14.714850] radeon 0000:00:01.0: GTT: 1024M 0x0000000020000000 - 0x000000005FFFFFFF
[   14.714944] [drm] radeon: 512M of VRAM memory ready
[   14.714945] [drm] radeon: 1024M of GTT memory ready.
[   16.926908] [drm] radeon: dpm initialized
[   17.609583] radeon 0000:00:01.0: WB enabled
[   17.609586] radeon 0000:00:01.0: fence driver on ring 0 use gpu addr 0x0000000020000c00 and cpu addr 0x0000000035309226
[   17.609973] radeon 0000:00:01.0: fence driver on ring 5 use gpu addr 0x0000000000075a18 and cpu addr 0x00000000b9c24ed9
[   17.629995] radeon 0000:00:01.0: fence driver on ring 6 use gpu addr 0x0000000020000c18 and cpu addr 0x00000000a8e437ec
[   17.629997] radeon 0000:00:01.0: fence driver on ring 7 use gpu addr 0x0000000020000c1c and cpu addr 0x00000000cc3dcf4c
[   17.629998] radeon 0000:00:01.0: fence driver on ring 1 use gpu addr 0x0000000020000c04 and cpu addr 0x00000000e3da78ce
[   17.629999] radeon 0000:00:01.0: fence driver on ring 2 use gpu addr 0x0000000020000c08 and cpu addr 0x00000000197addb9
[   17.630000] radeon 0000:00:01.0: fence driver on ring 3 use gpu addr 0x0000000020000c0c and cpu addr 0x00000000dd221798
[   17.630002] radeon 0000:00:01.0: fence driver on ring 4 use gpu addr 0x0000000020000c10 and cpu addr 0x000000007d5ab43f
[   17.630029] radeon 0000:00:01.0: radeon: MSI limited to 32-bit
[   17.630065] radeon 0000:00:01.0: radeon: using MSI.
[   17.630085] [drm] radeon: irq initialized.
[   19.418579] [drm] Radeon Display Connectors
[   19.756165] fbcon: radeondrmfb (fb0) is primary device
[   19.756250] radeon 0000:00:01.0: fb0: radeondrmfb frame buffer device
[   19.773951] [drm] Initialized radeon 2.50.0 20080528 for 0000:00:01.0 on minor 0

答案1

我在使用 Ubuntu 20.04 时也遇到过类似的问题,当时使用的是一台稍旧的 HP AMD-GPU 笔记本电脑,并通过 HDMI 连接到单个 4K 外接显示器。就我而言,外接显示器上会出现绿屏,无法切换到 shell 来尝试修复它。我仍然会遇到一点图像撕裂的情况。我的日志没有告诉我任何有用的信息,所以,这主要是我反复试验的结果。

您可以尝试以下操作来解决外接显示器的撕裂和其他问题。

  • 当您登录时,请确保它是带有 Wayland 的 Gnome,其他任何东西对我来说都不起作用。
  • 将内核升级到最新的稳定版本(例子),在撰写本文时,它是 5.8.1,但它也可以在 5.7 上使用。我不得不编译内核,因为简单地安装 .deb 内核文件不起作用。我不明白两者之间的区别。
  • 如果外接显示器进入省电模式,我通常无法恢复会话并且必须进行硬重启。
  • 登录时,我需要将鼠标光标放在外部显示器上,然后输入密码,否则我会看到可怕的绿屏。

我们可能需要发布针对 Wayland 的错误,但我不确定这是否是问题所在。希望这里有一些对您有用的东西。

相关内容