Skip to content

wayland: Allow xwayland commit surfaces after receiving sync request acknowledgement

This fixes client-side decorated windows such as chromium displaying "black bars" when they are being interactively resized.

The idea behind the fix: send a sync request and block wl_surface commits to freeze the surface, wait until the client repaints the window and acks the sync request, unblock wl_surface commits (in response, Xwayland will commit a new buffer), repeat the cycle if the pointer is moved again.

See also https://gitlab.freedesktop.org/xorg/xserver/-/issues/1743

Edited by Vlad Zahorodnii

Merge request reports