Приобрёл для экспериментов майнер-видеокарту XFX BC-160 8 GB (она же AMD Radeon Pro V520) NAVI12. Цель была использовать её в связке через MULTIGPU встроенной в процессор VEGA. А так же возможность использовать OpenCL через ROCm.
И так - что сразу пошло не так. При загрузке модуля ядра amdgpu она начинает работать и в общем всё хорошо - в системе всё видно, объём памяти, датчики и т.д. Но как только идёт обращение приложения через DRI_PRIME=1 к видеопроцессору, то ядро выдаёт ошибки и приложение «крашится». Пробовал множество параметров ядра найденных в интернете. Так же перебирал различные доступные прошивки bios как от XFX, так и от AMD. Так же пробовал ставить amdgpu-pro драйвер с сайта AMD. Испробованные ядра - от 6.14.X - до 7.0.X Результат отрицательный.
Пару раз, всё же система запустилась без ошибок и даже удалось прогнать Unigine Superposition и Metro Exodus через Proton. Производительность очень приятно удивила. Но 90% случаях инициализация карты заканчивается на этом:
мая 07 23:20:42 pc kernel: amdgpu 0000:03:00.0: [drm] *ERROR* IB test timed out
мая 07 23:20:42 pc kernel: amdgpu 0000:03:00.0: [drm:amdgpu_ib_ring_tests [amdgpu]] *ERROR* IB test failed on sdma0 (-110).
мая 07 23:20:43 pc kernel: amdgpu 0000:03:00.0: [drm] *ERROR* IB test timed out
мая 07 23:20:43 pc kernel: amdgpu 0000:03:00.0: [drm:amdgpu_ib_ring_tests [amdgpu]] *ERROR* IB test failed on sdma1 (-110).
мая 07 23:20:43 pc kernel: amdgpu 0000:03:00.0: ib ring test failed (-110).
мая 07 23:20:43 pc kernel: BUG: kernel NULL pointer dereference, address: 0000000000000000
мая 07 23:20:43 pc kernel: #PF: supervisor read access in kernel mode
мая 07 23:20:43 pc kernel: #PF: error_code(0x0000) — not-present page
мая 07 23:20:43 pc kernel: BUG: kernel NULL pointer dereference, address: 0000000000000000
мая 07 23:20:43 pc kernel: #PF: supervisor read access in kernel mode
мая 07 23:20:43 pc kernel: #PF: error_code(0x0000) — not-present page
В системе присутствуют firmware от данного чипа NAVI12, в том числе отвечающие за технологию SDMA (System DMA в драйвере amdgpu — это многоцелевой движок прямого доступа к памяти, предназначенный для эффективного копирования данных между системной памятью (RAM) и видеопамятью (VRAM). Он оптимизирован для высокой пропускной способности (например, PCIe 4.0 x16, до 32 ГБ/с), разгружая центральный процессор и графические ядра при работе с памятью.):
[user@pc ~]$ ls /lib/firmware/amdgpu/ | grep navi12
navi12_asd.bin.xz
navi12_ce.bin.xz
navi12_dmcu.bin.xz
navi12_gpu_info.bin.xz
navi12_me.bin.xz
navi12_mec2.bin.xz
navi12_mec.bin.xz
navi12_pfp.bin.xz
navi12_rlc.bin.xz
navi12_sdma1.bin.xz
navi12_sdma.bin.xz
navi12_smc.bin.xz
navi12_sos.bin.xz
navi12_ta.bin.xz
navi12_vcn.bin.xz
Если есть у кого опыт использования данных «видеокарт» в быту, прошу поделится )
