Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
Forum Updated to NodeBB v4.3 + New Features

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

Scheduled Pinned Locked Moved Solved Installation and Deployment
183 Posts 87 Posters 886.7k Views 8 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.
  • V Violet Giraffe

    @Matriarch, thank you,

    sudo apt-get install libxcb-xinerama0
    

    worked for me on Ubuntu 20.04. Shame one has to scroll so deep down into the discussion before finding the answer.

    Also, I recently spent a lot of time getting a Qt application to run in a Github Actions VM - I was battling the xcb errors. Here's the complete list of things that needed to be installed:

    sudo apt-get install -qq libglu1-mesa-dev libx11-xcb-dev '^libxcb*'
    
    ali-aydinA Offline
    ali-aydinA Offline
    ali-aydin
    wrote on last edited by
    #110

    hello @Violet-Giraffe
    it worked for me
    thank you

    1 Reply Last reply
    0
    • S Srinivas Reddy

      I am using Qt-5.15.0, got the same problem.
      More details are:
      QLibraryPrivate::loadPlugin failed on "/opt/Qt/5.15.0/gcc_64/plugins/platforms/libqxcb.so" : "Cannot load library /opt/Qt/5.15.0/gcc_64/plugins/platforms/libqxcb.so: (libxcb-xinerama.so.0: cannot open shared object file: No such file or directory)"

      Solved by installing the dependent package.
      Command to install: sudo apt-get install libxcb-xinerama0

      A Offline
      A Offline
      Alireza Kazemipour
      wrote on last edited by
      #111

      @Srinivas-Reddy Yes, that's the solution. ❤️

      1 Reply Last reply
      0
      • S Srinivas Reddy

        I am using Qt-5.15.0, got the same problem.
        More details are:
        QLibraryPrivate::loadPlugin failed on "/opt/Qt/5.15.0/gcc_64/plugins/platforms/libqxcb.so" : "Cannot load library /opt/Qt/5.15.0/gcc_64/plugins/platforms/libqxcb.so: (libxcb-xinerama.so.0: cannot open shared object file: No such file or directory)"

        Solved by installing the dependent package.
        Command to install: sudo apt-get install libxcb-xinerama0

        L Offline
        L Offline
        LTossit
        wrote on last edited by LTossit
        #112

        Thanks, now it works!

        1 Reply Last reply
        0
        • S Srinivas Reddy

          I am using Qt-5.15.0, got the same problem.
          More details are:
          QLibraryPrivate::loadPlugin failed on "/opt/Qt/5.15.0/gcc_64/plugins/platforms/libqxcb.so" : "Cannot load library /opt/Qt/5.15.0/gcc_64/plugins/platforms/libqxcb.so: (libxcb-xinerama.so.0: cannot open shared object file: No such file or directory)"

          Solved by installing the dependent package.
          Command to install: sudo apt-get install libxcb-xinerama0

          S Offline
          S Offline
          sonicss
          wrote on last edited by
          #113

          @Srinivas-Reddy I solved this issue, tks

          1 Reply Last reply
          0
          • U Offline
            U Offline
            UltraBlack_
            wrote on last edited by UltraBlack_
            #114

            Hey there,
            it seems like I am facing the same issue as well, on Arch once again.
            I have already tried debugging with QT_DEBUG_PLUGINS=1 (https://termbin.com/uszc - After fixage) but after solving all of the errors there I still wasn't able to fix this.
            The applications run fine when executing them with sudo, but just not otherwise.
            Do you have and Ideas?
            Thanks!

            JonBJ 1 Reply Last reply
            0
            • U UltraBlack_

              Hey there,
              it seems like I am facing the same issue as well, on Arch once again.
              I have already tried debugging with QT_DEBUG_PLUGINS=1 (https://termbin.com/uszc - After fixage) but after solving all of the errors there I still wasn't able to fix this.
              The applications run fine when executing them with sudo, but just not otherwise.
              Do you have and Ideas?
              Thanks!

              JonBJ Offline
              JonBJ Offline
              JonB
              wrote on last edited by
              #115

              @UltraBlack_
              Please search again for your error message, which is qt.qpa.xcb: could not connect to display. There are plenty of posts about that on this forum and elsewhere. As I wrote earlier that means:

              Not an xcb library loading problem, rather however your X display is set up/connecting.

              Since you say it runs under sudo, I can only imagine either your permissions or your X environment is set up to allow that but not for your non-sudo user.

              As always, try to run an xterm. If you cannot run that you know you do not have a Qt problem.

              1 Reply Last reply
              2
              • D Offline
                D Offline
                Dariusz
                wrote on last edited by
                #116

                Same problem here.
                When I run app freshly build everything works.
                But when I want to > process.setArguments(["--set-rpath", "./", releaseFile]) Then everything breaks. Error :

                Warning: Ignoring WAYLAND_DISPLAY on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
                qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
                qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
                This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
                

                Its driving me nuts. Adding rpath relative to current binary/folder breaks everything ;/

                jsulmJ 1 Reply Last reply
                0
                • D Dariusz

                  Same problem here.
                  When I run app freshly build everything works.
                  But when I want to > process.setArguments(["--set-rpath", "./", releaseFile]) Then everything breaks. Error :

                  Warning: Ignoring WAYLAND_DISPLAY on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
                  qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
                  qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
                  This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
                  

                  Its driving me nuts. Adding rpath relative to current binary/folder breaks everything ;/

                  jsulmJ Offline
                  jsulmJ Offline
                  jsulm
                  Lifetime Qt Champion
                  wrote on last edited by
                  #117

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

                  Adding rpath relative to current binary/folder

                  It is relative to current working directory - are you sure it is the correct one?

                  https://forum.qt.io/topic/113070/qt-code-of-conduct

                  1 Reply Last reply
                  0
                  • D Offline
                    D Offline
                    Dariusz
                    wrote on last edited by
                    #118

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

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

                    Adding rpath relative to current binary/folder

                    It is relative to current working directory - are you sure it is the correct one?

                    Relative to the current working directory... but if I move exe to a different directory, then will the path be relative to that new directory or old one?
                    Its all in root of app, I even tried to copy plugins content out of plugins folder and in to root too. Nothing seems to be working.

                    jsulmJ 1 Reply Last reply
                    0
                    • D Dariusz

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

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

                      Adding rpath relative to current binary/folder

                      It is relative to current working directory - are you sure it is the correct one?

                      Relative to the current working directory... but if I move exe to a different directory, then will the path be relative to that new directory or old one?
                      Its all in root of app, I even tried to copy plugins content out of plugins folder and in to root too. Nothing seems to be working.

                      jsulmJ Offline
                      jsulmJ Offline
                      jsulm
                      Lifetime Qt Champion
                      wrote on last edited by
                      #119

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

                      but if I move exe to a different directory, then will the path be relative to that new directory or old one?

                      Well, yes it should be the working directory of the process you start, so the one where the exe is located.

                      https://forum.qt.io/topic/113070/qt-code-of-conduct

                      D 1 Reply Last reply
                      0
                      • jsulmJ jsulm

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

                        but if I move exe to a different directory, then will the path be relative to that new directory or old one?

                        Well, yes it should be the working directory of the process you start, so the one where the exe is located.

                        D Offline
                        D Offline
                        Dariusz
                        wrote on last edited by
                        #120

                        @jsulm Yep, then should be relative. Looking at argument I pass process.setArguments(["--set-rpath", "./", releaseFile]) I set rpath to be ./ which is I take relative to exe dir.
                        He still fails to properly solve the xbc/wayland stuff. Do I need to dig in to xcb library themself, and remap them too to point to correct qt folders or something? I'll ldd them see what they look for where.
                        Maybe they need configuring too to be relative to xx project.

                        1 Reply Last reply
                        0
                        • H Offline
                          H Offline
                          HlaElks
                          wrote on last edited by
                          #121

                          Hi, the displayed message may indicate these two paths(

                          /home/lis/.local/lib/python3.9/site-packages/cv2/qt/plugins/platforms/libqxcb.so
                          /home/lis/.local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so
                          
                          

                          ) are mixed. How should I fix this? . Thanks!

                          QFactoryLoader::QFactoryLoader() looking at "/home/lis/.local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so"
                          Found metadata in lib /home/lis/.local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so, metadata=
                          {
                              "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
                              "MetaData": {
                                  "Keys": [
                                      "xcb"
                                  ]
                              },
                              "archreq": 0,
                              "className": "QXcbIntegrationPlugin",
                              "debug": false,
                              "version": 331520
                          }
                          Got keys from plugin meta data ("xcb")
                          QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/platforms" ...
                          loaded library "/home/lis/.local/lib/python3.9/site-packages/cv2/qt/plugins/platforms/libqxcb.so"
                          
                          qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/home/lis/.local/lib/python3.9/site-packages/cv2/qt/plugins" even though it was found.
                          
                          
                          JonBJ 1 Reply Last reply
                          0
                          • H HlaElks

                            Hi, the displayed message may indicate these two paths(

                            /home/lis/.local/lib/python3.9/site-packages/cv2/qt/plugins/platforms/libqxcb.so
                            /home/lis/.local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so
                            
                            

                            ) are mixed. How should I fix this? . Thanks!

                            QFactoryLoader::QFactoryLoader() looking at "/home/lis/.local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so"
                            Found metadata in lib /home/lis/.local/lib/python3.9/site-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so, metadata=
                            {
                                "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
                                "MetaData": {
                                    "Keys": [
                                        "xcb"
                                    ]
                                },
                                "archreq": 0,
                                "className": "QXcbIntegrationPlugin",
                                "debug": false,
                                "version": 331520
                            }
                            Got keys from plugin meta data ("xcb")
                            QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/platforms" ...
                            loaded library "/home/lis/.local/lib/python3.9/site-packages/cv2/qt/plugins/platforms/libqxcb.so"
                            
                            qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/home/lis/.local/lib/python3.9/site-packages/cv2/qt/plugins" even though it was found.
                            
                            
                            JonBJ Offline
                            JonBJ Offline
                            JonB
                            wrote on last edited by
                            #122

                            @HlaElks
                            I don't know which of the cv2 versus the PyQt5 ones you want/need to load. But if you want to find out why /home/lis/.local/lib/python3.9/site-packages/cv2/qt/plugins/platforms/libqxcb.so failed to load you might run ldd on it and examine the output for a missing dependency. Whether that is what you need to know I don't know.

                            1 Reply Last reply
                            0
                            • A Offline
                              A Offline
                              actionmystique
                              wrote on last edited by actionmystique
                              #123

                              Hi there. I've encountered the same type of issue when running Seagate's:

                              ./run_SeaTools.sh
                              qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/usr/lib/x86_64-linux-gnu/qt5/plugins:/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms" even though it was found.
                              

                              I could not read all the posts in this thread, but I tried some of the proposed solutions which did not solve anything in my case:

                              # apt install --reinstall libqt5gui5 qtbase5-dev qt5dxcb-plugin libxcb-xinerama0
                              ...
                              # export QT_DEBUG_PLUGINS=1
                              # export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms
                              # ./run_SeaTools.sh 
                              qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/usr/lib/x86_64-linux-gnu/qt5/plugins:/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms" even though it was found.
                              This application failed to start because no Qt platform plugin could be initialized.
                              ...
                              

                              Any suggestion?

                              JonBJ SGaistS 2 Replies Last reply
                              0
                              • A actionmystique

                                Hi there. I've encountered the same type of issue when running Seagate's:

                                ./run_SeaTools.sh
                                qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/usr/lib/x86_64-linux-gnu/qt5/plugins:/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms" even though it was found.
                                

                                I could not read all the posts in this thread, but I tried some of the proposed solutions which did not solve anything in my case:

                                # apt install --reinstall libqt5gui5 qtbase5-dev qt5dxcb-plugin libxcb-xinerama0
                                ...
                                # export QT_DEBUG_PLUGINS=1
                                # export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms
                                # ./run_SeaTools.sh 
                                qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/usr/lib/x86_64-linux-gnu/qt5/plugins:/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms" even though it was found.
                                This application failed to start because no Qt platform plugin could be initialized.
                                ...
                                

                                Any suggestion?

                                JonBJ Offline
                                JonBJ Offline
                                JonB
                                wrote on last edited by
                                #124

                                @actionmystique
                                As has been said many times, the first thing to try is running with environment variable QT_DEBUG_PLUGINS=1.
                                When you have located the xcb .so file, you might also run ldd on it to see if that tells you anything is missing.

                                1 Reply Last reply
                                0
                                • A actionmystique

                                  Hi there. I've encountered the same type of issue when running Seagate's:

                                  ./run_SeaTools.sh
                                  qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/usr/lib/x86_64-linux-gnu/qt5/plugins:/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms" even though it was found.
                                  

                                  I could not read all the posts in this thread, but I tried some of the proposed solutions which did not solve anything in my case:

                                  # apt install --reinstall libqt5gui5 qtbase5-dev qt5dxcb-plugin libxcb-xinerama0
                                  ...
                                  # export QT_DEBUG_PLUGINS=1
                                  # export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms
                                  # ./run_SeaTools.sh 
                                  qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/usr/lib/x86_64-linux-gnu/qt5/plugins:/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms" even though it was found.
                                  This application failed to start because no Qt platform plugin could be initialized.
                                  ...
                                  

                                  Any suggestion?

                                  SGaistS Offline
                                  SGaistS Offline
                                  SGaist
                                  Lifetime Qt Champion
                                  wrote on last edited by
                                  #125

                                  Hi

                                  @actionmystique why are you trying to run a GUI application as root ?

                                  How did you become root in the first place ?

                                  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
                                  • A Offline
                                    A Offline
                                    actionmystique
                                    wrote on last edited by
                                    #126

                                    @SGaist

                                    why are you trying to run a GUI application as root ?

                                    root is required to run /usr/bin/env which is used in the script. I do no see any reason why being root may be the root ;-) cause for this issue.

                                    How did you become root in the first place ?

                                    Does it really matter?

                                    JonBJ 1 Reply Last reply
                                    0
                                    • A actionmystique

                                      @SGaist

                                      why are you trying to run a GUI application as root ?

                                      root is required to run /usr/bin/env which is used in the script. I do no see any reason why being root may be the root ;-) cause for this issue.

                                      How did you become root in the first place ?

                                      Does it really matter?

                                      JonBJ Offline
                                      JonBJ Offline
                                      JonB
                                      wrote on last edited by
                                      #127

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

                                      root is required to run /usr/bin/env

                                      I do not know what platform/variant of Linux you are on, but since when has running /usr/bin/env ever required root permission/user to run??

                                      I do no see any reason why being root may be the root ;-) cause for this issue.

                                      Xorg does not like a root user to run UI applications if you are logged into it as a non-root user. (I don't know whether xhost +... would permit this.) I imagine that is why @SGaist is asking.

                                      A 1 Reply Last reply
                                      1
                                      • JonBJ JonB

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

                                        root is required to run /usr/bin/env

                                        I do not know what platform/variant of Linux you are on, but since when has running /usr/bin/env ever required root permission/user to run??

                                        I do no see any reason why being root may be the root ;-) cause for this issue.

                                        Xorg does not like a root user to run UI applications if you are logged into it as a non-root user. (I don't know whether xhost +... would permit this.) I imagine that is why @SGaist is asking.

                                        A Offline
                                        A Offline
                                        actionmystique
                                        wrote on last edited by
                                        #128

                                        @JonB

                                        I do not know what platform/variant of Linux you are on, but since when has running /usr/bin/env ever required root permission/user to run??

                                        I did not phrase it correctly; pkexec needs root to run env ; the script contains:

                                        pkexec env DISPLAY="$DISPLAY" XAUTHORITY="$XAUTHORITY" "$seadoctorDir"/exec-seatools-in-dir
                                        
                                        JonBJ 1 Reply Last reply
                                        0
                                        • A actionmystique

                                          @JonB

                                          I do not know what platform/variant of Linux you are on, but since when has running /usr/bin/env ever required root permission/user to run??

                                          I did not phrase it correctly; pkexec needs root to run env ; the script contains:

                                          pkexec env DISPLAY="$DISPLAY" XAUTHORITY="$XAUTHORITY" "$seadoctorDir"/exec-seatools-in-dir
                                          
                                          JonBJ Offline
                                          JonBJ Offline
                                          JonB
                                          wrote on last edited by
                                          #129

                                          @actionmystique
                                          If you are running as root but not logged on as root I still wonder if that is the issue.

                                          Xorg

                                          By default, and for security reasons, root will be unable to connect to a non-root user's X server. There are multiple ways of allowing root to do so however, if necessary.

                                          https://wiki.archlinux.org/title/Running_GUI_applications_as_root

                                          Maybe this is an issue, maybe it is not.

                                          A 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