在 20.04 上为 R9 270x 启用 AMDGPU

在 20.04 上为 R9 270x 启用 AMDGPU

当尝试为我的 R9 270x 启用amdgpu驱动程序时:

grep amdgpu /etc/default/grub  
GRUB_CMDLINE_LINUX_DEFAULT="[truncated] radeon.cik_support=0 radeon.si_support=0 amdgpu.cik_support=1 amdgpu.si_support=1"

gandalf@hans-desktop  ~ 

它实际上从未被加载:

sudo lspci -k |grep amdgpu                             
Kernel modules: radeon, amdgpu

而我们预期的是:

sudo lspci -k |grep amdgpu                             
Kernel driver in use: amdgpu
Kernel modules: radeon, amdgpu

如何在 ubuntu 20.04 上启用 amdgpu?

答案1

@hgogert 给出了正确的答案,但我想补充一点,应该尝试将 HWE 内核版本与 HWE 堆栈反向移植的上游版本中的固件包进行匹配。例如,Ubuntu 20.04.3 HWE 的内核 5.11 源自 hirsute (21.04),hirsute 的固件包更新信息列在https://packages.ubuntu.com/hirsute-updates/linux-firmware。因此对于 20.04.3,要手动覆盖并添加固件更新:

curl -OL http://archive.ubuntu.com/ubuntu/pool/main/l/linux-firmware/linux-firmware_1.197.3_all.deb
sudo dpkg -i linux-firmware_1.197.3_all.deb

额外提示:也许从最近的镜像下载 deb,因为这个包几乎有 200MB 大。

进一步解释一下,Ubuntu HWE 堆栈维护者更新了内核(和 amdgpu 驱动程序),但不幸的是未能使 linux-firmware 软件包保持最新状态。因此,amdgpu 驱动程序显然是在 Ubuntu 随较新的临时非 LTS 附带的固件上测试/开发的,但随后未能将他们的 HWE 内核更新包含/反向移植到以前的 LTS。

看:

答案2

就我而言,我在启动初期可以在 dmesg 中看到一些错误:

错误如下:

okt 30 22:05:14 desktop kernel: amdgpu 0000:01:00.0: Direct firmware load for amdgpu/pitcairn_uvd.bin failed with error -2
okt 30 22:05:14 desktop kernel: amdgpu 0000:01:00.0: amdgpu: amdgpu_uvd: Can't load firmware "amdgpu/pitcairn_uvd.bin"
okt 30 22:05:14 desktop kernel: [drm:amdgpu_device_ip_init [amdgpu]] *ERROR* sw_init of IP block <uvd_v3_1> failed -2
okt 30 22:05:14 desktop kernel: amdgpu 0000:01:00.0: amdgpu: amdgpu_device_ip_init failed
okt 30 22:05:14 desktop kernel: amdgpu 0000:01:00.0: amdgpu: Fatal error during GPU init
okt 30 22:05:14 desktop kernel: amdgpu 0000:01:00.0: amdgpu: amdgpu: finishing device.

安装 linux-firmware 至少从 20.04 以上的主版本可以解决此问题:

具体来说,就我而言,安装linux-firmware_1.190_all.deb解决了这个问题。

相关内容