我最近购买了一台新的 Lenovo Ideapad Slim 3 笔记本电脑,但在让 amdgpu 驱动程序在 Arch Linux 中正常工作时遇到问题。 GPU 似乎可以通过 Mint live USB(glxgears
播放等)立即正常工作;但是,在 Arch 系统中,我尝试安装到 SSD,但出现以下错误glxinfo -B
:
$ glxinfo -B
name of display: :0
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 151 (GLX)
Minor opcode of failed request: 24 (X_GLXCreateNewContext)
Value in failed request: 0x0
Serial number of failed request: 37
Current serial number in output stream: 38
我在日志中看不到dmesg
与 [drm] 和 amdgpu 相关的任何错误 - Arch 中的消息看起来与 Mint 中的消息非常相似。但是,在 Arch 中,我在文件中看到以下错误Xorg.0.log
:
[ 42.568] (II) Loading sub module "glamoregl"
[ 42.568] (II) LoadModule: "glamoregl"
[ 42.568] (II) Loading /usr/lib/xorg/modules/libglamoregl.so
[ 42.572] (II) Module glamoregl: vendor="X.Org Foundation"
[ 42.572] compiled for 1.21.1.8, module version = 1.0.1
[ 42.572] ABI class: X.Org ANSI C Emulation, version 0.4
[ 42.577] (EE) AMDGPU(0): eglGetDisplay() failed
[ 42.577] (EE) AMDGPU(0): glamor detected, failed to initialize EGL.
[ 42.577] (WW) AMDGPU(0): amdgpu_glamor_pre_init returned FALSE, using ShadowFB
Mint live USB 的文件Xorg.0.log
不会显示此错误:
[ 17.992] (II) Loading sub module "glamoregl"
[ 17.992] (II) LoadModule: "glamoregl"
[ 17.992] (II) Loading /usr/lib/xorg/modules/libglamoregl.so
[ 17.995] (II) Module glamoregl: vendor="X.Org Foundation"
[ 17.995] compiled for 1.21.1.3, module version = 1.0.1
[ 17.995] ABI class: X.Org ANSI C Emulation, version 0.4
[ 18.028] (II) AMDGPU(0): glamor X acceleration enabled on AMD RENOIR (LLVM 13.0.1, DRM 3.42, 5.15.0-56-generic)
[ 18.028] (II) AMDGPU(0): glamor detected, initialising EGL layer.
该错误似乎与导致问题的原因有关。有谁知道是什么可能导致 amdgpu 和 Arch 中的魅力之间出现这个问题?
这是一款全新的笔记本电脑,配备 AMD Ryzen 5 7530U CPU,集成 Radeon 显卡。
答案1
我已经设法自己解决了这个问题。 Arch 系统是从以前具有 NVidia GPU 的机器复制而来的,并且仍然安装了一些与 NVidia 相关的图形软件包。我删除了这些,现在 3D 加速似乎工作正常(两者都glxinfo
有效glxgears
)。旧的 NVidia 软件包是:
nvidia-340xx-dkms
nvidia-340xx-utils
opencl-nvidia-340xx
xf86-video-nouveau
ffnvcodec-headers
如果其他人将来遇到类似的问题,希望此信息可能有所帮助。