There was an email thread on this topic before . 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 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.
Maybe related https://bugs.freedesktop.org/show_bug.cgi?id=105132
-- 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.