Skip to content

qt: x11/dcomp: disable compositing the interface surface if it is blank

Unfortunately I have not found a way to do this on Wayland with the way things work currently. Unmapping the interface surface by attaching a null buffer have consequences for its window aspect according to the xdg shell protocol (we want the window to be visible and receive events, but not composite anything), due to the unfortunate design of Wayland where there is no concept of a "window". Besides, the video surface is a sub-surface of the interface surface, if the interface surface is unmapped I'm not sure if the compositor would continue compositing the video surface. I'm open to suggestions for Wayland if this can be done somehow, as I'm not really familiar with it.

Regarding Direct Composition, I do not like removing the interface visual and re-adding it, but apparently this is what Microsoft recommends: https://learn.microsoft.com/en-us/windows/win32/directcomp/best-practices-for-directcomposition.

Request review @chub.

Merge request reports

Loading