β11-22-2024 08:09 AM
After updating quest 3s headset to v71 OpenCL is not working. When headset used v6x OpenCl was working.
Need help fixing issue
Solved! Go to Solution.
β12-06-2024 03:07 AM
I've checked v72 on Quest 3 right now and OpenCV with OpenCL works again
β11-23-2024 07:03 PM
Seems Meta dropped support for OpenCL. In `/etc/public.libraries.txt`, `libOpenCL.so` is removed while `/vendor/lib/libOpenCL.so` and `/vendor/lib/libOpenCL_adreno.so` exists. I don't know why but they just silently dropped. I think there are some workaround for this (which I haven't tried yet).
- `adb pull /vender/lib/libOpenCL.so` and package it into apk
- Use vulkan compute pipeline
β11-23-2024 07:12 PM - edited β11-23-2024 07:13 PM
- `adb pull /vender/lib/libOpenCL.so` and package it into apk
I have pulled it, but not packaged it, as I am not the apk developer
- Use vulkan compute pipeline
the Dev is using opencl for computation handling
//////// Is there any official word on meta quest dropping opencl in v71
β11-23-2024 08:43 PM
I could not find any official words for this. But if `/etc/public.libraries.txt` does not list `libOpenCL.so`, there is no way to access it from the userspace. I don't know if this is a deliberate decision or not.
I just tried copying `/vendor/lib64/libOpenCL.so` to `/data/local/tmp` and explicitly `dlopen`ed it, but another error occurs, which seems it cannot be fixed without su (libOpenCL.so tries to dynamically link libc++.so).
Sadly, it seems there is no way to dynamically use OpenCL for now.
β11-23-2024 08:47 PM
β11-23-2024 08:50 PM
Dark times πͺ
β11-23-2024 10:49 PM
"libOpenCL.so" is listed now in "/vendor/etc/public.libraries.txt" and not in "/system/etc/public.libraries.txt". I also faced the problem while using OpenCV (with OpenCL enabled) on Quest 3. It worked some time ago (probably before v71)
β11-24-2024 03:19 PM
@Dens1ty Thanks for the correction! I also confirmed "libOpenCL.so" is listed in /vendor/etc/public.libraries.txt, but not in /system/etc/public.libraries.txt.
β11-24-2024 03:48 PM
The issue might be related to libc++.so.
The file /vendor/etc/public.libraries.txt includes libOpenCL.so, so it should function normally.
However, libOpenCL.so depends on several shared libraries, including libc++.so, libc.so, libm.so, and libdl.so. This can be verified using the readelf -d command. Despite this, libc++.so is absent from /system/etc/public.libraries.txt.
β11-25-2024 06:31 AM
Here are Quest 3 v71 on the left and Quest 2 v68 on the right:
(now i doubt the problem is linked with public libs)