Como Instalar los Drivers Propietarios AMDGPU Radeon en RHEL 8 / Centos 8

Advertencia
Este artículo se actualizó por última vez el 2020-10-01, el contenido puede estar desactualizado.

Antes de comenzar, quería contarles que hay una promoción en DigitalOcean donde te dan un crédito de USD 100.00 durante 60 días para que puedas probar los servicios que este Proveedor Cloud ofrece. Lo único que tienes que hacer es suscribirte a DigitalOcean con el siguiente enlace: https://bit.ly/digitalocean-itsm


Para nadie es un secreto el calvario que pasamos los usuarios de Linux con las tarjetas gráficas de AMD, por el poco soporte (a.k.a interés) de las grandes empresas de productos gráficos de hacer drivers decentes y brindar soporte para este sistema operativo. Tuve algunos problemas para instalar mi editor de videos favorito DaVinci Resolve en CentOS que no reconocia el componente OpenCL, lo que me obligó a investigar el porqué.

El software Radeon de AMD soporta pocas distribuciones, entre las cuales están Ubuntu y RHEL, por lo que en el siguiente artículo te voy a mostrar como instalar los drivers privativos de AMDGPU en CentOS 8.


Según la página de AMD, están soportadas las siguientes tarjetas:

  • AMD Radeon™ RX 5700/5600/5500 Series Graphics

  • AMD Radeon™ Pro WX-series​

  • AMD Radeon™ VII Series Graphics​

  • AMD Radeon™ Pro WX 9100

  • AMD Radeon™ RX Vega Series Graphics​

  • AMD Radeon™ Pro WX 8200

  • AMD Radeon™ Vega Frontier Edition

  • ​AMD FirePro™ W9100

  • AMD Radeon™ RX 550/560/570/580/590 Series Graphics

  • AMD FirePro™ W8100

  • AMD Radeon™ RX 460/470/480 Graphics

  • AMD FirePro™ W7100

  • AMD Radeon™ Pro Duo

  • AMD FirePro™ W5100

  • AMD Radeon™ R9 Fury/Fury X/Nano Graphics

  • AMD FirePro™ W4300

  • AMD Radeon™ R9 380/380X/390/390X Graphics

  • AMD Radeon™ R9 285/290/290X Graphics

  • AMD Radeon™ R9 360 Graphics


Lo primero que debemos hacer, es instalar el Repositorio EPEL y el habilitar Repositorio PowerTools:

1
2
$ sudo dnf install epel-release
$ sudo dnf config-manager --enable PowerTools

Ahora instalamos los paquetes necesarios para que se pueda compilar el driver correctamente:

1
$ sudo dnf install -y gcc make kernel-headers-`uname -r` kernel-devel-`uname -r` kernel-modules-extra

Descargamos el driver desde la página:

https://www.amd.com/en/support/kb/release-notes/rn-amdgpu-unified-linux-20-20:

1
$ wget https://drivers.amd.com/drivers/linux/amdgpu-pro-20.20-1089974-rhel-8.2.tar.xz

Lo desempaquetamos:

1
$ tar xfJv https://drivers.amd.com/drivers/linux/amdgpu-pro-20.20-1089974-rhel-8.2.tar.xz

Y le cambiamos el nombre a la carpeta a amdgpu

1
$ mv amdgpu-pro-20.20-1089974-rhel-8.2 amdgpu

El instalador va a instalar (obvio) todos los paquetes necesarios para que los drivers funcionen. Vamos a crear un repositorio local el cual contendrá la carpeta donde se encuentran los archivos rpm.

Abrimos el editor de textos de su preferencia (yo usaré vim):

1
$ sudo vim /etc/yum.repos.d/amdgpu.repo

Y pegamos el siguiente contenido:

1
2
3
4
5
6
7
8
[amdgpu]
name=AMDGPU Packages
baseurl=file:///var/local/amdgpu/
enabled=1
skip_if_unavailable=1
gpgcheck=0
cost=500
metadata_expire=300

Donde baseurl=file:///var/local/amdgpu/ lo vamos a reemplazar por el directorio donde se encuentre ubicada la carpeta amdgpu.


Entramos a la carpeta amdgpu:

1
$ cd amdgpu

Ejecutamos el script de instalación:

1
$ sudo ./amdgpu-install

Va a tardar unos minutos en instalar y compilar el driver, una vez instalado, reiniciamos el sistema:

1
$ sudo systemctl reboot

Ya reiniciado el sistema, procedemos a instalar los componentes de OpenCL:

  • Si tenemos una tarjeta gráfica POLARIS o anterior (la mia es una RX560X):
1
$ sudo dnf install ibdrm-amdgpu libdrm-amdgpu-common clinfo-amdgpu-pro opencl-amdgpu-pro-comgr amdgpu-pro-core opencl-orca-amdgpu-pro-icd libopencl-amdgpu-pro
  • Si nuestra gráfica es VEGA o superior:
1
$ sudo dnf install libdrm-amdgpu libdrm-amdgpu-common clinfo-amdgpu-pro opencl-amdgpu-pro-comgr amdgpu-pro-core opencl-amdgpu-pro-icd libopencl-amdgpu-pro

Ya con esos pasos, tendremos instalados los drivers.

Espero les haya gustado este artículo, ¡hasta la próxima!



Si te pareció útil este artículo y el proyecto en general, considera brindarme un café :)

Buy me a coffeeBuy me a coffee