
Как установить драйвера для видеокарт AMD в Ubuntu 22.04 LTS
В операционных системах типа ubuntu (релизы 20.04, 18.04, 16.04) поддержка OpenCl для видеокарт AMD успешно обеспечивается путем установки штатных драйверов (унифицированный пакет amdgpu).
Последние версии драйверов AMD для debian-подобных систем, включая (x)ubuntu 22.04, устанавливаются с помощью deb-пакета, например, amdgpu-install_22.20.50200-1_all.deb:
Согласно официальной инструкции, для инсталляции драйверов нужно выполнить команды:
sudo apt-get install ./amdgpu-install-VERSION.deb
sudo apt-get update
Затем нужно произвести установку драйвера в требуемой конфигурации, используя консольные команды, например:
sudo amdgpu-install -y --accept-eula --usecase=opencl --opencl=rocr,legacy
К сожалению, стандартный способ установки драйверов, рекомендуемый компанией AMD для ubuntu 22.04, работает не всегда. Это связано с плохой совместимостью драйверов с новыми ядрами Linux (в частности, с версией 5.15).
В подобных системах, несмотря на выполнение рекомендуемых команд, видеокарты не определяются, поддержка OpenCL не появляется, а сам процесс установки зачастую завершается с ошибками, например:
dpkg: error processing package amdgpu-pro-pin (--configure):
installed amdgpu-pro-pin package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
amdgpu-pro-pin
E: Sub-process /usr/bin/dpkg returned an error code (1)
Вывод информации о доступных OpenCL-устройствах согласно clinfo в системе с некорректно установленными драйверами:
На изображении выше видно, что число доступных OpenCL-устройств равно нулю (Number of devices: 0), несмотря на то, что на компьютере установлено пять видеокарт AMD. В этом можно убедиться, выполнив команду:
lspci | grep -E "VGA|3D"
которая показывает информацию об имеющихся GPU, подобную этой:
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 630 (rev 04)02:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] (rev e7)
Как корректно установить драйвера AMD в (x)ubuntu 22.04 LTS?
Чтобы инсталлировать драйвера AMD в (x)ubuntu 22.04 LTS нужно либо откатить версию ядра до совместимого релиза (подробнее об этом в статье Шпаргалка по установке драйвера видекарт AMD на ubuntu), либо вручную установить необходимые библиотеки, а затем инсталлировать пакет с драйверами.
Узнать текущую версию ядра Linux можно командой uname с ключом -a, например:
uname -a
в системе с установленными обновлениями (30.11.2022) выдает слеудующую информацию:
Linux intel32-H110-D3A 5.15.0-53-generic #59-Ubuntu SMP Mon Oct 17 18:53:30 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
По состоянию на конец ноября 2022 года с драйверами AMD в (x)ubuntu 22.04 LTS корректно работают ядра версии 5.14.
Для установки драйвера AMD нужно откатиться/установить это ядро и затем установить драйвер согласно стандартной процедуре.
Подобрать/поменять версию ядра Ubuntu можно с помощью утилиты Mainline Kernel Installer.
Как инсталлировать драйвера AMD в (x)ubuntu 22.04 LTS на последнюю версию ядра?
Для корректной установки драйверов AMD в (x)ubuntu 22.04 LTS даже на последнюю версию ядра (на момент написания статьи, 5.15.0-53) нужно предварительно установить следующие пакеты командами:
sudo apt update && sudo apt -y upgrade && sudo apt -y dist-upgrade && sudo apt -y autoremove
sudo apt-get install wget gnupg2 rocminfo rocm-device-libs libncurses5 libnuma-dev libhsa-runtime64-1 libhsakmt1 amdgpu-core
После этого скачивают и устанавливают официальный deb-пакет с драйверами AMD.
Для версии 22.20.50200-1 это делается командой:
sudo apt install '/home/intel32/Downloads/amdgpu-install_22.20.50200-1_all.deb'
Затем можно производить установку драйверов по стандартной процедуре:
sudo apt update && sudo apt -y upgrade && sudo apt -y dist-upgrade && sudo apt -y autoremove
sudo amdgpu-install -y --accept-eula --usecase=opencl --opencl=rocr,legacy
sudo usermod -a -G render $LOGNAME
sudo usermod -a -G video $LOGNAME
После этого все видеокарты AMD в (x)ubuntu 22.04 LTS успешно определяются,
на них можно запускать майнинг.
P.S. Указанный в стьтье способ установки драйверов работает не всегда. Более надежно использовать откат/установку на совместимую версию ядра (подробнее в статье Шпаргалка по установке драйвера видекарт AMD на ubuntu)

