Uploaded image for project: 'Qt for Python'
  1. Qt for Python
  2. PYSIDE-2283

qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.

    XMLWordPrintable

Details

    • Task
    • Resolution: Fixed
    • Not Evaluated
    • 6.5.0, 6.6.0
    • 6.5.0
    • Build System
    • None
    • Linux/Wayland, Linux/X11, Linux/Other display system
    • 9bd4b56b4 (dev), e2b4c42c9 (6.5)

    Description

      Staring a Linux executable which is built via pyside6-deploy (Nuitka 1.5.0) results in the following error message on a bare Docker container with Ubuntu 20.04 or Github Actions:

      qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
      This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
      
      Available platform plugins are: eglfs, vkkhrdisplay, minimal, offscreen, wayland-egl, wayland, vnc, minimalegl, linuxfb, xcb.
      
      ---> Application does not start <--- 

      Issue reported via Github Nuitka https://github.com/Nuitka/Nuitka/issues/2138. However, this issue is related to undocumented system dependencies.

      After hours of searching in Qt/Pyside6 documentation and reverse engineering Pyside6 I figured out that the following minimum system dependencies are required:

      # Undocumented Pyside6 system dependencies
      sudo apt install -y \
                  libfontconfig1-dev libfreetype6-dev \
                  libx11-dev libx11-xcb-dev libxext-dev libxfixes-dev \
                  libxi-dev libxrender-dev \
                  libxkbcommon-dev libxkbcommon-x11-dev libatspi2.0-dev \
                  libopengl0 '^libxcb.*-dev'
                  libgl1 \
                  libegl1 \
                  libdbus-glib-1-2
      
      # Nuitka dependencies
      sudo apt install -y \
                  ccache \
                  clang \
                  patchelf

      Automated executable builds are now working on Github Action using pyside6-deploy and this is the first project in the world using it.

      Can you review the minimum required system dependencies listed above and update the documentation on https://doc.qt.io/qtforpython-6/deployment/deployment-pyside6-deploy.html# when building executables for deployment on bare Linux systems?

      Attachments

        Issue Links

          For Gerrit Dashboard: PYSIDE-2283
          # Subject Branch Project Status CR V

          Activity

            People

              kleint Friedemann Kleint
              erriez Erriez Ew
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes