<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.haidhi.my.id/wiki/index.php?action=history&amp;feed=atom&amp;title=Cara_pake_OpenCL_di_Android</id>
	<title>Cara pake OpenCL di Android - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.haidhi.my.id/wiki/index.php?action=history&amp;feed=atom&amp;title=Cara_pake_OpenCL_di_Android"/>
	<link rel="alternate" type="text/html" href="https://wiki.haidhi.my.id/wiki/index.php?title=Cara_pake_OpenCL_di_Android&amp;action=history"/>
	<updated>2026-11-01T23:36:23Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.haidhi.my.id/wiki/index.php?title=Cara_pake_OpenCL_di_Android&amp;diff=658&amp;oldid=prev</id>
		<title>SanzSkuy: Created page with &quot;Panduan memperbaiki masalah &#039;&#039;&#039;&lt;code&gt;clinfo&lt;/code&gt; melaporkan &quot;Number of platforms: 0&quot;&#039;&#039;&#039; di Termux pada perangkat Android dengan GPU Qualcomm Adreno. Masalah ini terjadi karena ICD loader OpenCL sudah terpasang, tetapi belum ada driver OpenCL vendor yang terdaftar ke loader tersebut.  {| class=&quot;wikitable&quot; |+ Lingkungan yang diuji ! Item !! Keterangan |- | Perangkat || Redmi Note 12 4G |- | SoC / GPU || Snapdragon 685 / Adreno 610 |- | Sistem operasi || Android (root...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.haidhi.my.id/wiki/index.php?title=Cara_pake_OpenCL_di_Android&amp;diff=658&amp;oldid=prev"/>
		<updated>2026-06-15T01:53:02Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Panduan memperbaiki masalah &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;clinfo&amp;lt;/code&amp;gt; melaporkan &amp;quot;Number of platforms: 0&amp;quot;&amp;#039;&amp;#039;&amp;#039; di &lt;a href=&quot;/wiki/index.php?title=Termux&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Termux (page does not exist)&quot;&gt;Termux&lt;/a&gt; pada perangkat Android dengan GPU Qualcomm Adreno. Masalah ini terjadi karena ICD loader OpenCL sudah terpasang, tetapi belum ada driver OpenCL vendor yang terdaftar ke loader tersebut.  {| class=&amp;quot;wikitable&amp;quot; |+ Lingkungan yang diuji ! Item !! Keterangan |- | Perangkat || Redmi Note 12 4G |- | SoC / GPU || Snapdragon 685 / Adreno 610 |- | Sistem operasi || Android (root...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Panduan memperbaiki masalah &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;clinfo&amp;lt;/code&amp;gt; melaporkan &amp;quot;Number of platforms: 0&amp;quot;&amp;#039;&amp;#039;&amp;#039; di [[Termux]] pada perangkat Android dengan GPU Qualcomm Adreno. Masalah ini terjadi karena ICD loader OpenCL sudah terpasang, tetapi belum ada driver OpenCL vendor yang terdaftar ke loader tersebut.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Lingkungan yang diuji&lt;br /&gt;
! Item !! Keterangan&lt;br /&gt;
|-&lt;br /&gt;
| Perangkat || Redmi Note 12 4G&lt;br /&gt;
|-&lt;br /&gt;
| SoC / GPU || Snapdragon 685 / Adreno 610&lt;br /&gt;
|-&lt;br /&gt;
| Sistem operasi || Android (rooted)&lt;br /&gt;
|-&lt;br /&gt;
| Shell || Termux (arsitektur aarch64)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Gejala ==&lt;br /&gt;
&lt;br /&gt;
Menjalankan &amp;lt;code&amp;gt;clinfo&amp;lt;/code&amp;gt; menghasilkan output berikut:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
Number of platforms                               0&lt;br /&gt;
ICD loader properties&lt;br /&gt;
  ICD loader Name                                 OpenCL ICD Loader&lt;br /&gt;
  ICD loader Vendor                               OCL Icd free software&lt;br /&gt;
  ICD loader Version                              2.3.5&lt;br /&gt;
  ICD loader Profile                              OpenCL 3.1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ICD loader terdeteksi normal, tetapi &amp;#039;&amp;#039;&amp;#039;jumlah platform 0&amp;#039;&amp;#039;&amp;#039; — artinya tidak ada implementasi OpenCL (driver) yang ditemukan oleh loader.&lt;br /&gt;
&lt;br /&gt;
== Penyebab ==&lt;br /&gt;
&lt;br /&gt;
Pada Android, driver OpenCL untuk GPU Adreno &amp;#039;&amp;#039;&amp;#039;sudah tersedia&amp;#039;&amp;#039;&amp;#039; dalam bentuk &amp;lt;code&amp;gt;libOpenCL.so&amp;lt;/code&amp;gt; milik Qualcomm di partisi vendor. Namun, ICD loader bawaan Termux (ocl-icd) tidak mengetahui lokasi driver tersebut karena belum ada berkas ICD (&amp;lt;code&amp;gt;*.icd&amp;lt;/code&amp;gt;) yang menunjuk ke sana.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Catatan:&amp;#039;&amp;#039;&amp;#039; Terdapat &amp;#039;&amp;#039;&amp;#039;dua&amp;#039;&amp;#039;&amp;#039; berkas bernama &amp;lt;code&amp;gt;libOpenCL.so&amp;lt;/code&amp;gt; pada sistem — satu milik Termux (berperan sebagai &amp;#039;&amp;#039;loader&amp;#039;&amp;#039;, yaitu yang dipanggil oleh &amp;lt;code&amp;gt;clinfo&amp;lt;/code&amp;gt;) dan satu milik Qualcomm (driver asli di &amp;lt;code&amp;gt;/vendor&amp;lt;/code&amp;gt;). Yang perlu didaftarkan adalah milik Qualcomm.&lt;br /&gt;
&lt;br /&gt;
== Persyaratan ==&lt;br /&gt;
&lt;br /&gt;
* Perangkat Android dengan GPU Adreno yang mendukung OpenCL (seri Adreno 6xx ke atas umumnya mendukung OpenCL Full Profile).&lt;br /&gt;
* Termux dengan paket &amp;lt;code&amp;gt;clinfo&amp;lt;/code&amp;gt; dan ICD loader (ocl-icd) sudah terpasang.&lt;br /&gt;
* Akses root &amp;#039;&amp;#039;&amp;#039;disarankan&amp;#039;&amp;#039;&amp;#039; (membantu pada beberapa kasus pemuatan library vendor).&lt;br /&gt;
&lt;br /&gt;
== Solusi ==&lt;br /&gt;
&lt;br /&gt;
=== 1. Temukan lokasi driver ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ls -l /vendor/lib64/libOpenCL.so /system/vendor/lib64/libOpenCL.so /system/lib64/libOpenCL.so 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
# Jika ragu, scan menyeluruh:&lt;br /&gt;
find /vendor /system -iname &amp;#039;libOpenCL*.so&amp;#039; 2&amp;gt;/dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Catat path yang muncul (umumnya &amp;lt;code&amp;gt;/vendor/lib64/libOpenCL.so&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== 2. Daftarkan driver sebagai ICD ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p $PREFIX/etc/OpenCL/vendors&lt;br /&gt;
echo /vendor/lib64/libOpenCL.so &amp;gt; $PREFIX/etc/OpenCL/vendors/adreno.icd&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sesuaikan path dengan hasil langkah 1.&lt;br /&gt;
&lt;br /&gt;
=== 3. Arahkan linker ke library dependensi ===&lt;br /&gt;
&lt;br /&gt;
Driver vendor membutuhkan berkas &amp;lt;code&amp;gt;.so&amp;lt;/code&amp;gt; lain yang berada di &amp;lt;code&amp;gt;/vendor/lib64&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
export LD_LIBRARY_PATH=/vendor/lib64:/system/vendor/lib64:/system/lib64${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4. Uji ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
clinfo | head -20&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jika berhasil, &amp;#039;&amp;#039;&amp;#039;Number of platforms&amp;#039;&amp;#039;&amp;#039; menjadi 1 dan muncul nama seperti &amp;lt;code&amp;gt;QUALCOMM Snapdragon&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;Adreno (TM) 610&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 5. Membuat pengaturan permanen ===&lt;br /&gt;
&lt;br /&gt;
Tambahkan ke &amp;lt;code&amp;gt;~/.bashrc&amp;lt;/code&amp;gt; agar tidak perlu mengetik ulang setiap membuka Termux:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;#039;export LD_LIBRARY_PATH=/vendor/lib64:/system/vendor/lib64:/system/lib64${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}&amp;#039; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
Jika platform masih 0, aktifkan mode debug pada loader untuk melihat penyebab kegagalan:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
OCL_ICD_DEBUG=15 clinfo 2&amp;gt;&amp;amp;1 | head -40&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Berdasarkan pesan yang muncul:&lt;br /&gt;
&lt;br /&gt;
; Berkas ICD seperti tidak terbaca (platform tetap 0)&lt;br /&gt;
: Paksa direktori vendor lalu ulangi pengujian: &amp;lt;code&amp;gt;export OCL_ICD_VENDORS=$PREFIX/etc/OpenCL/vendors&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;... not accessible for the namespace &amp;quot;(default)&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
: Android memblokir pemuatan library vendor dari aplikasi. Karena perangkat sudah root, jalankan sebagai root: pasang &amp;lt;code&amp;gt;tsu&amp;lt;/code&amp;gt; melalui &amp;lt;code&amp;gt;pkg install tsu&amp;lt;/code&amp;gt;, lalu jalankan &amp;lt;code&amp;gt;sudo env LD_LIBRARY_PATH=/vendor/lib64:/system/lib64 clinfo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
; &amp;lt;code&amp;gt;cannot locate symbol&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;undefined reference&amp;lt;/code&amp;gt;&lt;br /&gt;
: Ada dependensi yang kurang. Periksa dengan &amp;lt;code&amp;gt;readelf -d /vendor/lib64/libOpenCL.so | grep NEEDED&amp;lt;/code&amp;gt; (perlu &amp;lt;code&amp;gt;pkg install binutils&amp;lt;/code&amp;gt;), lalu tambahkan folder library terkait (mis. &amp;lt;code&amp;gt;/odm/lib64&amp;lt;/code&amp;gt;) ke &amp;lt;code&amp;gt;LD_LIBRARY_PATH&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
; Arsitektur tidak cocok&lt;br /&gt;
: Pastikan Termux 64-bit — &amp;lt;code&amp;gt;dpkg --print-architecture&amp;lt;/code&amp;gt; harus menghasilkan &amp;lt;code&amp;gt;aarch64&amp;lt;/code&amp;gt; — agar sesuai dengan library di &amp;lt;code&amp;gt;lib64&amp;lt;/code&amp;gt;. Jika Termux 32-bit, gunakan &amp;lt;code&amp;gt;/vendor/lib/libOpenCL.so&amp;lt;/code&amp;gt; (tanpa &amp;lt;code&amp;gt;64&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== Memakai berkas ICD bawaan ROM ===&lt;br /&gt;
&lt;br /&gt;
Beberapa ROM sudah menyertakan berkas ICD sendiri yang menunjuk ke driver asli:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cat /vendor/etc/OpenCL/vendors/*.icd /system/etc/OpenCL/vendors/*.icd 2&amp;gt;/dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jika ada isinya, gunakan path tersebut pada langkah 2.&lt;br /&gt;
&lt;br /&gt;
== Catatan ==&lt;br /&gt;
&lt;br /&gt;
* Jika perintah &amp;lt;code&amp;gt;find&amp;lt;/code&amp;gt; pada langkah 1 sama sekali tidak menemukan &amp;lt;code&amp;gt;libOpenCL.so&amp;lt;/code&amp;gt;, kemungkinan ROM (umumnya custom ROM) telah membuang blob OpenCL. Berkas tersebut perlu ditarik manual dari stock ROM (MIUI/HyperOS).&lt;br /&gt;
* GPU seri Adreno 6xx mendukung OpenCL Full Profile; performa nyata bergantung pada model GPU dan versi driver.&lt;/div&gt;</summary>
		<author><name>SanzSkuy</name></author>
	</entry>
</feed>