Дано:
Видеокарта Radeon RX 460 с драйвером amdgpu;
Mesa, у которой OpenCL версии 1.1;
Fedora 26;
До этого в Manjaro просто из AUR ставился соответствующий пакет и всё работало замечательно. До перехода на федору нашел вот этот вот пост. Сделал точно так же, сначала просто стала невидимой видеокарта для clinfo, теперь:
[ozzee@localhost] $ LD_LIBRARY_PATH=/opt/amdgpu-pro/lib64/ clinfo
DRM_IOCTL_I915_GEM_APERTURE failed: Invalid argument
Assuming 131072kB available aperture size.
May lead to reduced performance or incorrect rendering.
get chip id failed: -1 [2]
param: 4, val: 0
Segmentation fault (стек памяти сброшен на диск)
При том, что путь верный. Далее, попробовал поставить просто три пакета, связанных с OpenCL (все пакеты были выкачаны с офсайта амд). Ранее были проблемы с зависимостиями, сейчас они поставились, но эффекта никакого - только меса. Попробовал удалить пакеты месовского OpenCL и ocl-icd от месы же, снесся вайн, и
[ozzee@localhost] $ clinfo
clinfo: error while loading shared libraries: libOpenCL.so.1: cannot open shared object file: No such file or directory
Пока вернул пакеты на место.
Есть ли способ воткнуть проприетарный OpenCL? А то блендер не умеет в 1.1, а мне комнату хочется порендерить...
-------------------------------
Решилось. Вот инструкция: Качаем с офсайта AMD драйверы под свою видеокарту для CentOS/RHEL. Далее, открываем пакеты с помощью архиватора и ищем папки lib64 и в них такие файлы:
libamdocl12cl64.so
libamdocl64.so
Их копируем в /usr/lib64, предварительно сделав резервные копии libOpenCL*, так как они будут заменяться как оказалось, libOpenCL* заменять не надо, замена этих библиотек (возможно) приводила к зависанию видеокарты, а amdgpu валил ошибками.
Далее ищем файл amdocl64.icd и кладем его в /etc/OpenCL/vendors, а mesa.icd переименовываем к примеру в mesa.bak (он в этом же каталоге). Теперь clinfo должен показывать что-то вроде этого:
Platform Name AMD Accelerated Parallel Processing
Number of devices 1
Device Name Baffin
Device Vendor Advanced Micro Devices, Inc.
Device Vendor ID 0x1002
Device Version OpenCL 1.2 AMD-APP (2442.7)
Driver Version 2442.7
Device OpenCL C Version OpenCL C 1.2
Device Type GPU
Device Available Yes
Device Profile FULL_PROFILE
Device Board Name (AMD) AMD Radeon (TM) RX 460 Graphics
Работоспособность проверена в блендере.