LINUX.ORG.RU

История изменений

Исправление Khnazile, (текущая версия) :

Если кратко: в этом нельзя разобраться. Во всяком случае, простому человеку. Я вожусь с этими драйверами уже несколько лет, но до сих пор озарение меня не посетило.

Если длинно: перечисленные тобой компоненты просто разные сорта говна.

По компонентам:

Драйвер ядра amdgpu - условно, их 2 разновидности. Та, что в ходит в состав релизов на kernel.org, и вторая, поддерживаемая АМД которая входит в пакет драйверов, который условно называют AMDGPU-PRO.
Отличаются тем, что в верссии от АМД есть патчи, которые нельзя принять в апстрим из-за кривого кода, или просто потому, что они нужны только для работы проприетарных компонентов драйвера. Вроде как ограниченно совместимы.

libdrm - опять же, 2 версии. Апстим и с патчами от АМД. Вторая нужна для работы проприетарного OpenGL.
DDX-драйвер amdgpu - их тоже 2 версии, по аналогии с libdrm. Чем именно отличаются не знаю.

Драйвер opengl, libGL1.
Их два. Первый - проприетарный от AMD. Собран из старого кода fglrx. Медленный и глючный, но согласно слухам существуют некоторые секретные ынтерпрайзные программы, которые работают только с ним. Второй свободный, называется radeonsi и входит в состав Mesa. Работает быстро, официально поддерживается АМД. Зависит от libLLVM, по этому для сборки нужна свежая версия LLVM.

OpenCL
Тут драйверов целых 4, но я в них плохо разбираюсь.
Есть 2 проприетарных драйвера, один на основе старого кода от fglrx, второй вроде как написанный с нуля. Старый драйвер поддерживает только старые видеокарты, до GCN 1.2. Новый все, начиная с GCN 1.0.
Далее идет ROCm. Это целый свободный фреймворк для разработки, в состав которого и opencl-драйвер. Я не осилил установку этой фигни, т.к. мне не надо. Проприетарный opencl ставится копированием 4 файлов в нужные места, а ROCm это монстр на сотни мегабайт.
Еще есть свободный clover из Мезы, но про него лучше сразу забыть, т.к. оно не работает толком.

Vulkan
Опять же, сорта говна. RADV и RADV+ACO это одно и тоже, просто используются разные компиляторы шейдеров. Все находится в одном бинарнике, по этому переключаться между ними можно с помощью переменной окружения. Свободный драйвер, входит в Мезу.
AMDVLK - свободный драйвер от AMD. Когда-то давно они обещали сделать свободный драйвер, но пока обещали, разработчики из Valve написали RADV. Так что теперь непонятно, зачем нужен AMDVLK.
Дайвер из AMDGPU-PRO - проприетарная реализация, на основе общего кода с windows. Скорее всего, это старые наработки еще со времен Mantle Возможно, имеет какое-то отношение к AMDVLK, но сами разработчики говорят что нет.

Кроме всего этого, есть еще драйверы libva, но я в их сортах не разбирался, т.к. пользуюсь только свободными драйверами из Mesa, т.к. это проще, чем следить за зоопарком проприетарных компонентов.

Исходная версия Khnazile, :

Если кратко: в этом нельзя разобраться. Во всяком случае, простому человеку. Я вожусь с этими драйверами уже несколько лет, но до сих пор озарение меня не посетило.

Если длинно: перечисленные тобой компоненты просто разные сорта говна.
По компонентам:
Драйвер ядра amdgpu - условно, их 2 разновидности. Та, что в ходит в состав релизов на kernel.org, и вторая, поддерживаемая АМД которая входит в пакет драйверов, который условно называют AMDGPU-PRO. Отличаются тем, что в верссии от АМД есть патчи, которые нельзя принять в апстрим из-за кривого кода, или просто потому, что они нужны только для работы проприетарных компонентов драйвера. Вроде как ограниченно совместимы.
libdrm - опять же, 2 версии. Апстим и с патчами от АМД. Вторая нужна для работы проприетарного OpenGL.
DDX-драйвер amdgpu - их тоже 2 версии, по аналогии с libdrm. Чем именно отличаются не знаю.
Драйвер opengl, libGL1. Их два. Первый - проприетарный от AMD. Собран из старого кода fglrx. Медленный и глючный, но согласно слухам существуют некоторые секретные ынтерпрайзные программы, которые работают только с ним. Второй свободный, называется radeonsi и входит в состав Mesa. Работает быстро, официально поддерживается АМД. Зависит от libLLVM, по этому для сборки нужна свежая версия LLVM.
OpenCL. Тут драйверов целых 4, но я в них плохо разбираюсь.
Есть 2 проприетарных драйвера, один на основе старого кода от fglrx, второй вроде как написанный с нуля. Старый драйвер поддерживает только старые видеокарты, до GCN 1.2. Новый все, начиная с GCN 1.0. Далее идет ROCm. Это целый свободный фреймворк для разработки, в состав которого и opencl-драйвер. Я не осилил установку этой фигни, т.к. мне не надо. Проприетарный opencl ставится копированием 4 файлов в нужные места, а ROCm это монстр на сотни мегабайт. Еще есть свободный clover из Мезы, но про него лучше сразу забыть, т.к. оно не работает толком.
Vulkan
Опять же, сорта говна. RADV и RADV+ACO это одно и тоже, просто используются разные компиляторы шейдеров. Все находится в одном бинарнике, по этому переключаться между ними можно с помощью переменной окружения. Свободный драйвер, входит в Мезу.
AMDVLK - свободный драйвер от AMD. Когда-то давно они обещали сделать свободный драйвер, но пока обещали, разработчики из Valve написали RADV. Так что теперь непонятно, зачем нужен AMDVLK.
Дайвер из AMDGPU-PRO - проприетарная реализация, на основе общего кода с windows. Скорее всего, это старые наработки еще со времен Mantle Возможно, имеет какое-то отношение к AMDVLK, но сами разработчики говорят что нет.

Кроме всего этого, есть еще драйверы libva, но я в их сортах не разбирался, т.к. пользуюсь только свободными драйверами из Mesa, т.к. это проще, чем следить за зоопарком проприетарных компонентов.