¿Por qué no funcionan los controladores de gráficos de AMD?

¿Por qué no funcionan los controladores de gráficos de AMD?

Tengo problemas para que los controladores de gráficos AMD propietarios funcionen en RHEL 6.9 con una tarjeta Radeon HD 8670.

Salida 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)

Si configuro export LIBGL_DEBUG=verbosey ejecuto glxgears, obtengo el siguiente resultado:

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.

Instalé los controladores propietarios de AMD desdeaquíy yum list installed | grep amdmuestra lo siguiente:

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 también se instala como se muestra en 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

El resultado anterior se obtuvo al iniciar sesión en el sistema de forma remota desde una PC con Windows que ejecuta X-Win32. En la consola del sistema, la pantalla de inicio de sesión GUI habitual no aparece en el TTY predeterminado. La pantalla habitual de inicio de sesión del terminal de solo texto se muestra cuando se cambia a uno de los otros TTY ( Ctrl + Alt + F2, etc.).

/var/log/Xorg.0.logtiene los siguientes mensajes que parecen ser relevantes para el 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 qué no funcionan los controladores de gráficos?

Respuesta1

El controlador propietario AMDGPU-PRO solo admite tarjetas nuevas (más o menos)., que no parece incluir su Radeon HD 8670.

Al controlador abierto le falta una biblioteca (obviamente). Las únicas dos soluciones que se me ocurren son:

  1. Reinstale el controlador y/o
  2. Descargue e instale todos los paquetes que puedan contener el archivo necesario

Personalmente empezaría con la opción 1.

Si ambos fallan, en orden de probabilidad:

  1. Su GPU no es compatible con ninguno de los controladores.
  2. Su instalación de RHEL no funciona
  3. RHEL en su conjunto está roto

Para el primero, considere cambiar su /etc/X11/xorg.conf para usar uno de los controladores radeon más antiguos (ati, radeohd, etc.)

Para los dos segundos, envíe un informe de error.

información relacionada