Bug 108705 - GLX with DRI2 doesn't work properly when xcb is owning the event queue
Summary: GLX with DRI2 doesn't work properly when xcb is owning the event queue
Alias: None
Product: Mesa
Classification: Unclassified
Component: GLX (show other bugs)
Version: 18.2
Hardware: All Linux (All)
: medium normal
Assignee: mesa-dev
QA Contact: mesa-dev
Depends on:
Blocks: 105132 108651
  Show dependency treegraph
Reported: 2018-11-10 18:48 UTC by Yuxuan Shui
Modified: 2019-09-18 17:46 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Description Yuxuan Shui 2018-11-10 18:48:05 UTC
There was an email thread on this topic before [1]. To summarize, dri2 glx relies on XESetWireToEvent to register DRI2WireToEvent as a callback, so it can get the buffer invalidation events. If xcb is owning the queue, those callbacks won't be called, thus things can't work.

Recently, to avoid a Xlib event handling bug, compton[2] switched to xcb event processing, and that caused some problem with users who don't have DRI3 (for example, nouveau doesn't have DRI3 by default). 

It would be really nice if GLX on DRI2 can work with xcb event processing.

[1]: https://lists.freedesktop.org/archives/xcb/2011-November/007337.html
[2]: https://github.com/yshui/compton
Comment 1 Julien Isorce 2018-11-10 19:02:11 UTC
Maybe related https://bugs.freedesktop.org/show_bug.cgi?id=105132
Comment 2 GitLab Migration User 2019-09-18 17:46:02 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/115.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.