fix(aquamarine): install only clr's OpenCL ICD instead of the openvino-gpu wrapper

hardware.amdgpu.opencl.enable also adds clr, whose OpenCL 2.2 libOpenCL.so.1
lands in /run/opengl-driver/lib, first in OpenVINO's RUNPATH, and shadows the
ocl-icd loader the GPU plugin links. With clr.icd alone the plugin finds
ocl-icd, so the wrapper and WA-038 go.

Assisted-by: Claude Code (claude-opus-5-5)
This commit is contained in:
Ryan Yin authored and ryan4yin | 二花 committed 2026-11-01 11:55:14 -06:00
1 parent fe280d8fa2
commit eaa53004e5
8 files changed
+30 -49

No files matched your search

@@ -15,7 +15,7 @@
btopShowsRadeon = true;
btopReadsIgpu = true;
igpuMediaStackInstalled = true;
openvinoGpuWrapperInstalled = true;
rocmOpenclIcdOnly = true;
gpuMetricsExported = true;
raplMetricsExported = true;
raplPermissionsExposed = true;
@@ -76,10 +76,12 @@ in
"vpl-gpu-rt"
"intel-compute-runtime"
];
# OpenVINO's GPU plugin needs ocl-icd ahead of ROCm's clr loader (WA-038).
openvinoGpuWrapperInstalled = builtins.any (
package: (package.name or "") == "openvino-gpu"
) cfg.environment.systemPackages;
rocmOpenclIcdOnly =
let
graphics = cfg.hardware.graphics.extraPackages;
in
builtins.elem eval.pkgs.rocmPackages.clr.icd graphics
&& !builtins.elem eval.pkgs.rocmPackages.clr graphics;
gpuMetricsExported = builtins.elem "drm" cfg.services.prometheus.exporters.node.enabledCollectors;
raplMetricsExported = builtins.elem "rapl" cfg.services.prometheus.exporters.node.enabledCollectors;
raplPermissionsExposed = lib.hasInfix "chgrp rapl" cfg.services.udev.extraRules;