What do you mean writing about "minimal platform"? Previously I tried to run (over Jenkins) Qt GUI applications without VNC and theoretically it worked, but I had other problem because of this.
What do you mean writing about "minimal platform"? Previously I tried to run (over Jenkins) Qt GUI applications without VNC and theoretically it worked, but I had other problem because of this.
One of the Qt platform abstraction plugins is called "minimal", the output is something like libqminimal.so
There is also a variant that has OpenGL, "minimalegl" respectively "libqminimalegl.so"
See qtbase/src/plugins/platforms/minimal and qtbase/src/plugins/platforms/minimalegl
Cheers,
_
Did you run this over ssh? What happen if you run this:Qt Code:
$ glxinfo Error: unable to open displayTo copy to clipboard, switch view to plain text mode
?
I would like to be a "Guru"
Useful hints (try them before asking):
- Use Qt Assistant
- Search the forum
If you haven't found solution yet then create new topic with smart question.
Yes, I run it over ssh.
Qt Code:
$DISPLAY=:0 glxinfo name of display: :0 X Error of failed request: BadRequest (invalid request code or no such operation) Major opcode of failed request: 155 (GLX) Minor opcode of failed request: 19 (X_GLXQueryServerString) Serial number of failed request: 12 Current serial number in output stream: 12To copy to clipboard, switch view to plain text mode
It looks bad, but I have an access to another remote server with Jenkins (and Ubuntu 12.04 with Qt 4.8) and glxinfo (with DISPLAY=:0) gives the same result. And in spite of it, all works fine. I read here that "Unrecognized OpenGL version" warning is caused by unexpected by Qt format of OpenGL string version (VirtualBox graphic drivers...), is it true?
Did you try running the "DISPLAY=:0 glxgears -info" ?
I would like to be a "Guru"
Useful hints (try them before asking):
- Use Qt Assistant
- Search the forum
If you haven't found solution yet then create new topic with smart question.
Yes, I tried it, but result of "DISPLAY=:0 glxgears -info" is the same as "DISPLAY=:0 glxinfo". Maybe there is other way to run GUI Qt application on Jenkins (not using VNC)? I don't know to what extent this is related to Qt, but this is the only forum, where somebody replies.![]()
So, have you tried the minimal backends?
Or do you absolutely have to see the visual output?
Cheers,
_
When I'm using the "-platform minimal", my GUI app starts over SSH, but only for one user. If I'm logged on "jenkins" user:
I did "xhost +localhost", but it didn't resolve the problem.Qt Code:
No protocol specified (myApp:6080): Gtk-WARNING **: cannot open display: :0To copy to clipboard, switch view to plain text mode
Running with "platform -minimalegl" causes:
when I'm logged on "jenkins", and:Qt Code:
No protocol specified No protocol specified libEGL warning: DRI2: xcb_connect failed No protocol specified libEGL warning: DRI2: xcb_connect failed No protocol specified No protocol specified libEGL warning: GLX: XOpenDisplay failed 07:30:34.553 [Warning] Could not initialize egl display 07:30:34.554 [Error] EGL error Aborted (core dumped)To copy to clipboard, switch view to plain text mode
on a second user.Qt Code:
07:31:49.580 [Warning] Opened display 0x15283b0 X Error of failed request: BadRequest (invalid request code or no such operation) Major opcode of failed request: 155 (GLX) Minor opcode of failed request: 19 (X_GLXQueryServerString) Serial number of failed request: 13 Current serial number in output stream: 13To copy to clipboard, switch view to plain text mode
And one more thing: When I'm running from non-jenkins user with "-platform minimal" it looks ok, but after [Ctrl]+[C] (to stop application), I see on the console:
Qt Code:
07:32:35.076 [Warning] WARNING: The web process experienced a crash on ''. 07:32:35.077 [Warning] WARNING: The web process experienced a crash on ''. 07:32:35.082 [Warning] This plugin does not support createPlatformOpenGLContext! 07:32:35.083 [Warning] QtQuick: failed to create OpenGL contextTo copy to clipboard, switch view to plain text mode
Hmm, what about the offscreen platform?
Cheers,
_
I tested all available platforms:
offscreen, kms, linuxfb, minimal:
kms:Qt Code:
(myApp:22797): Gtk-WARNING **: cannot open display: :0To copy to clipboard, switch view to plain text mode
xcb:Qt Code:
pci id for fd 7: 80ee:beef, driver (null) No protocol specified pci id for fd 7: 80ee:beef, driver (null) No protocol specified pci id for fd 9: 80ee:beef, driver (null) pci id for fd 9: 80ee:beef, driver (null) No protocol specified pci id for fd 9: 80ee:beef, driver (null) No protocol specified pci id for fd 10: 80ee:beef, driver (null) pci id for fd 10: 80ee:beef, driver (null) No protocol specified pci id for fd 10: 80ee:beef, driver (null) No protocol specified pci id for fd 11: 80ee:beef, driver (null) pci id for fd 11: 80ee:beef, driver (null) No protocol specified pci id for fd 11: 80ee:beef, driver (null) 08:42:58.322 [Warning] Could not initialize EGL display 08:42:58.322 [Error] EGL error Aborted (core dumped)To copy to clipboard, switch view to plain text mode
Qt Code:
No protocol specified 08:44:35.494 [Error] QXcbConnection: Could not connect to display :0 Aborted (core dumped)To copy to clipboard, switch view to plain text mode
Okay, so to clarify - all your tests from previous post was done through VNC?
Did you try running your Qt app on local VirtualBox machine?
I would like to be a "Guru"
Useful hints (try them before asking):
- Use Qt Assistant
- Search the forum
If you haven't found solution yet then create new topic with smart question.
Sorry for long silence. I resolved the problem by typing "xhost +SI:localuser:jenkins" and using "-platform minimal". Thank you all for your help!
Bookmarks