Radeon R7 260X 显卡,在 17.10 中运行良好。升级到 18.04 后,它只能进行软件渲染。
$ lspci -nn | grep -E 'VGA|Display'
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Bonaire XTX [Radeon R7 260X/360] [1002:6658]
Xorg.log 表明直接渲染已被禁用,但没有说明原因。这里没有使用 /etc/X11/xorg.conf,创建一个并手动启用 DRI 也没有改变任何东西。
/dev/dri/ 存在并且我在组中video
:
$ ls -l /dev/dri/
total 0
drwxr-xr-x 2 root root 80 Apr 18 16:45 by-path
crw-rw----+ 1 root video 226, 0 Apr 18 16:45 card0
crw-rw----+ 1 root video 226, 128 Apr 18 16:45 renderD128
相关部分/var/log/Xorg.0.log
:
[ 1095.745] (II) Loading sub module "dri2"
[ 1095.745] (II) LoadModule: "dri2"
[ 1095.745] (II) Module "dri2" already built-in
[ 1095.745] (II) Loading sub module "glamoregl"
[ 1095.745] (II) LoadModule: "glamoregl"
[ 1095.745] (II) Loading /usr/lib/xorg/modules/libglamoregl.so
[ 1095.749] (II) Module glamoregl: vendor="X.Org Foundation"
[ 1095.749] compiled for 1.19.6, module version = 1.0.0
[ 1095.749] ABI class: X.Org ANSI C Emulation, version 0.4
[ 1095.749] (II) glamor: OpenGL accelerated X.org driver based.
[ 1095.804] (EE) RADEON(0): eglGetDisplay() failed
[ 1095.805] (EE) RADEON(0): glamor detected, failed to initialize EGL.
...
[ 1096.275] (--) Depth 24 pixmap format is 32 bpp
[ 1096.276] (II) RADEON(0): Front buffer size: 46980K
[ 1096.276] (II) RADEON(0): VRAM usage limit set to 157831K
[ 1096.276] (==) RADEON(0): DRI3 disabled
[ 1096.276] (==) RADEON(0): Backing store enabled
[ 1096.276] (WW) RADEON(0): Direct rendering disabled
[ 1096.276] (II) RADEON(0): Acceleration disabled
[ 1096.276] (==) RADEON(0): DPMS enabled
[ 1096.276] (==) RADEON(0): Silken mouse enabled
[ 1096.276] (II) RADEON(0): RandR 1.2 enabled, ignore the following RandR disabled message.
[ 1096.277] (--) RandR disabled
[ 1096.284] (II) SELinux: Disabled on system
[ 1096.284] (II) AIGLX: Screen 0 is not DRI2 capable
[ 1096.284] (EE) AIGLX: reverting to software rendering
[ 1096.286] (II) IGLX: enabled GLX_MESA_copy_sub_buffer
[ 1096.287] (II) IGLX: Loaded and initialized swrast
[ 1096.287] (II) GLX: Initialized DRISWRAST GL provider for screen 0
LIBGL_调试:
$ LIBGL_DEBUG=verbose glxgears
libGL: screen 0 does not appear to be DRI2 capable
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
glxinfo:
$ glxinfo | grep -i version
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
Version: 18.0.0
Max core profile version: 3.3
Max compat profile version: 3.0
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.0
OpenGL core profile version string: 3.3 (Core Profile) Mesa 18.0.0-rc5
OpenGL core profile shading language version string: 3.30
OpenGL version string: 3.0 Mesa 18.0.0-rc5
OpenGL shading language version string: 1.30
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 18.0.0-rc5
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
$ glxinfo | grep -i direct
direct rendering: Yes
GL_ARB_direct_state_access, GL_ARB_draw_buffers,
GL_ARB_draw_indirect, GL_ARB_draw_instanced, GL_ARB_enhanced_layouts,
GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect,
有什么想法可以进一步调试或修复此问题吗?
编辑:
尝试了 amdgpu,但结果相同:
[ 234.839] (--) Depth 24 pixmap format is 32 bpp
[ 234.839] (II) AMDGPU(0): Front buffer pitch: 7680 bytes
[ 234.839] (==) AMDGPU(0): DRI3 disabled
[ 234.839] (==) AMDGPU(0): Backing store enabled
[ 234.839] (WW) AMDGPU(0): Direct rendering disabled
[ 234.839] (II) AMDGPU(0): 2D and 3D acceleration disabled
[ 234.839] (==) AMDGPU(0): DPMS enabled
[ 234.839] (==) AMDGPU(0): Silken mouse enabled
[ 234.839] (II) AMDGPU(0): RandR 1.2 enabled, ignore the following RandR disabled message.
答案1
结果是 libegl-mesa0 没有安装,因此:
apt-get install libegl-mesa0
修复它。