<?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[QTWebEngine on Zynq-7000]]></title><description><![CDATA[<p dir="auto">Hi.<br />
I'm trying to run a simple full-screen browser in Linux framebuffer on Zynq-7000. I already manage to do that using QTWebKit, but now I'm trying to do the same with QTWebEngine, as QTWebKit is outdated and does not support the features I want to use.<br />
I found the simplest possible example code:</p>
<h2><a href="http://webengine.pro" target="_blank" rel="noopener noreferrer nofollow ugc">webengine.pro</a></h2>
<pre><code>TARGET = browser
TEMPLATE = app
SOURCES = main.cpp
QT += qml quick webengine
</code></pre>
<h2>main.cpp</h2>
<pre><code class="language-c++">#include &lt;QtGui/QGuiApplication&gt;
#include &lt;QtQml/QQmlApplicationEngine&gt;
#include &lt;QtWebEngine/qtwebengineglobal.h&gt;

int main(int argc, char *argv[])
{
  QGuiApplication app(argc, argv);
  QtWebEngine::initialize();
  QQmlApplicationEngine appEngine;
  appEngine.load(QUrl("main.qml"));

  return app.exec();
}
</code></pre>
<h2>main.qml</h2>
<pre><code class="language-qml">import QtQuick 2.0
import QtWebEngine 1.0
import QtQuick.Window 2.0

WebEngineView {
  width: Screen.width
  height: Screen.height
  url: 'http://127.0.0.1'
}
</code></pre>
<p dir="auto">After many tries, I found the way to build this application using a modified Docker container from <a href="https://github.com/Screenly/Anthias/tree/master/webview" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/Screenly/Anthias/tree/master/webview</a>. My modification was to use balenalib/zynq-xz702:bookworm as the builder, instead of the image for Raspberry Pi.<br />
I have already installed QT5 packages in this system.</p>
<pre><code class="language-bash">root@arm:/media/sd-mmcblk0p1/pi3# apt list --installed |grep libqt5
libqt5core5a/oldstable,now 5.15.8+dfsg-11+deb12u3 armhf [installed,automatic]
libqt5dbus5/oldstable,now 5.15.8+dfsg-11+deb12u3 armhf [installed,automatic]
libqt5gui5/oldstable,now 5.15.8+dfsg-11+deb12u3 armhf [installed,automatic]
libqt5network5/oldstable,now 5.15.8+dfsg-11+deb12u3 armhf [installed,automatic]
libqt5positioning5/oldstable,now 5.15.8+dfsg-3+deb12u1 armhf [installed,automatic]
libqt5printsupport5/oldstable,now 5.15.8+dfsg-11+deb12u3 armhf [installed,automatic]
libqt5qml5/oldstable,now 5.15.8+dfsg-3 armhf [installed]
libqt5qmlmodels5/oldstable,now 5.15.8+dfsg-3 armhf [installed,automatic]
libqt5quick5/oldstable,now 5.15.8+dfsg-3 armhf [installed]
libqt5quickwidgets5/oldstable,now 5.15.8+dfsg-3 armhf [installed,automatic]
libqt5sensors5/oldstable,now 5.15.8-2 armhf [installed,automatic]
libqt5svg5/oldstable,now 5.15.8-3 armhf [installed,automatic]
libqt5test5/oldstable,now 5.15.8+dfsg-11+deb12u3 armhf [installed,automatic]
libqt5texttospeech5/oldstable,now 5.15.8-2 armhf [installed,automatic]
libqt5waylandclient5/oldstable,now 5.15.8-2 armhf [installed,automatic]
libqt5waylandcompositor5/oldstable,now 5.15.8-2 armhf [installed,automatic]
libqt5webchannel5/oldstable,now 5.15.8-2 armhf [installed,automatic]
libqt5webengine-data/oldstable,now 5.15.13+dfsg-1~deb12u1 all [installed,automatic]
libqt5webengine5/oldstable,now 5.15.13+dfsg-1~deb12u1 armhf [installed]
libqt5webenginecore5/oldstable,now 5.15.13+dfsg-1~deb12u1 armhf [installed]
libqt5webenginewidgets5/oldstable,now 5.15.13+dfsg-1~deb12u1 armhf [installed]
libqt5webkit5/oldstable,now 5.212.0~alpha4-30 armhf [installed]
libqt5widgets5/oldstable,now 5.15.8+dfsg-11+deb12u3 armhf [installed,automatic]
libqt5x11extras5/oldstable,now 5.15.8-2 armhf [installed,automatic]
libqt5xml5/oldstable,now 5.15.8+dfsg-11+deb12u3 armhf [installed,automatic]
</code></pre>
<p dir="auto">Now, when I try to run application on the target system (Zynq-7000 with Debian 12) I got an error:</p>
<pre><code>QtWebEngine::initialize() called with QCoreApplication object already created and should be call before. This is depreciated and may fail in the future.
This plugin does not support createPlatformOpenGLContext!
Attribute Qt::AA_ShareOpenGLContexts must be set before QCoreApplication is created.
qt.qpa.input: evdevtouch: Using device /dev/input/event0
qt.qpa.input: evdevtouch: /dev/input/event0: Protocol type B (mtdev) (multi), filtered=no
qt.qpa.input: evdevtouch: /dev/input/event0: min X: 0 max X: 0
qt.qpa.input: evdevtouch: /dev/input/event0: min Y: 0 max Y: 0
qt.qpa.input: evdevtouch: /dev/input/event0: min pressure: 0 max pressure: 4095
qt.qpa.input: evdevtouch: /dev/input/event0: device name: TSC2007 Touchscreen
QQmlApplicationEngine failed to load component
file:///media/sd-mmcblk0p1/pi3/main.qml:3:1: module "QtQuick.Window" is not installed
file:///media/sd-mmcblk0p1/pi3/main.qml:2:1: module "QtWebEngine" is not installed
file:///media/sd-mmcblk0p1/pi3/main.qml:3:1: module "QtQuick.Window" is not installed
file:///media/sd-mmcblk0p1/pi3/main.qml:2:1: module "QtWebEngine" is not installed
Illegal instruction
</code></pre>
<p dir="auto">Looks like I have to configure (or fix) some environment variables, but I'm new to QT and really don't know how to debug this issue.<br />
Please help me make it work.</p>
]]></description><link>https://forum.qt.io/topic/163543/qtwebengine-on-zynq-7000</link><generator>RSS for Node</generator><lastBuildDate>Mon, 27 Apr 2026 23:58:10 GMT</lastBuildDate><atom:link href="https://forum.qt.io/topic/163543.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 18 Oct 2025 10:58:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to QTWebEngine on Zynq-7000 on Sat, 18 Oct 2025 11:41:56 GMT]]></title><description><![CDATA[<p dir="auto">Thanks <a class="plugin-mentions-user plugin-mentions-a" href="/user/jonb">@<bdi>JonB</bdi></a>, now I see fewer warnings</p>
<pre><code>root@arm:/media/sd-mmcblk0p1# ./browser
QStandardPaths: wrong permissions on runtime directory /media/sd-mmcblk0p1/qt_runtime, 0755 instead of 0700
qt.qpa.input: libinput: event0  - TSC2007 Touchscreen: is tagged by udev as: Touchscreen
qt.qpa.input: libinput: event0  - TSC2007 Touchscreen: device is a touch device
qt.qpa.input: libinput: event1  - gpio-keys: is tagged by udev as: Keyboard
qt.qpa.input: libinput: event1  - gpio-keys: device is a keyboard
qt.qpa.input: Using xkbcommon for key mapping
qt.qpa.input: libinput: registerDevice /dev/input/event0 - TSC2007 Touchscreen
This plugin does not support createPlatformOpenGLContext!
qt.qpa.input: evdevtouch: Adding device at /dev/input/event0
qt.qpa.input: evdevtouch: Using device /dev/input/event0
qt.qpa.input: evdevtouch: /dev/input/event0: Protocol type B (mtdev) (multi), filtered=no
qt.qpa.input: evdevtouch: /dev/input/event0: min X: 0 max X: 0
qt.qpa.input: evdevtouch: /dev/input/event0: min Y: 0 max Y: 0
qt.qpa.input: evdevtouch: /dev/input/event0: min pressure: 0 max pressure: 4095
qt.qpa.input: evdevtouch: /dev/input/event0: device name: TSC2007 Touchscreen
QQmlApplicationEngine failed to load component
file:///media/sd-mmcblk0p1/main.qml:3:1: module "QtQuick.Window" is not installed
file:///media/sd-mmcblk0p1/main.qml:2:1: module "QtWebEngine" is not installed
file:///media/sd-mmcblk0p1/main.qml:3:1: module "QtQuick.Window" is not installed
file:///media/sd-mmcblk0p1/main.qml:2:1: module "QtWebEngine" is not installed
Illegal instruction
</code></pre>
<p dir="auto">but the main problem is still here</p>
]]></description><link>https://forum.qt.io/post/832961</link><guid isPermaLink="true">https://forum.qt.io/post/832961</guid><dc:creator><![CDATA[Kiyenko]]></dc:creator><pubDate>Sat, 18 Oct 2025 11:41:56 GMT</pubDate></item><item><title><![CDATA[Reply to QTWebEngine on Zynq-7000 on Sat, 18 Oct 2025 11:09:38 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/kiyenko">@<bdi>Kiyenko</bdi></a> said in <a href="/post/832955">QTWebEngine on Zynq-7000</a>:</p>
<blockquote>
<p dir="auto">QtWebEngine::initialize() called with QCoreApplication object already created and should be call before. This is depreciated and may fail in the future.</p>
</blockquote>
<p dir="auto">For this one why not fix?  <a href="https://doc.qt.io/archives/qt-5.15/qtwebengine.html#initialize" target="_blank" rel="noopener noreferrer nofollow ugc">https://doc.qt.io/archives/qt-5.15/qtwebengine.html#initialize</a> tells you</p>
<blockquote>
<p dir="auto">Sets up an OpenGL Context that can be shared between threads. This has to be done before QGuiApplication is created and before window's QPlatformOpenGLContext is created.</p>
</blockquote>
<p dir="auto">so it belongs <em>before</em> <code>QGuiApplication app(argc, argv);</code>.</p>
<p dir="auto">And maybe same for</p>
<blockquote>
<p dir="auto">Attribute Qt::AA_ShareOpenGLContexts must be set before QCoreApplication is created.</p>
</blockquote>
<p dir="auto">though that may not affect the</p>
<blockquote>
<p dir="auto">This plugin does not support createPlatformOpenGLContext!</p>
</blockquote>
<p dir="auto">and the other complaints.</p>
]]></description><link>https://forum.qt.io/post/832957</link><guid isPermaLink="true">https://forum.qt.io/post/832957</guid><dc:creator><![CDATA[JonB]]></dc:creator><pubDate>Sat, 18 Oct 2025 11:09:38 GMT</pubDate></item></channel></rss>