在 openSUSE Tumbleweed 上启用 AMDGPU-PRO OpenCL

简述

为了在让 Darktable 和 BOINC 用上我的 AMD Radeon RX 5700 XT,花了一天时间查怎么才能直接在 openSUSE Tumbleweed 上用上 OpenCL

装了 Mesa-libOpenCL,执行了下 clinfo 报了:

1
fatal error: cannot open file '/usr/lib/clc/gfx1010-amdgcn-mesa-mesa3d.bc': No such file or directory

查了好久没解决方案,感觉可能不影响啥,看了眼 /usr/lib/clc/ 下面都是软链接,照猫画虎链接了三个。这下不报了,但是 darktable-cltest 报没有 Image,BOINC 下发的任务直接出错了。思来想去觉得是 Mesa-libOpenCL 没搞好实现。放弃,删掉了三个软链接和 Mesa-libOpenCL 清理环境。

继续查,找到了 ROCm,看了主页截至目前硬件支持只到 GFX9 GPUs,我这个 Radeon RX 5700 XT 是 GFX10。这个也行不通,那只能考虑看看能不能魔改 AMDGPU-PRO 了,于是有了这个教程。

前提条件

启用方法

二话不说先下载嘛,链接在上面。下载完了解压:

1
2
tar xzvf amdgpu-pro-19.50-967960-sle-15.tar.xz
cd amdgpu-pro-19.50-967960-sle-15

安装时候其实很简单,直接:

1
sudo zypper --no-refresh in --allow-unsigned-rpm ./RPMS/noarch/amdgpu-pro-core-* ./RPMS/x86_64/clinfo-amdgpu-pro-* ./RPMS/x86_64/libopencl-amdgpu-pro-* ./RPMS/x86_64/opencl-amdgpu-pro-* ./RPMS/x86_64/opencl-orca-amdgpu-pro-icd-*

这里需要忽略所有的依赖项目(选项 2),共安装了八个包:

1
2
3
The following 8 NEW packages are going to be installed:
amdgpu-pro-core clinfo-amdgpu-pro libopencl-amdgpu-pro opencl-amdgpu-pro opencl-amdgpu-pro-comgr
opencl-amdgpu-pro-devel opencl-amdgpu-pro-icd opencl-orca-amdgpu-pro-icd

安装完成后就可以验证结果了,若之后有卸载的需求直接执行:

1
sudo zypper rm amdgpu-pro-core clinfo-amdgpu-pro libopencl-amdgpu-pro opencl-amdgpu-pro opencl-amdgpu-pro-comgr opencl-amdgpu-pro-devel opencl-amdgpu-pro-icd opencl-orca-amdgpu-pro-icd

验证

现在跑 /opt/amdgpu-pro/bin/clinfodarktable-cltest 就没问题了,BOINC 需要将用户 boinc 加入 video 用户组(usermod -aG video boinc)。

参考链接

ROCm Documentation
Radeon™ Software for Linux® Installation