我在使用 Radeon HD 8670 卡让专有 AMD 显卡驱动程序在 RHEL 6.9 上运行时遇到问题。
输出来自lspci | grep -i VGA
:
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06)
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Oland XT [Radeon HD 8670 / R7 250/350] (rev 83)
如果我设置export LIBGL_DEBUG=verbose
并运行glxgears
,我会得到以下输出:
libGL: DRI3 is disabled, try running in DRI2 mode. xorg version is 0
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
libGL: dlopen /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so failed (/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so: cannot open shared object file: No such file or directory)
libGL: OpenDriver: trying /usr/X11R6/lib64/modules/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/X11R6/lib64/modules/dri/swrast_dri.so
libGL: dlopen /usr/X11R6/lib64/modules/dri/swrast_dri.so failed (/usr/X11R6/lib64/modules/dri/swrast_dri.so: cannot open shared object file: No such file or directory)
libGL: OpenDriver: trying /usr/lib64/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib64/dri/swrast_dri.so
libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/swrast_dri.so
libGL: dlopen /usr/X11R6/lib/modules/dri/swrast_dri.so failed (/usr/X11R6/lib/modules/dri/swrast_dri.so: cannot open shared object file: No such file or directory)
libGL: OpenDriver: trying /usr/lib/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/dri/swrast_dri.so
libGL: dlopen /usr/lib/dri/swrast_dri.so failed (/usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory)
libGL: OpenDriver: trying /usr/X11R6/lib32/modules/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/X11R6/lib32/modules/dri/swrast_dri.so
libGL: dlopen /usr/X11R6/lib32/modules/dri/swrast_dri.so failed (/usr/X11R6/lib32/modules/dri/swrast_dri.so: cannot open shared object file: No such file or directory)
libGL: OpenDriver: trying /usr/lib32/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib32/dri/swrast_dri.so
libGL: dlopen /usr/lib32/dri/swrast_dri.so failed (/usr/lib32/dri/swrast_dri.so: cannot open shared object file: No such file or directory)
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
XIO: fatal IO error 11 (Resource temporarily unavailable) on X server "localhost:10.0"
after 25161 requests (38 known processed) with 0 events remaining.
我安装了专有的 AMD 驱动程序这里并yum list installed | grep amd
显示以下内容:
amdgpu-pro.x86_64 17.10-414273.el6 @amdgpu-pro-local
amdgpu-pro-dkms.noarch 17.10-414273.el6 @amdgpu-pro-local
amdgpu-pro-lib32.x86_64 17.10-414273.el6 @amdgpu-pro-local
glamor-egl-amdgpu-pro.x86_64 1.18.3-414273.el6 @amdgpu-pro-local
libdrm-amdgpu-pro.i686 1:2.4.70-414273.el6 @amdgpu-pro-local
libdrm-amdgpu-pro.x86_64 1:2.4.70-414273.el6 @amdgpu-pro-local
libegl-amdgpu-pro.i686 17.10-414273.el6 @amdgpu-pro-local
libegl-amdgpu-pro.x86_64 17.10-414273.el6 @amdgpu-pro-local
libgbm-amdgpu-pro.i686 17.10-414273.el6 @amdgpu-pro-local
libgbm-amdgpu-pro.x86_64 17.10-414273.el6 @amdgpu-pro-local
libgbm-amdgpu-pro-base.noarch 17.10-414273.el6 @amdgpu-pro-local
libgl-amdgpu-pro.i686 17.10-414273.el6 @amdgpu-pro-local
libgl-amdgpu-pro.x86_64 17.10-414273.el6 @amdgpu-pro-local
libgl-amdgpu-pro-appprofiles.x86_64
17.10-414273.el6 @amdgpu-pro-local
libgl-amdgpu-pro-dri.i686 17.10-414273.el6 @amdgpu-pro-local
libgl-amdgpu-pro-dri.x86_64 17.10-414273.el6 @amdgpu-pro-local
libgl-amdgpu-pro-ext.x86_64 17.10-414273.el6 @amdgpu-pro-local
libgles-amdgpu-pro.i686 17.10-414273.el6 @amdgpu-pro-local
libgles-amdgpu-pro.x86_64 17.10-414273.el6 @amdgpu-pro-local
libopencl-amdgpu-pro.i686 17.10-414273.el6 @amdgpu-pro-local
libopencl-amdgpu-pro.x86_64 17.10-414273.el6 @amdgpu-pro-local
libopencl-amdgpu-pro-clinfo.x86_64 17.10-414273.el6 @amdgpu-pro-local
libopencl-amdgpu-pro-icd.i686 17.10-414273.el6 @amdgpu-pro-local
libopencl-amdgpu-pro-icd.x86_64 17.10-414273.el6 @amdgpu-pro-local
xorg-x11-drv-amdgpu-pro.x86_64 1:1.2.99-414273.el6 @amdgpu-pro-local
MESA 也已安装,如下所示yum list installed | grep mesa
:
mesa-dri-drivers.x86_64 11.0.7-4.el6 @anaconda-RedHatEnterpriseLinux-201604140956.x86_64/6.8
mesa-dri-filesystem.x86_64 11.0.7-4.el6 @anaconda-RedHatEnterpriseLinux-201604140956.x86_64/6.8
mesa-dri1-drivers.x86_64 7.11-8.el6 @anaconda-RedHatEnterpriseLinux-201604140956.x86_64/6.8
mesa-libEGL.x86_64 11.0.7-4.el6 @anaconda-RedHatEnterpriseLinux-201604140956.x86_64/6.8
mesa-libGL.x86_64 11.0.7-4.el6 @anaconda-RedHatEnterpriseLinux-201604140956.x86_64/6.8
mesa-libGL-devel.x86_64 11.0.7-4.el6 @anaconda-RedHatEnterpriseLinux-201604140956.x86_64/6.8
mesa-libGLU.x86_64 11.0.7-4.el6 @anaconda-RedHatEnterpriseLinux-201604140956.x86_64/6.8
mesa-libGLU-devel.x86_64 11.0.7-4.el6 @anaconda-RedHatEnterpriseLinux-201604140956.x86_64/6.8
mesa-libGLw.x86_64 6.5.1-10.el6 @anaconda-RedHatEnterpriseLinux-201604140956.x86_64/6.8
mesa-libGLw-devel.x86_64 6.5.1-10.el6 @anaconda-RedHatEnterpriseLinux-201604140956.x86_64/6.8
mesa-libgbm.x86_64 11.0.7-4.el6 @anaconda-RedHatEnterpriseLinux-201604140956.x86_64/6.8
mesa-libxatracker.x86_64 11.0.7-4.el6 @anaconda-RedHatEnterpriseLinux-201604140956.x86_64/6.8
mesa-private-llvm.x86_64 3.6.2-1.el6 @anaconda-RedHatEnterpriseLinux-201604140956.x86_64/6.8
上述输出是从运行 X-Win32 的 Windows PC 远程登录系统时获得的。在系统控制台上,通常的 GUI 登录屏幕不会出现在默认 TTY 上。当切换到其他 TTY 之一(Ctrl + Alt + F2
等)时,会显示通常的纯文本终端登录屏幕。
/var/log/Xorg.0.log
有以下似乎与该问题相关的消息:
[ 77.343] (II) LoadModule: "glx"
[ 77.359] (II) Loading /opt/amdgpu-pro/lib64/xorg/modules/extensions/libglx.so
[ 77.648] (II) Module glx: vendor="X.Org Foundation"
[ 77.648] compiled for 1.17.0, module version = 1.0.0
[ 77.648] ABI class: X.Org Server Extension, version 9.0
[ 77.648] (==) AIGLX enabled
[ 77.648] (II) LoadModule: "amdgpu"
[ 77.648] (II) Loading /opt/amdgpu-pro/lib64/xorg/modules/drivers/amdgpu_drv.so
[ 77.684] (II) Module amdgpu: vendor="X.Org Foundation"
[ 77.684] compiled for 1.17.4, module version = 1.2.99
[ 77.684] Module class: X.Org Video Driver
[ 77.684] ABI class: X.Org Video Driver, version 19.0
[ 77.684] (II) AMDGPU: Driver for AMD Radeon:
All GPUs supported by the amdgpu kernel driver
[ 77.684] (++) using VT number 1
[ 77.692] (II) [KMS] Kernel modesetting enabled.
[ 77.692] (II) AMDGPU(0): ShareFD: disabled
[ 77.692] (DB) AMDGPU(0): open fd=8
[ 77.693] (EE) AMDGPU(0): amdgpu_device_initialize failed
[ 77.693] (EE)
[ 77.693] (EE) Backtrace:
[ 77.726] (EE) 0: /usr/bin/Xorg (xorg_backtrace+0x51) [0x7f3ddb8b8a91]
[ 77.726] (EE) 1: /usr/bin/Xorg (0x7f3ddb6eb000+0x1d2109) [0x7f3ddb8bd109]
[ 77.726] (EE) 2: /lib64/libpthread.so.0 (0x7f3ddae5a000+0xf7e0) [0x7f3ddae697e0]
[ 77.726] (EE) 3: /opt/amdgpu-pro/lib64/xorg/modules/drivers/amdgpu_drv.so (0x7f3dd5ae4000+0xd172) [0x7f3dd5af1172]
[ 77.726] (EE) 4: /opt/amdgpu-pro/lib64/xorg/modules/drivers/amdgpu_drv.so (0x7f3dd5ae4000+0x7d78) [0x7f3dd5aebd78]
[ 77.726] (EE) 5: /opt/amdgpu-pro/lib64/xorg/modules/drivers/amdgpu_drv.so (0x7f3dd5ae4000+0x8112) [0x7f3dd5aec112]
[ 77.726] (EE) 6: /usr/bin/Xorg (0x7f3ddb6eb000+0xbc0da) [0x7f3ddb7a70da]
[ 77.726] (EE) 7: /usr/bin/Xorg (xf86CallDriverProbe+0x84) [0x7f3ddb77d7a4]
[ 77.726] (EE) 8: /usr/bin/Xorg (xf86BusConfig+0x46) [0x7f3ddb77d836]
[ 77.726] (EE) 9: /usr/bin/Xorg (InitOutput+0x8de) [0x7f3ddb78b93e]
[ 77.726] (EE) 10: /usr/bin/Xorg (0x7f3ddb6eb000+0x5d595) [0x7f3ddb748595]
[ 77.726] (EE) 11: /lib64/libc.so.6 (__libc_start_main+0xfd) [0x7f3dd8916d1d]
[ 77.726] (EE) 12: /usr/bin/Xorg (0x7f3ddb6eb000+0x47741) [0x7f3ddb732741]
[ 77.726] (EE)
[ 77.726] (EE) Segmentation fault at address 0x0
[ 77.726] (EE)
Fatal server error:
[ 77.726] (EE) Caught signal 11 (Segmentation fault). Server aborting
为什么显卡驱动程序不工作?
答案1
专有的 AMDGPU-PRO 驱动程序仅支持新卡,其中似乎不包括您的 Radeon HD 8670。
打开的驱动程序缺少库(显然)。我能想到的唯一两个解决方案是:
- 重新安装驱动程序,和/或
- 下载并安装可能包含必要文件的所有软件包
就我个人而言,我会从选项 1 开始。
如果这两项都失败了,按照可能性的顺序:
- 这两个驱动程序完全不支持您的 GPU
- 您的 RHEL 安装已损坏
- RHEL 整体已损坏
对于第一个,请查看更改 /etc/X11/xorg.conf 以使用较旧的 radeon 驱动程序之一(ati、radeohd 等)
对于后两个,请提交错误报告