I quickly hacked together a PKGBUILD for hip-runtime-amd-5.1.0 and got Blender to enable HIP support on my 5700XT. But when I try to actually render anything with GPU compute enabled, Blender either crashes immediately or just hangs with the GPU at 100% load. If I try to use the Cycles viewport with GPU compute enabled, it seems to draw one frame, then Blender freezes.
Those are the last couple of lines before Blender locks up (with AMD_LOG_LEVEL=4):
:3:rocvirtual.cpp :2738: 6857117724 us: 23934: [tid:0x7f55f45b9640] ShaderName : kernel_gpu_integrator_shade_surface :4:rocvirtual.cpp :827 : 6857117728 us: 23934: [tid:0x7f55f45b9640] HWq=0x7f57301d0000, Dispatch Header = 0x302 (type=2, barrier=1, acquire=1, release=0), setup=3, grid=[176128, 1, 1], workgroup=[1024, 1, 1], private_seg_size=8080, group_seg_size=0, kernel_obj=0x7f55f240d040, kernarg_address=0x7f5730080180, completion_signal=0x0 :3:hip_module.cpp :427 : 6857117732 us: 23934: [tid:0x7f55f45b9640] hipModuleLaunchKernel: Returned hipSuccess : :3:hip_context.cpp :236 : 6857117735 us: 23934: [tid:0x7f55f45b9640] hipCtxPopCurrent ( char array:<null> ) :3:hip_context.cpp :249 : 6857117738 us: 23934: [tid:0x7f55f45b9640] hipCtxPopCurrent: Returned hipSuccess : :3:hip_context.cpp :253 : 6857117742 us: 23934: [tid:0x7f55f45b9640] hipCtxPushCurrent ( context:0x7f5,726,4d5,000 ) :3:hip_context.cpp :263 : 6857117744 us: 23934: [tid:0x7f55f45b9640] hipCtxPushCurrent: Returned hipSuccess : :3:hip_memory.cpp :1186: 6857117750 us: 23934: [tid:0x7f55f45b9640] hipMemcpyDtoHAsync ( 0x7f5,719,071,c30, 0x7f5,700,222,000, 4, stream:0x7f5,710,714,900 ) :4:command.cpp :339 : 6857117753 us: 23934: [tid:0x7f55f45b9640] command is enqueued: 0x7f5719021900 :4:rocvirtual.cpp :969 : 6857117758 us: 23934: [tid:0x7f55f45b9640] HWq=0x7f57301d0000, BarrierAND Header = 0x1503 (type=3, barrier=1, acquire=2, release=2), dep_signal=[0x0, 0x0, 0x0, 0x0, 0x0], completion_signal=0x7f573016da00 :4:rocvirtual.cpp :524 : 6857117761 us: 23934: [tid:0x7f55f45b9640] Host wait on completion_signal=0x7f573016da00 :3:rocvirtual.hpp :61 : 6857117764 us: 23934: [tid:0x7f55f45b9640] Host active wait for Signal = (0x7f573016da00) for -1 ns
Here’s what the viewport render looks like when Blender freezes. It seems to start, so something appears to be working: