Изменения

Блог:Виталий Филиппов/2021-06-09 Blender, OpenCL и Radeon ProRender

1188 байтов добавлено, 12:55, 8 июня 2021
м
Нет описания правки
Получилось завести под линуксом Blender на радеоне с OpenCL и Radeon ProRender.
За последние лет 10 пытался это сделать несколько раз, ни разу не получалось. OpenCL всегда был болью и страданием, и вообще возникает ощущение, что на него все положили с прибором, включая самих AMD. Я, правда, всё надеюсьна улучшения, т.к. монополизм нивидии не люблю по причине того, что они ставят палки в колёса разработчикам открытых драйверов.
Сейчас наконец получилось. Получилось на карточке Radeon RX 5500M ("Navi 14"). Увы, не через Mesa - ей для работы на новых радеонах не хватает реализации libclc - не хватает файла /​usr/lib/clc/gfx1012-amdgcn-mesa-mesa3d.bc и подобных.
Но, по крайней мере, получилось без полного перехода на закрытый драйвер, т.е. с использованием открытого модуля ядра.
Делается В общих чертах - достаточно скачать драйвер AMDGPU-Pro, извлечь пакеты и поставить всё, что относится к OpenCL, не ставя всё остальное. Для AMDGPU-Pro 20.40 это так:* Берём amdgpu-core, amdgpu-pro-core (пустые метапакеты)* opencl-amdgpu-pro-comgr* opencl-amdgpu-pro-icd* ocl-icd-libopencl1-amdgpu-pro Для AMDGPU-Pro 20.40. Именно 20.40. В 20.50это:* amdgpu-core, amdgpu-pro-core (пустые метапакеты)* opencl-rocr-amdgpu-pro* comgr-amdgpu-pro* hsa-runtime-rocr-amdgpu* hsakmt-runtime-rocr-amdgpu* ocl-icd-libopencl1-amdgpu-pro* opencl-rocr-amdgpu-pro* libdrm-amdgpu-amdgpu1, libdrm-amdgpu-common, libdrm2-amdgpu требуются позависимостям, но по факту не нужны, -видимомутеоретически можно поправить зависимости пакета hsakmt-runtime-rocr-amdgpu и эти пакеты не ставить* rocm-device-libs-amdgpu-pro, реализация OpenCL уже другаяllvm-amdgpu-pro-rocm, libllvm-amdgpu-pro-rocm - не уверен на 100%, что нужны, но поставил до кучи Ещё понадобилось сделать <tt>adduser свой_юзер render</tt>, чтобы был доступ к /dev/kmt.* Правда, есть плохая новость:
В общем, плохая новость: на Mesa OpenCL для новых карточек (Navi и подобных) не работает.