<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Aptos;
        panose-1:2 11 0 4 2 2 2 2 2 4;}
@font-face
        {font-family:Menlo;
        panose-1:2 11 6 9 3 8 4 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:10.0pt;
        font-family:"Aptos",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
p.p1, li.p1, div.p1
        {mso-style-name:p1;
        margin:0cm;
        font-size:8.5pt;
        font-family:Menlo;
        color:#2FB41D;}
p.p2, li.p2, div.p2
        {mso-style-name:p2;
        margin:0cm;
        font-size:8.5pt;
        font-family:Menlo;
        color:black;}
p.p3, li.p3, div.p3
        {mso-style-name:p3;
        margin:0cm;
        font-size:8.5pt;
        font-family:Menlo;
        color:black;}
span.s2
        {mso-style-name:s2;
        color:black;}
span.s3
        {mso-style-name:s3;
        color:#400BD9;}
span.s1
        {mso-style-name:s1;}
span.apple-converted-space
        {mso-style-name:apple-converted-space;}
span.EmailStyle26
        {mso-style-type:personal-reply;
        font-family:"Aptos",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        mso-ligatures:none;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-GB link=blue vlink=purple style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal><span style='font-size:12.0pt;mso-fareast-language:EN-US'>Good news!<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;mso-fareast-language:EN-US'>I managed to solve it like this:<o:p></o:p></span></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:12.0pt'>Mesa's Rusticl implementation will look for SPIR-V files in specific locations. If necessary, create symbolic links to ensure compatibility:<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>sudo mkdir -p /usr/local/share/clc<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>sudo ln -sf /usr/lib/clc/spirv-mesa3d-.spv /usr/local/share/clc/spirv-mesa3d-.spv<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>sudo ln -sf /usr/lib/clc/spirv64-mesa3d-.spv /usr/local/share/clc/spirv64-mesa3d-.spv<o:p></o:p></span></p><div class=MsoNormal align=center style='text-align:center'><span style='font-size:12.0pt'><hr size=0 width="100%" align=center></span></div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:12.0pt'>Remove any cached shaders or configurations that might interfere:<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>rm -rf ~/.cache/mesa_shader_cache_db<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>rm -rf ~/.cache/mesa_shader_cache<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;mso-fareast-language:EN-US'><o:p> </o:p></span></p><div id=mail-editor-reference-message-container><div><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal style='margin-bottom:12.0pt'><b><span style='font-size:12.0pt;color:black'>From: </span></b><span style='font-size:12.0pt;color:black'>Victor Labian Carro <victor.labian.carro@axelera.ai><br><b>Date: </b>Tuesday, 14 January 2025 at 13:45<br><b>To: </b>Juan A. Suárez <jasuarez@igalia.com>, mesa-dev@lists.freedesktop.org <mesa-dev@lists.freedesktop.org><br><b>Subject: </b>Re: (rusticl) OpenCL command cling is not detecting GPU in raspberry pi 5<o:p></o:p></span></p></div><p class=MsoNormal><span style='font-size:12.0pt;mso-fareast-language:EN-US'>Note that those two files are in:</span><o:p></o:p></p><p class=MsoNormal><span style='font-size:12.0pt;mso-fareast-language:EN-US'> </span><o:p></o:p></p><p class=MsoNormal><b><span style='font-size:8.5pt;font-family:Menlo;color:#2FB41D'>ubuntu@ubuntu-desktop</span></b><span style='font-size:8.5pt;font-family:Menlo;color:black'>:</span><b><span style='font-size:8.5pt;font-family:Menlo;color:#400BD9'>~/mesa/builddir</span></b><span style='font-size:8.5pt;font-family:Menlo;color:black'>$ sudo find / -type f \( -name "spirv-mesa3d-*.spv" -o -name "spirv64-mesa3d-*.spv" \) 2>/dev/null</span><o:p></o:p></p><p class=MsoNormal><span style='font-size:8.5pt;font-family:Menlo;color:black'>/usr/lib/clc/spirv-mesa3d-.spv</span><o:p></o:p></p><p class=MsoNormal><span style='font-size:8.5pt;font-family:Menlo;color:black'>/usr/lib/clc/spirv64-mesa3d-.spv</span><o:p></o:p></p><p class=MsoNormal><span style='font-size:12.0pt;mso-fareast-language:EN-US'> </span><o:p></o:p></p><p class=MsoNormal><span style='font-size:12.0pt;mso-fareast-language:EN-US'> </span><o:p></o:p></p><div id=mail-editor-reference-message-container><div><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal style='margin-bottom:12.0pt'><b><span style='font-size:12.0pt;color:black'>From: </span></b><span style='font-size:12.0pt;color:black'>Victor Labian Carro <victor.labian.carro@axelera.ai><br><b>Date: </b>Tuesday, 14 January 2025 at 13:25<br><b>To: </b>Juan A. Suárez <jasuarez@igalia.com>, mesa-dev@lists.freedesktop.org <mesa-dev@lists.freedesktop.org><br><b>Subject: </b>Re: (rusticl) OpenCL command cling is not detecting GPU in raspberry pi 5</span><o:p></o:p></p></div><p class=MsoNormal><span style='font-size:12.0pt;mso-fareast-language:EN-US'>Hi Juan,</span><o:p></o:p></p><p class=MsoNormal><span style='font-size:12.0pt;mso-fareast-language:EN-US'> </span><o:p></o:p></p><p class=MsoNormal><span style='font-size:12.0pt;mso-fareast-language:EN-US'>Thank you very much. I was missing some options in meson. </span><o:p></o:p></p><p class=MsoNormal><span style='font-size:12.0pt;mso-fareast-language:EN-US'> </span><o:p></o:p></p><p class=MsoNormal><span style='font-size:12.0pt;mso-fareast-language:EN-US'>I did some progress, but it is still not working, I also installed libclc but I am seeing the following error in the output of clinfo:</span><o:p></o:p></p><p class=MsoNormal><span style='font-size:12.0pt;mso-fareast-language:EN-US'> </span><o:p></o:p></p><p class=MsoNormal><b><i><span style='font-size:12.0pt;mso-fareast-language:EN-US'>Libclc failed to load. Please make sure it is installed and provides spirv-mesa3d-.spv and/or spirv64-mesa3d-.spv</span></i></b><o:p></o:p></p><p class=MsoNormal><span style='font-size:12.0pt;mso-fareast-language:EN-US'> </span><o:p></o:p></p><p class=p1><span class=s1><b>ubuntu@ubuntu-desktop</b></span><span class=s2>:</span><span class=s3><b>~/mesa/builddir</b></span><span class=s2>$ clinfo</span><o:p></o:p></p><p class=p2><span class=s1>Libclc failed to load. Please make sure it is installed and provides spirv-mesa3d-.spv and/or spirv64-mesa3d-.spv</span><o:p></o:p></p><p class=p2><span class=s1>Number of platforms </span><span class=apple-converted-space>                              </span><span class=s1>1</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>  </span><span class=s1>Platform Name </span><span class=apple-converted-space>                                  </span><span class=s1>rusticl</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>  </span><span class=s1>Platform Vendor </span><span class=apple-converted-space>                                </span><span class=s1>Mesa/X.org</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>  </span><span class=s1>Platform Version</span><span class=apple-converted-space>                                </span><span class=s1>OpenCL 3.0</span><span class=apple-converted-space> </span><o:p></o:p></p><p class=p2><span class=apple-converted-space>  </span><span class=s1>Platform Profile</span><span class=apple-converted-space>                                </span><span class=s1>FULL_PROFILE</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>  </span><span class=s1>Platform Extensions </span><span class=apple-converted-space>                            </span><span class=s1>cl_khr_byte_addressable_store cl_khr_create_command_queue cl_khr_expect_assume cl_khr_extended_versioning cl_khr_icd cl_khr_il_program cl_khr_spirv_no_integer_wrap_decoration cl_khr_suggested_local_work_size</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>  </span><span class=s1>Platform Extensions with Version</span><span class=apple-converted-space>                </span><span class=s1>cl_khr_byte_addressable_store</span><span class=apple-converted-space>                                    </span><span class=s1>0x400000 (1.0.0)</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>                                                  </span><span class=s1>cl_khr_create_command_queue</span><span class=apple-converted-space>                                      </span><span class=s1>0x400000 (1.0.0)</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>                                                  </span><span class=s1>cl_khr_expect_assume </span><span class=apple-converted-space>                                            </span><span class=s1>0x400000 (1.0.0)</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>                                                  </span><span class=s1>cl_khr_extended_versioning </span><span class=apple-converted-space>                                      </span><span class=s1>0x400000 (1.0.0)</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>                                                  </span><span class=s1>cl_khr_icd </span><span class=apple-converted-space>                                                      </span><span class=s1>0x400000 (1.0.0)</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>                                                  </span><span class=s1>cl_khr_il_program</span><span class=apple-converted-space>                                                </span><span class=s1>0x400000 (1.0.0)</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>                                                  </span><span class=s1>cl_khr_spirv_no_integer_wrap_decoration</span><span class=apple-converted-space>                          </span><span class=s1>0x400000 (1.0.0)</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>                                                  </span><span class=s1>cl_khr_suggested_local_work_size </span><span class=apple-converted-space>                                </span><span class=s1>0x400000 (1.0.0)</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>  </span><span class=s1>Platform Numeric Version</span><span class=apple-converted-space>                        </span><span class=s1>0xc00000 (3.0.0)</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>  </span><span class=s1>Platform Extensions function suffix </span><span class=apple-converted-space>            </span><span class=s1>MESA</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>  </span><span class=s1>Platform Host timer resolution</span><span class=apple-converted-space>                  </span><span class=s1>1ns</span><o:p></o:p></p><p class=p3> <o:p></o:p></p><p class=p2><span class=apple-converted-space>  </span><span class=s1>Platform Name </span><span class=apple-converted-space>                                  </span><span class=s1>rusticl</span><o:p></o:p></p><p class=p2><span class=s1>Number of devices </span><span class=apple-converted-space>                                </span><span class=s1>0</span><o:p></o:p></p><p class=p3> <o:p></o:p></p><p class=p2><span class=s1>NULL platform behavior</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>  </span><span class=s1>clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...)</span><span class=apple-converted-space>  </span><span class=s1>rusticl</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>  </span><span class=s1>clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) </span><span class=apple-converted-space>  </span><span class=s1>No devices found in platform [rusticl?]</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>  </span><span class=s1>clCreateContext(NULL, ...) [default]</span><span class=apple-converted-space>            </span><span class=s1>No devices found in platform</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>  </span><span class=s1>clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT)</span><span class=apple-converted-space>  </span><span class=s1>No devices found in platform</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>  </span><span class=s1>clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)</span><span class=apple-converted-space>  </span><span class=s1>No devices found in platform</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>  </span><span class=s1>clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)</span><span class=apple-converted-space>  </span><span class=s1>No devices found in platform</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>  </span><span class=s1>clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR)</span><span class=apple-converted-space>  </span><span class=s1>No devices found in platform</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>  </span><span class=s1>clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM)</span><span class=apple-converted-space>  </span><span class=s1>No devices found in platform</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>  </span><span class=s1>clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL)</span><span class=apple-converted-space>  </span><span class=s1>No devices found in platform</span><o:p></o:p></p><p class=p3> <o:p></o:p></p><p class=p2><span class=s1>ICD loader properties</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>  </span><span class=s1>ICD loader Name </span><span class=apple-converted-space>                                </span><span class=s1>OpenCL ICD Loaderns</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>  </span><span class=s1>ICD loader Vendor </span><span class=apple-converted-space>                              </span><span class=s1>OCL Icd free softwarens</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>  </span><span class=s1>ICD loader Version</span><span class=apple-converted-space>                              </span><span class=s1>2.3.2ns</span><o:p></o:p></p><p class=p2><span class=apple-converted-space>  </span><span class=s1>ICD loader Profile</span><span class=apple-converted-space>                              </span><span class=s1>OpenCL 3.0ns</span><o:p></o:p></p><p class=MsoNormal><span style='font-size:12.0pt;mso-fareast-language:EN-US'> </span><o:p></o:p></p><p class=MsoNormal><span style='font-size:12.0pt;mso-fareast-language:EN-US'> </span><o:p></o:p></p><div id=mail-editor-reference-message-container><div><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal style='margin-bottom:12.0pt'><b><span style='font-size:12.0pt;color:black'>From: </span></b><span style='font-size:12.0pt;color:black'>Juan A. Suárez <jasuarez@igalia.com><br><b>Date: </b>Tuesday, 14 January 2025 at 11:31<br><b>To: </b>Victor Labian Carro <victor.labian.carro@axelera.ai>, mesa-dev@lists.freedesktop.org <mesa-dev@lists.freedesktop.org><br><b>Subject: </b>Re: (rusticl) OpenCL command cling is not detecting GPU in raspberry pi 5</span><o:p></o:p></p></div><div><p class=MsoNormal style='margin-bottom:12.0pt'><span style='font-size:11.0pt'>[You don't often get email from jasuarez@igalia.com. Learn why this is important at <a href="https://aka.ms/LearnAboutSenderIdentification">https://aka.ms/LearnAboutSenderIdentification</a> ]<br><br>Caution: This is an external email. Please take care when clicking links or opening attachments. When in doubt, contact your IT Department<br><br><br>On Mon, 2025-01-13 at 16:24 +0000, Victor Labian Carro wrote:<br>> Hello,<br>><br>> I followed the instructions in<br>> <a href="https://docs.mesa3d.org/rusticl.html#rusticl">https://docs.mesa3d.org/rusticl.html#rusticl</a> to install OpenCL in<br>> Raspberry Pi 5. However, clinfo command is not showing any devices.<br>> Can anyone help with suggestions?<br>><br><br>What is showing clinfo?<br><br>For reference, I've tried locally and it seems to work fine.<br><br>Following the steps mentioned in the link, I've used the following<br>options in meson<br><br>`-Dgallium-drivers=vc4,v3d -Dvulkan-drivers=broadcom -Dgallium-rusticl-<br>enable-drivers=v3d -Dgallium-rusticl=true -Dllvm=enabled -<br>Drust_std=2021`<br><br>I've also exported `RUSTICL_ENABLED=v3d` and ensured  `libclc-15` is<br>installed.<br><br><br>With all above, `clinfo` exposes the V3D 7.1.7.0 device<br><br><br>Cheers.<br><br><br>        J.A.</span><o:p></o:p></p></div></div></div></div></div></div></div></div></div></div></div></body></html>