Thanks for reporting the problem. The situation is what @ogra described. The snap should ship with OpenCL libraries inside, especially if those are open source libraries. The situation is similar to Mesa in this case. From what I was told, the kernel interfaces used by Mesa are fairly stable.
The story if Nvidia is a tad different. Since it’s a binary blob, there’s no control over how the userspace driver interacts with the kernel coutnerpart and we go though some hoops to make it work.
That being said, I think none of the interfaces currently allows OpenCL to work properly. I’ll look into this with my debugging snap, will try to adjust the code to make it work and report back.
On a side note. If the snap ends up shipping mesa OpenCL ICD files, those will end up inside $SNAP
. Unfortunately ICD loader is rather strict about expecting the files under /etc/OpenCL/vendor
, so I would expect the snap to use Snap layouts to work around that.