AMDGPU PRO (Русский)

Состояние перевода: На этой странице представлен перевод статьи AMDGPU PRO. Дата последней синхронизации: 1 июля 2025. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

В данной статье описывается работа с проприетарным драйвером для видеокарт AMD.

Совет: Большинству пользователей проприетарный драйвер не нужен.

Назначение проприетарных компонентов

AMD выпускает открытый драйвер через стандартные каналы распространения. Также они периодически выпускают набор Radeon Software for Linux, в который входят как открытые, так и проприетарные компоненты. Открытые компоненты оттуда не нужны, а проприетарные перепаковываются из последней ubuntu lts. Они доступны в AUR как amdgpu-pro-installer.

Комментарий Джона Бриджмена из AMD, объясняющий, почему они до сих пор делают проприетарный драйвер:

В настоящее время наши упакованные драйверы в основном предназначены для:
  • клиентов, использующих enterprise/LTS дистрибутивы, которые не поставляют самые свежие версии графических драйверов — для них мы предлагаем открытый и проприетарный варианты
  • клиентов, использующих приложения для рабочих станций, которым нужна дополнительная производительность/сертификация от драйвера, ориентированного на рабочие станции (хотя Марек за последний год проделал большую работу для улучшения производительности Mesa в приложениях для рабочих станций)
  • Третья целевая аудитория — клиенты, которым нужен готовый для использования OpenCL, либо для использования с упакованными открытыми/закрытыми драйверами, либо со стеком на основе свежего дистрибутива.

Существует несколько проприетарных компонентов: OpenGL, OpenCL, Vulkan и AMF. Иногда вы можете захотеть использовать эти компоненты из-за специфических особенностей, которых может не хватать в открытых компонентах.

AMDGPU PRO OpenGL — это проприетарный бинарный userspace-драйвер, работающий поверх открытого драйвера amdgpu. Из статьи Radeon Software 18.50 vs Mesa 19 benchmarks: Когда дело доходит до OpenGL-игр, драйвер RadeonSI Gallium3D просто доминирует над проприетарным драйвером AMD OpenGL. Пользователям видеокарт, отличных от Radeon Pro, рекомендуется использовать графический стек amdgpu. Проприетарный драйвер в основном используется ради профилей совместимости, на которые опираются некоторые программы и которых нет в открытом драйвере. Подробнее в gentoo wiki по ссылке ниже.

AMDGPU PRO Vulkan — обязательная зависимость для AMF.

AMDGPU PRO OpenCL — используется, поскольку реализация Mesa OpenCL ещё не полностью завершена. Проприетарный компонент только для видеокарт Polaris. В более новых видеокартах используется открытый ROCm OpenCL.

AMDGPU AMF — используется для кодирования/декодирования мультимедиа на видеокарте.

Установка

Для установки проприетарных компонентов есть amdgpu-pro-installer на AUR, который предоставляет следующие пакеты:

  • amdgpu-pro-oglpAUR: проприетарная реализация OpenGL;
  • lib32-amdgpu-pro-oglpAUR: проприетарная реализация OpenGL для 32-битных приложений;
  • vulkan-amdgpu-proAUR: проприетарная реализация Vulkan;
  • lib32-vulkan-amdgpu-proAUR: проприетарная реализация Vulkan для 32-битных приложений;
  • amf-amdgpu-proAUR: реализация Advanced Media Framework.
Примечание: OGLP не является оптимизацией производительности OpenGL, это совершенно новая кодовая база драйверов GL, написанная с нуля, основанная на архитектуре PAL. В версии > 22.20.5 она заменяет libgl.

Доступные реализации OpenCL описаны в разделе GPGPU (Русский)#AMD/ATI.

Использование

Использование проприетарного OpenGL

Запустите нужное приложение через команду progl:

$ progl glmark2

Проверка используемого драйвера

Выполните команду:

$ glxinfo | grep "OpenGL vendor string" | cut -f2 -d":" | xargs

Если она выведет AMD, значит работает открытый драйвер. Если она выведет Advanced Micro Devices, Inc. или ATI Technologies Inc., значит работает проприетарный драйвер.

Также можно использовать glmark2. При использовании открытого драйвера вы увидите:

   GL_VENDOR:     AMD
   GL_RENDERER:   Radeon RX 580 Series (POLARIS10, DRM 3.40.0, 5.10.7-arch1-1, LLVM 11.0.1)
   GL_VERSION:    4.6 (Compatibility Profile) Mesa 20.3.3

А при использовании закрытого драйвера вы увидите:

   GL_VENDOR:     ATI Technologies Inc.
   GL_RENDERER:   Radeon RX 580 Series
   GL_VERSION:    4.6.14756 Compatibility Profile Context

Использование проприетарного Vulkan

Запустите нужное приложение через команду vk_pro:

$ vk_pro vkmark

Подробнее в разделе Vulkan (Русский)#Выбор с помощью AMD Vulkan Prefixes.

Использование Advanced Multimedia Framework

Смотрите раздел FFmpeg#AMD AMF.

Решение проблем

Гибридная графика Intel + AMD

Для пользователей гибридных систем с графикой Intel и AMD использование проприетарного драйвера AMDGPU Pro Workstation Driver может работать не так, как ожидалось, из-за различий в реализации MESA.

Симптом следующий: при загрузке машины появляется чёрный экран, но курсор мыши при этом движется нормально.

К сожалению, Reverse PRIME не является решением. Смотрите ответ разработчиков.

Удаление пакетов

Если у вас возникли проблемы, например, вы не можете войти в систему из-за чёрного экрана, вы можете вернуть всё назад, удалив все пакеты, связанные с AMDGPU PRO.

Войдите в виртуальную консоль (например, нажатием Ctrl+Alt+F2), выполните команду:

# pacman -R $(pacman -Qg Radeon_Software_for_Linux | cut -f2 -d" ")

и перезагрузитесь.

GPU Southern Islands (SI) или Sea Islands (CIK)

Если при использовании графики Southern Islands (SI) или Sea Islands (CIK) команда clinfo выдаёт:

amdgpu_device_initialize: DRM version is 2.50.0 but this driver is only compatible with 3.x.x.

Убедитесь, что вы используете драйвер amdgpu, а не radeon.

Проверить используемый драйвер можно командой:

$ lspci -k
03:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Opal XT [Radeon R7 M265/M365X/M465]
        Subsystem: Acer Incorporated [ALI] Aspire V5 Radeon R7 M265
        Kernel driver in use: radeon
        Kernel modules: radeon, amdgpu

Подробнее в разделе AMDGPU (Русский)#Включение поддержки Southern Islands (SI) и Sea Islands (CIK).

Прошивка и драйверы AMD

Драйверы и прошивка AMD (особенно последние прошивки) могут оказаться рассинхронизированы и создавать проблемы или не работать вообще. В журнале поищите VCN:

system VCN FW Encode interface version=1.9, expected version=1.8

Откат пакета прошивок может решить проблему.

Совет: По состоянию на 2024-01-29 linux-firmware-gitAUR версии 20240126.8fa621d2-1 работает с драйвером 23.40 (6.0.1).

Смотрите также