Por que os drivers gráficos da AMD não funcionam?

Por que os drivers gráficos da AMD não funcionam?

Estou tendo problemas para fazer com que os drivers gráficos proprietários da AMD funcionem no RHEL 6.9 com uma placa Radeon HD 8670.

Saída de 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)

Se eu definir export LIBGL_DEBUG=verbosee executar glxgears, recebo a seguinte saída:

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.

Eu instalei os drivers proprietários da AMD deaquie yum list installed | grep amdmostra o seguinte:

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 também é instalado conforme mostrado por 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

A saída acima foi obtida enquanto você estava conectado remotamente ao sistema a partir de um PC com Windows executando o X-Win32. No console do sistema, a tela de login da GUI normal não aparece no TTY padrão. A tela usual de login do terminal somente texto é exibida quando você alterna para um dos outros TTYs ( Ctrl + Alt + F2, etc.).

/var/log/Xorg.0.logtem as seguintes mensagens que parecem ser relevantes para o problema:

[    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

Por que os drivers gráficos não estão funcionando?

Responder1

O driver proprietário AMDGPU-PRO suporta apenas placas novas (ish), que parece não incluir sua Radeon HD 8670.

O driver aberto está faltando uma biblioteca (obviamente). As únicas duas soluções que consigo pensar são:

  1. Reinstale o driver e/ou
  2. Baixe e instale todos os pacotes que possam conter o arquivo necessário

Pessoalmente, eu começaria com a opção 1.

Se ambos falharem, em ordem de probabilidade:

  1. Sua GPU não é totalmente compatível com nenhum dos drivers
  2. Sua instalação do RHEL está quebrada
  3. RHEL como um todo está quebrado

Para o primeiro, veja como alterar seu /etc/X11/xorg.conf para usar um dos drivers radeon mais antigos (ati, radeohd, etc)

Para os dois segundos, envie um relatório de bug

informação relacionada