为什么 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 等)

对于后两个,请提交错误报告

相关内容