Qt WebEngine displays raw HTML instead of rendering on Wayland (Debian 13 "Trixie" light image)
-
Hello everyone,
Between Debian 11 (Bullseye) and Debian 13 (Trixie), the desktop environment stack has transitioned from X11 (as the default display server) to Wayland as the main compositor protocol.
Because of this change, I had to recompile and test all my applications on the new Wayland-based environment. While testing, I encountered a rendering issue related to Qt WebEngine.
The issueIn my main (complex) application, when displaying a WebEngineView widget, instead of rendering the page, it displays raw HTML code — as shown in the image below:
This is supposed to be displaying google.com, but instead, I only see the HTML content.
As this picture shows.

This is supposed to be google.com.
To isolate the problem, I tested the quicknanobrowser example from Qt.
On the desktop version of Debian Trixie, it works perfectly.
On the light version of Debian Trixie (Wayland, minimal environment), it fails to render correctly — either blank or only partial HTML display.
i have this in logsloaded library "/neotess/player/5.15.15/qml/QtQuick/PrivateWidgets/libwidgetsplugin.so" Qt WebEngine resources not found at /usr/share/qt5/resources. Trying parent directory... Qt WebEngine resources not found at /usr/share/qt5/resources. Trying parent directory... Qt WebEngine resources not found at /usr/share/qt5. Trying application directory... Qt WebEngine resources not found at /neotess/player/5.15.15/libexec. Trying fallback directory... The application MAY NOT work. Qt WebEngine resources not found at /usr/share/qt5. Trying application directory... Qt WebEngine resources not found at /neotess/player/5.15.15/libexec. Trying fallback directory... The application MAY NOT work. Path override failed for key base::DIR_QT_LIBRARY_DATA and path '/home/neotess/.QtWebEngineProcess' Installed Qt WebEngine locales directory not found at location /usr/share/qt5/translations/qtwebengine_locales. Trying application directory... Path override failed for key base::DIR_QT_LIBRARY_DATA and path '/home/neotess/.QtWebEngineProcess' Qt WebEngine locales directory not found at location /neotess/player/5.15.15/libexec/qtwebengine_locales. Trying fallback directory... Translations MAY NOT not be correct. Installed Qt WebEngine locales directory not found at location /usr/share/qt5/translations/qtwebengine_locales. Trying applicatiPath override failed for key ui::DIR_LOCALES and path '/home/neotess/.QtWebEngineProcess' on directory... Qt WebEngine locales directory not found at location /neotess/player/5.15.15/libexec/qtwebengine_locales. Trying fallback directory... Translations MAY NOT not be correct. Path override failed for key ui::DIR_LOCALES and path '/home/neotess/.QtWebEngineProcess' [1029/093447.795770:ERROR:resource_bundle.cc(947)] Failed to load /home/neotess/.QtWebEngineProcess/qtwebengine_resources_100p.pak Some features may not be available. [1029/093447.795770:ERROR:resource_bundle.cc(947)] Failed to load /home/neotess/.QtWebEngineProcess/qtwebengine_resources_100p.pak Some features may not be available. [1029/093447.795832:ERROR:resource_bundle.cc(947)] Failed to load /home/neotess/.QtWebEngineProcess/qtwebengine_resources_200p.pak Some features may not be available. [1029/093447.795833:ERROR:resource_bundle.cc(947)] Failed to load /home/neotess/.QtWebEngineProcess/qtwebengine_resources_200p.pak Some features may not be available. [1029/093447.795839:ERROR:resource_bundle.cc(947)] Failed to load /home/neotess/.QtWebEngineProcess/qtwebengine_resources.pak Some features may not be available. [1029/093447.795845:ERROR:resource_bundle.cc(947)] Failed to load /home/neotess/.QtWebEngineProcess/qtwebengine_resources.pak Some features may not be available. [1029/093447.796654:WARNING:resource_bundle_qt.cpp(119)] locale_file_path.empty() for locale [1029/093447.796656:WARNING:resource_bundle_qt.cpp(119)] locale_file_path.empty() for localeHere is the launch.sh I use to run my app:
cat launch.sh #!/bin/bash APPDIR="$(dirname "$(realpath "$0")")" export QT_DEBUG_PLUGINS=1 #export QT_LOGGING_RULES="qt.webengine.*=true" export LD_LIBRARY_PATH="$APPDIR/5.15.15/lib:$APPDIR/5.15.15/libexec:$LD_LIBRARY_PATH" export QTWEBENGINEPROCESS_PATH="$APPDIR/5.15.15/libexec/QtWebEngineProcess" #export QTWEBENGINE_RESOURCES_PATH="$APPDIR/5.15.15/resources" #export QTWEBENGINE_LOCALES_PATH="$APPDIR/5.15.15/translations/qtwebengine_locales" #export QTWEBENGINE_DISABLE_SANDBOX=1 export QT_QPA_PLATFORM=wayland # new imports for webengine export QT_WEBENGINE_DISABLE_GPU=1 export QT_QUICK_BACKEND=software export QTWEBENGINE_CHROMIUM_FLAGS="--disable-gpu --disable-software-rasterizer --single-process --no-sandbox --use-gl=swiftshader" export LIBGL_ALWAYS_SOFTWARE=1 export QT_OPENGL=egl export QTWEBENGINE_CHROMIUM_FLAGS="--use-gl=egl" # Optional tweaks for Wayland stability export QT_WAYLAND_DISABLE_WINDOWDECORATION=1 export QT_WAYLAND_FORCE_DPI=physical exec "$APPDIR/quicknanobrowser" "$@"I created the folder 5.15.15/ by copying all the Qt runtime libraries from my desktop version (where WebEngine works correctly) to the light version.
The folder structure looks like this:
5.15.15/
├── lib
├── libexec
├── plugins
├── qml
├── resources
└── translationsAnd the WebEngine resources are present:
ls 5.15.15/resources/
qtwebengine_devtools_resources.pak
qtwebengine_resources_100p.pak
qtwebengine_resources_200p.pak
qtwebengine_resources.pak🔍 Dependency check
Running ldd on QtWebEngineProcess shows no missing dependencies:
ldd 5.15.15/libexec/QtWebEngineProcess
linux-vdso.so.1 (0x00007fff91538000)
libQt5Core.so.5 => 5.15.15/lib/libQt5Core.so.5 (0x00007fff90f10000)
libQt5WebEngineCore.so.5 => 5.15.15/lib/libQt5WebEngineCore.so.5 (0x00007fff89220000)
libQt5Quick.so.5 => 5.15.15/lib/libQt5Quick.so.5 (0x00007fff87d60000)
libQt5Gui.so.5 => 5.15.15/lib/libQt5Gui.so.5 (0x00007fff87660000)
libQt5WebChannel.so.5 => 5.15.15/lib/libQt5WebChannel.so.5 (0x00007fff87610000)
...
libGL.so.1 => /lib/aarch64-linux-gnu/libGL.so.1
...So it seems all required libraries are found.
🧩 Question
Could this problem be due to:
a missing runtime dependency (e.g. Mesa, GBM, or EGL libraries),
an incomplete QtWebEngine bundle (missing resource or locale files),
or an incompatibility between WebEngine and Wayland on minimal Debian Trixie builds?
Any suggestions on how to debug or fix WebEngine rendering issues on Wayland, especially for headless / minimal / light systems, would be greatly appreciated.
🧰 Additional information
OS: Debian 13 (Trixie) "light" image on aarch64
Qt version: 5.15.15 (custom built)
Display server: Wayland
Test app: quicknanobrowser example
Works on: Full desktop Debian (Wayland + Qt 5.15.15)
Fails on: Minimal/light Debian (Wayland)
Thank you for any insights or tips on what might be missing or misconfigured! 🙏
-
Hi,
Did you also check that you have deployed all the plugins ?
You can get what is loaded using theQT_DEBUG_PLUGINSenvironment variable before launching your application. -
Hi,
Did you also check that you have deployed all the plugins ?
You can get what is loaded using theQT_DEBUG_PLUGINSenvironment variable before launching your application.@SGaist Hello ! yes i did ! it finds well the plugins and it launches wayland-egl.
After several tests i found out that when i cross compiled the librairie webengine it works well :') ( 2000 years later )
-
T The Qt Mayssa has marked this topic as solved on
-
You mean the native build failed VS the cross-compiled version of Qt ?