Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
5.6.3, 5.12
-
None
Description
=> Please turn the configure option CFG_XCB_GLX into a tristate option ("auto" "yes", "no") (default: "auto") such that it will be possible to configure Qt like was possible prior to Qt 5.6.2.
When configuring Qt with -qt-xcb, it was possible in Qt 5.6.1 to instantiate OpenGL views also on x servers without GLX extension (e.g. vncservers).
Here is a part of the configure output:
...
XCB .................. yes (bundled copy)
EGL on X ........... no
GLX ................ no
...
Using Qt 5.6.2 or higher, GLX is enabled:
...
XCB .................. yes (bundled copy)
EGL on X ........... no
GLX ................ yes
...
Because the vnc server does provide a GLX extension, the GL context creation fails:
Warning: QXcbIntegration: Cannot create platform OpenGL context, neither GLX nor EGL are enabled ((null):0, (null))
The reason for this is the fix for QTBUG-43784 "Qt how to configure xcb without glx", which prevents to configure Qt for X-servers without GLX extension.
In the fix for QTBUG-43784 the QT_CONFIG option "xcb-glx" is set to "yes" if the xcb-glx compile check is successful.
=> Please turn the configure option CFG_XCB_GLX into a tristate option ("auto" "yes", "no") (default: "auto") such that it will be possible to configure Qt like was possible prior to Qt 5.6.2.
By providing a configure switch e.g. "-no-xcb-glx" it will be possible again to exclude the code paths within pre processor blocks "#ifdef XCB_HAS_XCB_GLX".