LibOpenCL only version 1.0

Hello,
for my work I need the common libOpenCL version 1.2, but it ist not in the tumbleweed repo - only version 1.0. I wonder about this, because in the cuda repos, it was even in year 2012. But, I want to use RustiCL and nouveau driver.

Can you please update the libOpenCL package in the repo?

Kind regards

@tobias832 Hi, the “libOpenCL1” package is at version 2.3.4-1.4?
https://build.opensuse.org/package/show/openSUSE:Factory/ocl-icd

When I look in yast which files libOpenCL1 privides, there are only:
/usr/lib64/libOpenCL.so.1
/usr/lib64/libOpenCL.so.1.0.0

And for ocl-icd, there are only the devel packages in the tumbleweed repo.

@tobias832 Hi, I’m assuming Mesa-libRusticlOpenCL is installed, this provides the rusticl.icd?

What Nvidia GPU are you using? I see it working here with iris and zink on a ARC A380.

 RUSTICL_ENABLE=zink clinfo --list

WARNING: Resizable BAR not detected for device 0000:06:00.0
WARNING: Resizable BAR not detected for device 0000:06:00.0
Platform #0: Portable Computing Language
 +-- Device #0: cpu-tbb-haswell-Intel(R) Xeon(R) CPU E5-2695 v4 @ 2.10GHz
 `-- Device #1: Intel(R) Arc(TM) A380 Graphics
Platform #1: rusticl
 `-- Device #0: zink Vulkan 1.4(Intel(R) Arc(tm) A380 Graphics (DG2) (INTEL_OPEN_SOURCE_MESA))
Platform #2: Intel(R) OpenCL Graphics
 `-- Device #0: Intel(R) Arc(TM) A380 Graphics

RUSTICL_ENABLE=iris clinfo --list
WARNING: Resizable BAR not detected for device 0000:06:00.0
WARNING: Resizable BAR not detected for device 0000:06:00.0
Platform #0: Portable Computing Language
 +-- Device #0: cpu-tbb-haswell-Intel(R) Xeon(R) CPU E5-2695 v4 @ 2.10GHz
 `-- Device #1: Intel(R) Arc(TM) A380 Graphics
Platform #1: rusticl
 `-- Device #0: Mesa Intel(R) Arc(tm) A380 Graphics (DG2)
Platform #2: Intel(R) OpenCL Graphics
 `-- Device #0: Intel(R) Arc(TM) A380 Graphics

I do have an old MacBook Pro with Intel HD Graphics 4000 and GeForce GT 650M Mac Edition, it’s using Mesa nvk

The Mesa-libRusticlOpenCL package also provides only version 1.0. The package provides these files:

/usr/lib64/libRusticlOpenCL.so
/usr/lib64/libRusticlOpenCL.so.1
/usr/lib64/libRusticlOpenCL.so.1.0.0

@tobias832 That’s the shared library version (soname), Mesa is at version 26.1.1 which is the latest release…

Yes, but I need the shared library version 1.2 …

@tobias832 That’s something your going to have to ask upstream with Mesa on it’s likely release…

@tobias832 So what are you trying to do, also what hardware is involved?

I need libOpenCL.so.1.2 for a computer simulation. And I also want to get local ai models working.

The cl device name is NV108, the KDE info center tells me GeForce GT 730M. This GPU provides OpenCL version 1.2

I thought this problem is up to the people, that are responsible for OpenSuse distro …

@tobias832 OpenCL in Tumbleweed is 3.0, sounds like you need PoCL (which uses the CPU) that’s at “OpenCL C 1.2 PoCL”

You can use Vulkan with the likes of Ollama, else that would require CUDA and the propriatary driver.

Do you get output from clinfo and clpeak?

Edit: Not sure how Nova will affect things and what hardware it will work on.

Yes, clinfo gives some output. It also tells me a higher OpenCL version. But when I search for that: find / -name '*libOpenCL*' I only get:

/opt/zoom/libOpenCL.so.1
/usr/lib64/libOpenCL.so.1
/usr/lib64/libOpenCL.so.1.0.0

But how can I link g++ -lOpenCL now with a higher version?

@tobias832 Do you have ocl-icd-devel and probably opencl-cpp-headers packages installed?

I had installed the opencl-cpp-headers. But that are only sources. Now I installed also ocl-icd-headers, but it only provides a link to version 1.0:

lrwxrwxrwx 1 root root 18 20. Sep 2025 /usr/lib64/libOpenCL.so → libOpenCL.so.1.0.0

I had also made this link before manually, but deleted it before I installed the package.

What are you trying to build? There is no version 1.2 of that library…

I try to build an own computer simulation. When I had properitary nvidia drivers installed, there was actually a version 1.2 of that library. I know for sure. It was in the compute package.

This one;

Platform Name                                   NVIDIA CUDA
Device Version                                  OpenCL 3.0 CUDA
Device OpenCL C Version                         OpenCL C 1.2

You can get that via PoCL and use the CPU…

How do you mean this? in clinfo I get for these parameters:

Platform Name rusticl
Device Version OpenCL 1.2
Device OpenCL C Version OpenCL C 1.2

and at beginning of clinfo, there is

Platform Name rusticl
Platform Vendor Mesa/X.org
Platform Version OpenCL 3.0

So, how can I link my compiler to this OpenCL 3.0 library? I just need version 1.2.

deleted message

@tobias832 rusticl should just use the normal -lOpenCL