Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QtWebEngine
  4. Qt WebEngine displays raw HTML instead of rendering on Wayland (Debian 13 "Trixie" light image)
Forum Updated to NodeBB v4.3 + New Features

Qt WebEngine displays raw HTML instead of rendering on Wayland (Debian 13 "Trixie" light image)

Scheduled Pinned Locked Moved Solved QtWebEngine
4 Posts 2 Posters 583 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    The Qt Mayssa
    wrote on last edited by
    #1

    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 issue

    In 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.
    ba8826e6-fd2e-4b53-b41b-2501f2f8ca0d-image.png

    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 logs

    loaded 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 locale
    
    

    Here 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
    └── translations

    And 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! 🙏

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi,

      Did you also check that you have deployed all the plugins ?
      You can get what is loaded using the QT_DEBUG_PLUGINS environment variable before launching your application.

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      T 1 Reply Last reply
      0
      • SGaistS SGaist

        Hi,

        Did you also check that you have deployed all the plugins ?
        You can get what is loaded using the QT_DEBUG_PLUGINS environment variable before launching your application.

        T Offline
        T Offline
        The Qt Mayssa
        wrote on last edited by
        #3

        @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 )

        1 Reply Last reply
        0
        • T The Qt Mayssa has marked this topic as solved on
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #4

          You mean the native build failed VS the cross-compiled version of Qt ?

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply
          0

          • Login

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups
          • Search
          • Get Qt Extensions
          • Unsolved