Xwayland: xwl_present_flip() can commit wl_surface when _XWAYLAND_ALLOW_COMMITS is set to 0
KWin and Mutter use _XWAYLAND_ALLOW_COMMITS
to address visual glitches that can be observed during interactive resize.
However, it appears like _XWAYLAND_ALLOW_COMMITS
doesn't work as advertised in all cases. Xwayland may actually commit the wl_surface
in xwl_present_flip()
after the _XWAYLAND_ALLOW_COMMITS
property is set to 0
. This makes interactive resizing choppy with applications such as Google Chrome in Plasma because the compositor waits for a wl_surface
commit that had already been performed before it set the _XWAYLAND_ALLOW_COMMITS
property back to 1
.
Relevant discussion: #1743 (closed)