為什麼 AMD 的顯示卡驅動程式不工作?

為什麼 AMD 的顯示卡驅動程式不工作?

我在使用 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. 重新安裝驅動程序,和/或
  2. 下載並安裝可能包含必要文件的所有軟體包

就我個人而言,我會從選項 1 開始。

如果這兩項都失敗了,按照可能性的順序:

  1. 這兩個驅動程式完全不支援您的 GPU
  2. 您的 RHEL 安裝已損壞
  3. RHEL 整體已損壞

對於第一個,請查看更改 /etc/X11/xorg.conf 以使用較舊的 radeon 驅動程式之一(ati、radeohd 等)

對於後兩個,請提交錯誤報告

相關內容