Comment # 5
on bug 108651
from John Lindgren
This probably isn't specific to nouveau. I am using Intel graphics (modesetting driver) and I was also bitten by screen flickering in compton after the switch to XCB (commits 43f3744fea07 and 7af815a0aaaf). It is specific to DRI2. With DRI3 or software rendering (LIBGL_ALWAYS_SOFTWARE=1), the flickering goes away. Looking at mesa source (src/glx/dri2.c), DRI2 seems to be incompatible with xcb event processing due to usage of XESetWireToEvent()/XESetEventToWire(), which hook into the traditional Xlib event processing. Without Xlib in the loop, DRI2 misses its Invalidate events and the result is that glXSwapBuffers() doesn't work as expected. (Take a look at src/glx/dri2_glx.c - dri2XcbSwapBuffers() contains an explicit XSync() call to wait for Invalidate events, which it never gets.) One workaround I found is to change the following line in src/glx/dri2_glx.c: pdp->invalidateAvailable = (pdp->driMinor >= 3); To this: pdp->invalidateAvailable = 0; This causes mesa to think it's using an older X Server that doesn't send Invalidate events and use some kind of internal fallback. It's enough to make the flickering go away, but I don't know what other side effects it has.
You are receiving this mail because:
- You are the QA Contact for the bug.
- You are the assignee for the bug.
_______________________________________________ Nouveau mailing list Nouveau@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/nouveau