<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Cross-compiling Qt 6.6.0 with EGLFS, mali not detected]]></title><description><![CDATA[<p dir="auto">I am cross compiling Qt with Buildroot and GCC on Ubuntu for an Allwinner H618 with a "integrated Mali G31 MP2" GPU target.</p>
<blockquote>
<p dir="auto">cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DINPUT_opengl=es2 -DQT_BUILD_EXAMPLES=OFF -DQT_BUILD_TESTS=OFF <br />
-DQT_HOST_PATH=/foo/host/                        <br />
-DCMAKE_STAGING_PREFIX=/foo/target              <br />
-DCMAKE_INSTALL_PREFIX=/usr/local/qt6                                   <br />
-DCMAKE_TOOLCHAIN_FILE=/foo/toolchain.cmake     <br />
-DQT_QMAKE_TARGET_MKSPEC=devices/linux-orangepi-zero2w-aarch64           <br />
/foo/qt6</p>
</blockquote>
<p dir="auto">I would like to use eglfs platform plugin but i am confused about the list of associated backends available.</p>
<blockquote>
<p dir="auto">QPA backends:<br />
DirectFB ............................... no<br />
EGLFS .................................. yes<br />
EGLFS details:<br />
EGLFS OpenWFD ........................ no<br />
EGLFS i.Mx6 .......................... no<br />
EGLFS i.Mx6 Wayland .................. no<br />
EGLFS RCAR ........................... no<br />
EGLFS EGLDevice ...................... yes<br />
EGLFS GBM ............................ yes<br />
EGLFS VSP2 ........................... no<br />
EGLFS Mali ........................... no<br />
EGLFS Raspberry Pi ................... no<br />
EGLFS X11 ............................ yes</p>
</blockquote>
<p dir="auto">My device has a Mali GPU, yet the configure report above says: <code>EGLFS Mali ........................... no</code>. Shouldn't it perhaps say 'yes' instead? Or is EGLFS GBM fine? On the device I do seem to have <code>/usr/lib/aarch64-linux-gnu/libgbm.so</code> available.</p>
<p dir="auto">My mkspec for this device (<code>/foo/qt6/qtbase/mkspecs/devices/linux-orangepi-zero2w-aarch64/qmake.conf</code>):</p>
<pre><code class="language-text">DISTRO_OPTS            += deb-multi-arch

include(../common/linux_device_pre.conf)

QMAKE_LIBS_EGL         += -lEGL
QMAKE_LIBS_OPENGL_ES2  += -lGLESv2 -lEGL

QMAKE_CFLAGS            += -march=armv8-a -mtune=cortex-a53
QMAKE_CXXFLAGS          += $$QMAKE_CFLAGS

EGLFS_DEVICE_INTEGRATION = eglfs_mali

LINKER_FLAGS   += -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed

include(../common/linux_device_post.conf)

load(qt_config)
</code></pre>
<p dir="auto">Should this then be changed to <code>EGLFS_DEVICE_INTEGRATION = eglfs_gbm</code> too?</p>
]]></description><link>https://forum.qt.io/topic/152075/cross-compiling-qt-6-6-0-with-eglfs-mali-not-detected</link><generator>RSS for Node</generator><lastBuildDate>Sat, 07 Nov 2026 04:33:37 GMT</lastBuildDate><atom:link href="https://forum.qt.io/topic/152075.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 14 Nov 2023 01:30:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Cross-compiling Qt 6.6.0 with EGLFS, mali not detected on Tue, 14 Nov 2023 20:17:58 GMT]]></title><description><![CDATA[<p dir="auto">I ended up leaving out <code>EGLFS_DEVICE_INTEGRATION</code> from the mkspec and compiling as-is, works fine.</p>
]]></description><link>https://forum.qt.io/post/779747</link><guid isPermaLink="true">https://forum.qt.io/post/779747</guid><dc:creator><![CDATA[RobertB]]></dc:creator><pubDate>Tue, 14 Nov 2023 20:17:58 GMT</pubDate></item><item><title><![CDATA[Reply to Cross-compiling Qt 6.6.0 with EGLFS, mali not detected on Tue, 14 Nov 2023 14:18:14 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/jsulm">@<bdi>jsulm</bdi></a> said in <a href="/post/779709">Cross-compiling Qt 6.6.0 with EGLFS, mali not detected</a>:</p>
<blockquote>
<p dir="auto">Because it can't build the Mali test application.</p>
</blockquote>
<p dir="auto">Indeed. I took that test from qtbase.</p>
<p dir="auto">So, seeing as I am using these Mesa panfrost drivers (and not actual Mali drivers) I am <em>guessing</em> this is enough to have 3d acceleration?:</p>
<pre><code class="language-text">QPA backends:
DirectFB ............................... no
EGLFS .................................. yes
EGLFS details:
EGLFS OpenWFD ........................ no
EGLFS i.Mx6 .......................... no
EGLFS i.Mx6 Wayland .................. no
EGLFS RCAR ........................... no
EGLFS EGLDevice ...................... yes
EGLFS GBM ............................ yes
EGLFS VSP2 ........................... no
EGLFS Mali ........................... no
EGLFS Raspberry Pi ................... no
EGLFS X11 ............................ yes
</code></pre>
<p dir="auto">My only question remains is what to do with the mkspec file; currently I have:</p>
<pre><code class="language-text">EGLFS_DEVICE_INTEGRATION = eglfs_mali
</code></pre>
<p dir="auto">But I suppose that should be changed to something else. Some <a href="https://doc.qt.io/qt-6/embedded-linux.html#environment-variables-used-by-eglfs" target="_blank" rel="noopener noreferrer nofollow ugc">info here</a></p>
<p dir="auto">Do you have a hint as to what to pick? Possible candidates:</p>
<pre><code class="language-text">$ grep -r 'EGLFS_DEVICE_INTEGRATION' .
./qtbase/mkspecs/integrity-armv7-imx6/qmake.conf:EGLFS_DEVICE_INTEGRATION = eglfs_viv
./qtbase/mkspecs/integrity-armv8-rcar/qmake.conf:EGLFS_DEVICE_INTEGRATION = eglfs_rcar
./qtbase/mkspecs/devices/linux-imx6-g++/qmake.conf:EGLFS_DEVICE_INTEGRATION = eglfs_viv
./qtbase/mkspecs/devices/linux-orangepi-zero2w-aarch64/qmake.conf:EGLFS_DEVICE_INTEGRATION = eglfs_mali
./qtbase/mkspecs/devices/integrity-armv8-SA8155P/qmake.conf:EGLFS_DEVICE_INTEGRATION = eglfs_openwfd
./qtbase/mkspecs/devices/linux-imx8-g++/qmake.conf:EGLFS_DEVICE_INTEGRATION = eglfs_viv
./qtbase/mkspecs/devices/linux-rcar-h2-g++/qmake.conf:EGLFS_DEVICE_INTEGRATION = eglfs_kms
./qtbase/mkspecs/devices/integrity-armv8-drive-cx/qmake.conf:EGLFS_DEVICE_INTEGRATION = eglfs_kms_egldevice
./qtbase/mkspecs/devices/linux-rasp-pi-g++/qmake.conf:EGLFS_DEVICE_INTEGRATION = eglfs_brcm
./qtbase/mkspecs/devices/linux-tinkerboard-g++/qmake.conf:EGLFS_DEVICE_INTEGRATION = eglfs_kms
./qtbase/mkspecs/devices/linux-rasp-pi3-vc4-g++/qmake.conf:EGLFS_DEVICE_INTEGRATION = eglfs_kms
./qtbase/mkspecs/devices/linux-jetson-tk1-g++/qmake.conf:EGLFS_DEVICE_INTEGRATION = eglfs_kms_egldevice
./qtbase/mkspecs/devices/linux-jetson-tk1-pro-g++/qmake.conf:EGLFS_DEVICE_INTEGRATION = eglfs_kms_egldevice
./qtbase/mkspecs/devices/linux-nuc-g++/qmake.conf:EGLFS_DEVICE_INTEGRATION = eglfs_kms
./qtbase/mkspecs/devices/linux-beagleboard-g++/qmake.conf:EGLFS_DEVICE_INTEGRATION = none
./qtbase/mkspecs/devices/linux-jetson-tx1-g++/qmake.conf:EGLFS_DEVICE_INTEGRATION = eglfs_x11
./qtbase/mkspecs/devices/integrity-armv8-msm8996au/qmake.conf:EGLFS_DEVICE_INTEGRATION = eglfs_openwfd
./qtbase/mkspecs/devices/linux-arm-hisilicon-hix5hd2-g++/qmake.conf:EGLFS_DEVICE_INTEGRATION = eglfs_mali
./qtbase/mkspecs/devices/linux-drive-cx-g++/qmake.conf:EGLFS_DEVICE_INTEGRATION = eglfs_kms_egldevice
./qtbase/mkspecs/devices/linux-emu-g++/qmake.conf:EGLFS_DEVICE_INTEGRATION = eglfs_emu
./qtbase/mkspecs/devices/linux-rasp-pi2-g++/qmake.conf:EGLFS_DEVICE_INTEGRATION = eglfs_brcm
./qtbase/mkspecs/devices/linux-odroid-xu3-g++/qmake.conf:EGLFS_DEVICE_INTEGRATION = eglfs_mali
./qtbase/mkspecs/devices/linux-rcar-m3-g++/qmake.conf:EGLFS_DEVICE_INTEGRATION = eglfs_kms
./qtbase/mkspecs/devices/linux-rasp-pi4-aarch64/qmake.conf:EGLFS_DEVICE_INTEGRATION = eglfs_kms
./qtbase/mkspecs/devices/linux-rasp-pi3-g++/qmake.conf:EGLFS_DEVICE_INTEGRATION= eglfs_brcm
./qtbase/mkspecs/devices/linux-rasp-pi4-v3d-g++/qmake.conf:EGLFS_DEVICE_INTEGRATION = eglfs_kms
./qtbase/mkspecs/devices/freebsd-rasp-pi-clang/qmake.conf:EGLFS_DEVICE_INTEGRATION = eglfs_brcm
</code></pre>
]]></description><link>https://forum.qt.io/post/779712</link><guid isPermaLink="true">https://forum.qt.io/post/779712</guid><dc:creator><![CDATA[RobertB]]></dc:creator><pubDate>Tue, 14 Nov 2023 14:18:14 GMT</pubDate></item><item><title><![CDATA[Reply to Cross-compiling Qt 6.6.0 with EGLFS, mali not detected on Tue, 14 Nov 2023 13:16:18 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/robertb">@<bdi>RobertB</bdi></a> said in <a href="/post/779708">Cross-compiling Qt 6.6.0 with EGLFS, mali not detected</a>:</p>
<blockquote>
<p dir="auto">So I am wondering why Qt reports that Mali EGLFS is not used.</p>
</blockquote>
<p dir="auto">Because it can't build the Mali test application.<br />
The error message you posted say that the type is unknown, so I guess header files for Mali support are missing. The lib alone is not enough, you also need header files (usually you need to install dev package to get them).</p>
]]></description><link>https://forum.qt.io/post/779709</link><guid isPermaLink="true">https://forum.qt.io/post/779709</guid><dc:creator><![CDATA[jsulm]]></dc:creator><pubDate>Tue, 14 Nov 2023 13:16:18 GMT</pubDate></item><item><title><![CDATA[Reply to Cross-compiling Qt 6.6.0 with EGLFS, mali not detected on Tue, 14 Nov 2023 13:31:57 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/jsulm">@<bdi>jsulm</bdi></a> Yes, I have a proper sysroot setup on my host machine with all the relevant libraries/headers from the device, and my toolchain reflects that.</p>
<p dir="auto">I am using the following GPU driver:</p>
<p dir="auto"><code>/lib/modules/6.1.31-sun50iw9/kernel/drivers/gpu/drm/panfrost/panfrost.ko</code></p>
<p dir="auto">panfrost <a href="https://docs.mesa3d.org/drivers/panfrost.html" target="_blank" rel="noopener noreferrer nofollow ugc">has support for Mali G31</a> so that should be fine.</p>
<p dir="auto">So I am wondering why Qt reports that Mali EGLFS is not used.</p>
]]></description><link>https://forum.qt.io/post/779708</link><guid isPermaLink="true">https://forum.qt.io/post/779708</guid><dc:creator><![CDATA[RobertB]]></dc:creator><pubDate>Tue, 14 Nov 2023 13:31:57 GMT</pubDate></item><item><title><![CDATA[Reply to Cross-compiling Qt 6.6.0 with EGLFS, mali not detected on Tue, 14 Nov 2023 12:50:41 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/robertb">@<bdi>RobertB</bdi></a> said in <a href="/post/779664">Cross-compiling Qt 6.6.0 with EGLFS, mali not detected</a>:</p>
<blockquote>
<p dir="auto">On the device I do seem to have /usr/lib/aarch64-linux-gnu/libgbm.so available</p>
</blockquote>
<p dir="auto">You need all needed headers and libs on your build machine...</p>
]]></description><link>https://forum.qt.io/post/779707</link><guid isPermaLink="true">https://forum.qt.io/post/779707</guid><dc:creator><![CDATA[jsulm]]></dc:creator><pubDate>Tue, 14 Nov 2023 12:50:41 GMT</pubDate></item><item><title><![CDATA[Reply to Cross-compiling Qt 6.6.0 with EGLFS, mali not detected on Tue, 14 Nov 2023 12:01:39 GMT]]></title><description><![CDATA[<p dir="auto">The device itself fails to compile the mali test case:</p>
<p dir="auto"><img src="https://i.imgur.com/3hd9l2T.png" alt="alt text" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.qt.io/post/779703</link><guid isPermaLink="true">https://forum.qt.io/post/779703</guid><dc:creator><![CDATA[RobertB]]></dc:creator><pubDate>Tue, 14 Nov 2023 12:01:39 GMT</pubDate></item><item><title><![CDATA[Reply to Cross-compiling Qt 6.6.0 with EGLFS, mali not detected on Tue, 14 Nov 2023 11:03:52 GMT]]></title><description><![CDATA[<p dir="auto">whoops, this should probably be in the forum category "Mobile and Embedded".</p>
]]></description><link>https://forum.qt.io/post/779699</link><guid isPermaLink="true">https://forum.qt.io/post/779699</guid><dc:creator><![CDATA[RobertB]]></dc:creator><pubDate>Tue, 14 Nov 2023 11:03:52 GMT</pubDate></item></channel></rss>