qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
-
I have been trying to automatically LiveStream OBS-Studio, for sometime now, I was getting the error message reported here.
My setup is Ubuntu 21.0.4 OBS-Studio 27.01. I have a scrip that runs OBS with all the correct parameters to choose the correct video depending on the day of week. This script works perfectly. But it would not run from crontab.
The bulk of this post did not seem like it was solving the real problem and did not solve mine.The thing is my script did work when I ran it from the command line from within my "GUI" session. This indicates to me that I had all the correct things in place to run my script.
After some thought I realised .....
crontab runs on the console, if you want to think of it as an old tty terminal not a GUI session.So I determined what my $DISPLAY is by typing "echo $DISPLAY, in my case this returned 0 (zero).
Now I know my DISPLAY I putting the DISPLAY=0 in the users crontab, before calling my script and this worked.
As above, I determined my DISPLAY number by: Typing echo $DISPLAY and pressing ENTER. This gave me 0.
My crontab now has: 55 20 * * * DISPLAY=:0 /home/pats/Documents/LiveStreamFiles/scripts/myscript.sh 2>&1 &
Thanks again and I hope this helps others...
-
Nikolay_spb about an hour ago
Help my please.
I have error and cat't it fixed two day.
I done two commandsexport QT_DEBUG_PLUGINS=1
qtcreatorand get code
QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqeglfs.so"
Found metadata in lib /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqeglfs.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"eglfs"
]
},
"archreq": 0,
"className": "QEglFSIntegrationPlugin",
"debug": false,
"version": 330752
}Got keys from plugin meta data ("eglfs")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqlinuxfb.so"
Found metadata in lib /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqlinuxfb.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"linuxfb"
]
},
"archreq": 0,
"className": "QLinuxFbIntegrationPlugin",
"debug": false,
"version": 330752
}Got keys from plugin meta data ("linuxfb")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqminimal.so"
Found metadata in lib /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqminimal.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"minimal"
]
},
"archreq": 0,
"className": "QMinimalIntegrationPlugin",
"debug": false,
"version": 330752
}Got keys from plugin meta data ("minimal")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqminimalegl.so"
Found metadata in lib /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqminimalegl.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"minimalegl"
]
},
"archreq": 0,
"className": "QMinimalEglIntegrationPlugin",
"debug": false,
"version": 330752
}Got keys from plugin meta data ("minimalegl")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqoffscreen.so"
Found metadata in lib /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqoffscreen.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"offscreen"
]
},
"archreq": 0,
"className": "QOffscreenIntegrationPlugin",
"debug": false,
"version": 330752
}Got keys from plugin meta data ("offscreen")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqvnc.so"
Found metadata in lib /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqvnc.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"vnc"
]
},
"archreq": 0,
"className": "QVncIntegrationPlugin",
"debug": false,
"version": 330752
}Got keys from plugin meta data ("vnc")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so"
Found metadata in lib /usr/lib/x86_64-linux-gnu/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": 330752
}Got keys from plugin meta data ("xcb")
QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/platforms" ...
loaded library "/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so"
qt.qpa.xcb: could not connect to display :1.0
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, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
Where i have error?
QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/platforms" ...
loaded library "/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so"
-
@Nikolay_spb said in qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.:
qt.qpa.xcb: could not connect to display :1.0
Same question and answer as in your thread https://forum.qt.io/topic/130978/qt-qpa-plugin-could-not-load-the-qt-platform-plugin-xcb-in. Not an xcb library loading problem, rather however your X display is set up/connecting.
Please pick one or other thread to discuss. Suggest the other one now that you have started it.
-
I, think I just had the same problem (on Debian 10). Did a sys-update -> QtCreator does not start anymore.
How I got QtCreator to start again is by adding a soft link to libxcb-util since it seems that the platformplugi is trying to load the wrong version?sudo ln -s /usr/lib/x86_64-linux-gnu/libxcb-util.so.0 /usr/lib/x86_64-linux-gnu/libxcb-util.so.1
That might not be a perfect solution but now I can use it again at least.
-
hello @Violet-Giraffe
it worked for me
thank you -
@Srinivas-Reddy Yes, that's the solution. ❤️
-
Thanks, now it works!
-
@Srinivas-Reddy I solved this issue, tks
-
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! -
@UltraBlack_
Please search again for your error message, which isqt.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. -
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 ;/
-
@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?
-
@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. -
@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.
-
@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. -
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.
-
@HlaElks
I don't know which of thecv2
versus thePyQt5
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 runldd
on it and examine the output for a missing dependency. Whether that is what you need to know I don't know. -
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?
-
@actionmystique
As has been said many times, the first thing to try is running with environment variableQT_DEBUG_PLUGINS=1
.
When you have located the xcb.so
file, you might also runldd
on it to see if that tells you anything is missing.