Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
5.9.4, 5.10.1, 5.11.0 Beta 2
-
None
-
Desktop Linux with Open Source graphics (MESA and X11/XCB)
Description
Back in the days of Qt 5.3 there used to be bug in `libxcb` that would caused crashes with threaded GL on XCB with MESA. The fix for that bug was released in 2014 and ships any modern Linux distribution at this point.
In order to have a focused discussion on this I'm gonna quote the entire original rationale for the blacklist entry here (from `qtbase/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp:623`):
// This disables threaded rendering on anything using mesa, e.g. // - nvidia/nouveau // - amd/gallium // - intel // - some software opengl implementations // // The client glx vendor string is used to identify those setups as that seems to show the least // variance between the bad configurations. It's always "Mesa Project and SGI". There are some // configurations which don't use mesa and which can do threaded rendering (amd and nvidia chips // with their own proprietary drivers). // // This, of course, is very broad and disables threaded rendering on a lot of devices which would // be able to use it. However, the bugs listed below don't follow any easily recognizable pattern // and we should rather be safe. // // http://cgit.freedesktop.org/xcb/libxcb/commit/?id=be0fe56c3bcad5124dcc6c47a2fad01acd16f71a will // fix some of the issues. Basically, the proprietary drivers seem to have a way of working around // a fundamental flaw with multithreaded access to xcb, but mesa doesn't. The blacklist should be // reevaluated once that patch is released in some version of xcb. static const char *qglx_threadedgl_blacklist_vendor[] = { "Mesa Project and SGI", // QTCREATORBUG-10875 (crash in creator) // QTBUG-34492 (flickering in fullscreen) // QTBUG-38221 0 };
I guess now would be a good time for that mentioned reevalution. If we limit this to the mentioned bug reports this basically boils down to:
- `
QTBUG-38221` is about the required XCB patched and should be fixed - `
QTBUG-34492` does not mention any steps to reproduce but maybe somebody with Intel graphics can run Okular in fullscreen and quickly changing pages or something to "test" whether they see any flickering - `
QTCREATORBUG-10875` has to be checked by somebody with NVidia graphics and nouvea drivers
Each test needs to be done with `QT_OPENGL_NO_SANITY_CHECK=yes` environment variable being set (or the blacklist entry being removed from source code).
I'm not familiar with Qt's release process but I'm guessing such a change (after testing) would also require a full release cycle, right?
Attachments
Issue Links
- depends on
-
QTBUG-73862 Bump minimal requred libxcb to 1.11 in Qt 5.13
- Closed
- relates to
-
QTBUG-59747 reconsider or refine the blacklisting of Mesa for threaded rendering
- Closed
-
QTBUG-45170 remove mesa from qglx_threadedgl_blacklist_vendor
- Closed
- resulted from
-
QTBUG-73715 5.12.0 -> 5.12.1 Regression: Graphical artifacts and hang ups when using nouveau [bisected]
- Closed
Gerrit Reviews
For Gerrit Dashboard: QTBUG-67277 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
253905,10 | 3rdparty: remove xcb libs and bump minimal required version to 1.11 | dev | qt/qtbase | Status: MERGED | +2 | 0 |
272993,1 | 3rdparty: remove xcb libs and bump minimal required version to 1.11 | 5.14 | qt/qtbase | Status: ABANDONED | 0 | 0 |