我在使用 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 等)
對於後兩個,請提交錯誤報告