New comment by ahesford on void-packages repository https://github.com/void-linux/void-packages/pull/21153#issuecomment-622061907 Comment: Still more updates: * I didn't catch this with the last push, but the ROCm `libamdocl64.so` ICD installed by `rocm-opencl-runtime` _does_ work with `ocl-icd`, at least with `clinfo` from `ocl-icd`, `hashcat`, `darktable` (subject to the next point below) and a simple test with `pyopencl` installed as a wheel from PyPI (which installs its own copy of the ocl-icd loader). As a result, the `rocm-opencl-runtime` package now installs an ICD descriptor in `/etc/OpenCL/vendors` to allow discovery and use through `ocl-icd`. * Because there may be lingering incompatibilities between the `libOpenCL` implementations, I still install the dedicated ROCm ICD loader at `/usr/lib/libOpenCL-ROCm.so*` and the `/etc/OpenCL/rocm-vendors` directory with an ICD descriptor pointing to `libamdocl64.so`. This allows isolation of the ROCm environment if desired. * The `darktable` package requires OpenCL image support. AMD offers image support only through a closed-source extension library and claims a fully open-source version is "on [their] list of goals" (see [ROCm-OpenCL-Runtime Issue #59](https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/59). I've wrapped the closed-source library in an optional package, `rocm-hsa-ext`, based on the Debian package of the library. The only license I can find relating to this software is in the header files that ship in the package, which asserts an NCSA license that does not seem to prohibit redistribution in binary form. Accordingly, I do not think `restricted` is required here. Because the source is not (yet) available, I've marked this extension package for the `nonfree` repo. I hope that, with these new changes, ROCm will "just work" with (the majority of) the OpenCL-aware packages in the Void repos. I've left the `hashcat` modifications intact to allow explicit linking against the ROCm ICD loader as a non-default build option, but the standard build (with a patch folded into these modifications) should work too.