当我从 mesa-utils 包执行 eglinfo 时,出现失败:
$ eglinfo
...
GBM platform:
amdgpu_device_initialize: amdgpu_query_info(ACCEL_WORKING) failed (-13)
amdgpu: amdgpu_device_initialize failed.
amdgpu_device_initialize: amdgpu_query_info(ACCEL_WORKING) failed (-13)
amdgpu: amdgpu_device_initialize failed.
...
我已经追踪到amdgpu_query_info()
文件中的 libdrmamdgpu/amdgpu_gpu_info.c
失败drmCommandWrite()
,错误号为 13:没有权限。
最初我以为这很容易修复,因为我注意到中的设备/dev/dri/*
具有组所有权video
和render
。但是在将用户设为这些组的一部分并重新启动后,错误仍然存在。
为什么会drmCommandWrite()
因权限被拒绝而失败?运行集成显卡和光圈驱动程序时,我没有遇到这样的问题。
$ inxi -G
Graphics:
Device-1: AMD Ellesmere [Radeon RX 470/480/570/570X/580/580X/590]
driver: amdgpu v: kernel
Display: wayland server: X.org v: 1.21.1.4 with: Xwayland v: 22.1.3
compositor: gnome-shell v: 43.1 driver: X: loaded: modesetting
unloaded: fbdev,vesa gpu: amdgpu resolution: 1920x1080~60Hz
OpenGL: renderer: AMD Radeon RX 580 Series (polaris10 LLVM 15.0.2 DRM
3.49 6.1.6-060106-generic) v: 4.6 Mesa 22.2.1
操作系统:Ubuntu 22.10
更新
以 root 身份运行时,权限被拒绝错误消失。
A相关评论在 gitlab 问题上解释说显示服务器应该/dev/dri/card0
首先具有经过身份验证的访问权限。