尝试安装 amdgpu 驱动程序失败后,gdm 无法启动,直到 modprobe amdgpu(Ubuntu 22.04)

尝试安装 amdgpu 驱动程序失败后,gdm 无法启动,直到 modprobe amdgpu(Ubuntu 22.04)

简洁版本:尝试(并失败)安装 AMD radeon 专有驱动程序后,我卸载了它们并删除了它安装的软件包,但现在:

  • 在启动时,我的显卡是UNCLAIMED
  • GDM 不会启动,直到我这样做:(sudo modprobe amdgpu这也占用了我的显卡)
  • 登录后,DISPLAY现在是:1:0我不明白

我应该怎么做才能返回到实际可启动的工作系统?

细节

我新安装的一切工作正常,除了x11vnc

为了解决这个问题,我尝试使用 安装(一团糟的)专有 AMD radeon 驱动程序amdgpu-install_22.20.50200-1_all.deb,但失败了。经过/etc/apt/sources.list.d/*多次修改后,最终由于 gcc 版本不匹配而无法构建内核模块,这时我放弃了。为了清理拙劣的安装尝试,我运行了:

sudo amdgpu-install --uninstall
sudo apt purge amdgpu-install
sudo apt autoremove

重启后,gdm无法启动。我注意到sudo lshw -c display显示:

$ sudo lshw -c display
  *-display UNCLAIMED       
       description: VGA compatible controller
       product: Baffin [Radeon RX 550 640SP / RX 560/560X]
       vendor: Advanced Micro Devices, Inc. [AMD/ATI]
       physical id: 0
       bus info: pci@0000:02:00.0
       version: ff
       width: 64 bits
       clock: 33MHz
       capabilities: pm pciexpress msi vga_controller bus_master cap_list
       configuration: latency=0
       resources: memory:d0000000-dfffffff memory:cfe00000-cfffffff ioport:b000(size=256) memory:fbb80000-fbbbffff memory:c0000-dffff
  *-graphics
       product: VESA VGA
       physical id: 1
       logical name: /dev/fb0
       capabilities: fb
       configuration: depth=32 resolution=1280,1024

因此,我比较了/var/log/Xorg.0.log(现在出现故障)和 ~/.local/share/xorg/Xorg.0.log(自上次启动成功后就没有重写过),发现后者有一行LoadModule: "amdgpu",因此我尝试了一下sudo modprobe amdgpugdm启动了,现在显卡也被“声明”了:

$ sudo lshw -c display
  *-display                 
       description: VGA compatible controller
       product: Baffin [Radeon RX 550 640SP / RX 560/560X]
       vendor: Advanced Micro Devices, Inc. [AMD/ATI]
       physical id: 0
       bus info: pci@0000:02:00.0
       version: ff
       width: 64 bits
       clock: 33MHz
       capabilities: pm pciexpress msi vga_controller bus_master cap_list rom
       configuration: driver=amdgpu latency=0
       resources: irq:32 memory:d0000000-dfffffff memory:cfe00000-cfffffff ioport:b000(size=256) memory:fbb80000-fbbbffff memory:c0000-dffff

登录后,我发现DISPLAY=:1在驱动程序安装尝试之前,它在哪里DISPLAY=:0。这可能是第一次尝试启动的副作用:0,在无法识别的卡上失败,然后在它之后,modprobe似乎现在有一个新的(可识别的)显卡,因此它给出:1

我该怎么做才能收拾这个烂摊子?我不想对 的加载进行硬编码amdgpu,因为我认为它之前没有被硬编码过……

我认为从头开始重新安装 Ubuntu 22.04 不会有太多工作,但不用说,如果可能的话,它更愿意了解出了什么问题并修复它。

您知道我应该怎么做才能amdgpu自动加载并让 DISPLAY:0再次工作吗?

答案1

因此显然 amd 安装程序明智地创建了:

/etc/modprobe.d/blacklist-amdgpu.conf包含:

blacklist amdgpu

这就是重启后模块无法加载的原因。删除该文件后,一切又恢复正常。

相关内容