• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

Question OpenCL possible for chrooted Linux?

Search This thread

sunarowicz

Member
Jun 16, 2020
25
6
I would like to use darktable photo editor in chrooted Linux deployed using the Linux Deploy on my POCO F3. Darktable already runs fine, but without the OpenCL as this is not available in the chrooted Linux out of the box. I already managed to get OpenCL available and was able to make clinfo in the Termux environment following the instructions here:
Because, if my understanding is correct, making the clinfo is the first step in making the OpenCL available, I would like to make it in chrooted Linux environment too. But whatever I tried, it failed. I went through a ton of sources on Internet but did not find single one suitable for my case. Moreover most are many years old and not sure if still valid. Mostly for the Mali graphics too, not for Adreno...

So I tried to copy the libOpenCL.so from the /system/vendor/lib64 of the Android system tree to the /usr/lib/aarch64-linux-gnu directory of the chrooted Linux. Although the library gets recognized during making the clinfo (before copying it complained of missing library), the building process still fails. I have no ICD file in /etc/OpenCL/vendor as I didn’t find any info on what it should contain in the case of Adreno graphics. But this one is also missing in Android/Termux environment where clinfo gets compiled, so may be is not necessary.

Does anyone have any idea on how to get OpenCL available in chrooted Linux on POCO F3 or any arm64 device with the Adreno graphics? I appreciate any kicking me in the right direction.
 

sunarowicz

Member
Jun 16, 2020
25
6
I have no clue what you're doing but may I suggest one idea: try using a custom ROM as these will be closer to AOSP and so might have more Linux features not removed by MIUI.

Take my advice with a pinch of salt as I have no clue what you're doing😂
Thank you for being interested, but I think it has nothing in common with the Android ROM type or version. Those things I'm trying to achieve I'm not doing in Android, but in Linux which runs next to Android and shares the Linux kernel and the system resources with it. But otherwise it is independent of Android.

I'm strongly convinced it must be possible to enable OpenCL in chrooted Linux running on POCO because it is already possible in Termux on the same device. And there are some threads on Internet telling this being possible, but on Mali graphics and some 6 years ago. I believe I'm missing something obvious or the correct Linux graphics drivers with OpenCL support for Adreno.
 
  • Like
Reactions: Robert314

samantas5855

Member
Jan 26, 2017
34
5
Xiaomi Poco F3
Yeah, I already found freedreno earlier, but it did not attract my attention as it seemed to me being no longer developed. At least for OpenCL there is no commit since 2014. But I will give it a try as do not have any better option now.

Thank you for reminding me freedreno!
Freedreno is very active, it can even run Genshin on Turnip. If you google Freedreno youll find a very old repo
 

Ssaikatsaha

Member
Dec 21, 2020
28
1
I would like to use darktable photo editor in chrooted Linux deployed using the Linux Deploy on my POCO F3. Darktable already runs fine, but without the OpenCL as this is not available in the chrooted Linux out of the box. I already managed to get OpenCL available and was able to make clinfo in the Termux environment following the instructions here:
Because, if my understanding is correct, making the clinfo is the first step in making the OpenCL available, I would like to make it in chrooted Linux environment too. But whatever I tried, it failed. I went through a ton of sources on Internet but did not find single one suitable for my case. Moreover most are many years old and not sure if still valid. Mostly for the Mali graphics too, not for Adreno...

So I tried to copy the libOpenCL.so from the /system/vendor/lib64 of the Android system tree to the /usr/lib/aarch64-linux-gnu directory of the chrooted Linux. Although the library gets recognized during making the clinfo (before copying it complained of missing library), the building process still fails. I have no ICD file in /etc/OpenCL/vendor as I didn’t find any info on what it should contain in the case of Adreno graphics. But this one is also missing in Android/Termux environment where clinfo gets compiled, so may be is not necessary.

Does anyone have any idea on how to get OpenCL available in chrooted Linux on POCO F3 or any arm64 device with the Adreno graphics? I appreciate any kicking me in the right direction.
 

Attachments

  • 125209365-dd054480-e2b5-11eb-84b5-cf5b0ce04675.jpg
    125209365-dd054480-e2b5-11eb-84b5-cf5b0ce04675.jpg
    1.2 MB · Views: 31

sunarowicz

Member
Jun 16, 2020
25
6
Unfortunately no progress here. I did not move any further. As far as I understood the libOpenCL.so located in /system/vendor/lib64 of the Android system which is needed for OpenCL cannot be used in chrooted Linux as it has been built for Android, not for Linux. I have no idea how to overcome this.
 

Ssaikatsaha

Member
Dec 21, 2020
28
1
Unfortunately no progress here. I did not move any further. As far as I understood the libOpenCL.so located in /system/vendor/lib64 of the Android system which is needed for OpenCL cannot be used in chrooted Linux as it has been built for Android, not for Linux. I have no idea how to overcome this.
Actually we need to compile stock kernel fast...
But I don't know how to compile stock kernel....
I got success with cl device type cpu , because I haven't Compile yet stock kernel..
You can also ... Just try with...
Under chroot Linux...
1) apt update && apt upgrade && apt install boinc-client-opencl opencl-headers firmware-qcom-media u-boot-qcom qbzr qcomicbook clinfo -y
2) Clinfo.....
You get results...
 

sunarowicz

Member
Jun 16, 2020
25
6
Actually we need to compile stock kernel fast...
But I don't know how to compile stock kernel....
I got success with cl device type cpu , because I haven't Compile yet stock kernel..
You can also ... Just try with...
Under chroot Linux...
1) apt update && apt upgrade && apt install boinc-client-opencl opencl-headers firmware-qcom-media u-boot-qcom qbzr qcomicbook clinfo -y
2) Clinfo.....
You get results...
Why do you think we need compile stock kernel? As OpenCL is available for CPU, its availability for GPU should be matter of a driver, shouldn't it?
 

Ssaikatsaha

Member
Dec 21, 2020
28
1
Why do you think we need compile stock kernel? As OpenCL is available for CPU, its availability for GPU should be matter of a driver, shouldn't it?
I successfully installed OpenCL under Linux deploy (Debian-10) in android phone...but my OpenCL device CPU ....
But not my vendor platform if you have Mali GPU you can install OpenCL under Linux ...
Actually my gpu Adreno .. for Qualcomm still now not available OpenCL driver for Linux
 

sunarowicz

Member
Jun 16, 2020
25
6
I successfully installed OpenCL under Linux deploy (Debian-10) in android phone...but my OpenCL device CPU ....
But not my vendor platform if you have Mali GPU you can install OpenCL under Linux ...
Actually my gpu Adreno .. for Qualcomm still now not available OpenCL driver for Linux
Yes, my GPU is Adreno too. After many days of googling the information on web I also have understood that Mali has much better OpenCL support than Adreno. There is couple of info on the OpenCL for Adreno topic on Phoronix, but still not clear to me what is the current state and how to try to make it working. But I haven't find any mention on the need of compiling the kernel.
 

Ssaikatsaha

Member
Dec 21, 2020
28
1
Yes, my GPU is Adreno too. After many days of googling the information on web I also have understood that Mali has much better OpenCL support than Adreno. There is couple of info on the OpenCL for Adreno topic on Phoronix, but still not clear to me what is the current state and how to try to make it working. But I haven't find any mention on the need of compiling the kernel.
You can install...
1) apt update && apt upgrade && apt install boinc-client-opencl opencl-headers firmware-qcom-media u-boot-qcom qbzr qcomicbook clinfo -y
And check....
2) Clinfo (in your terminal...)
 

sunarowicz

Member
Jun 16, 2020
25
6
You can install...
1) apt update && apt upgrade && apt install boinc-client-opencl opencl-headers firmware-qcom-media u-boot-qcom qbzr qcomicbook clinfo -y
And check....
2) Clinfo (in your terminal...)
Sure, I already did that and got the OpenCL for CPU. But this doesn't help me much, as I need the OpenCL for GPU. I still believe we don't need to compile kernel to achieve this.

BTW: sudo apt install pocl-opencl-icd clinfo is enough to get the OpenCL for CPU.
 

Ssaikatsaha

Member
Dec 21, 2020
28
1
Sure, I already did that and got the OpenCL for CPU. But this doesn't help me much, as I need the OpenCL for GPU. I still believe we don't need to compile kernel to achieve this.

BTW: sudo apt install pocl-opencl-icd clinfo is enough to get the OpenCL for CPU.
You can see here.. for mali..
And you can try...
 

Top Liked Posts

  • There are no posts matching your filters.
  • 2
    I would like to use darktable photo editor in chrooted Linux deployed using the Linux Deploy on my POCO F3. Darktable already runs fine, but without the OpenCL as this is not available in the chrooted Linux out of the box. I already managed to get OpenCL available and was able to make clinfo in the Termux environment following the instructions here:
    Because, if my understanding is correct, making the clinfo is the first step in making the OpenCL available, I would like to make it in chrooted Linux environment too. But whatever I tried, it failed. I went through a ton of sources on Internet but did not find single one suitable for my case. Moreover most are many years old and not sure if still valid. Mostly for the Mali graphics too, not for Adreno...

    So I tried to copy the libOpenCL.so from the /system/vendor/lib64 of the Android system tree to the /usr/lib/aarch64-linux-gnu directory of the chrooted Linux. Although the library gets recognized during making the clinfo (before copying it complained of missing library), the building process still fails. I have no ICD file in /etc/OpenCL/vendor as I didn’t find any info on what it should contain in the case of Adreno graphics. But this one is also missing in Android/Termux environment where clinfo gets compiled, so may be is not necessary.

    Does anyone have any idea on how to get OpenCL available in chrooted Linux on POCO F3 or any arm64 device with the Adreno graphics? I appreciate any kicking me in the right direction.
    1
    I have no clue what you're doing but may I suggest one idea: try using a custom ROM as these will be closer to AOSP and so might have more Linux features not removed by MIUI.

    Take my advice with a pinch of salt as I have no clue what you're doing😂
    Thank you for being interested, but I think it has nothing in common with the Android ROM type or version. Those things I'm trying to achieve I'm not doing in Android, but in Linux which runs next to Android and shares the Linux kernel and the system resources with it. But otherwise it is independent of Android.

    I'm strongly convinced it must be possible to enable OpenCL in chrooted Linux running on POCO because it is already possible in Termux on the same device. And there are some threads on Internet telling this being possible, but on Mali graphics and some 6 years ago. I believe I'm missing something obvious or the correct Linux graphics drivers with OpenCL support for Adreno.