Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-86229

QT Wayland uses bufferless subsurfaces

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P3: Somewhat important P3: Somewhat important
    • None
    • 5.14.2
    • QPA: Wayland
    • None
    • Linux/Wayland

      This issue came up while debugging issues around the Wayland port of OBS, see https://github.com/obsproject/obs-studio/pull/2484

      The Wayland spec states:]

      A sub-surface becomes mapped, when a non-NULL wl_buffer is applied and the parent surface is mapped. The order of which one happens first is irrelevant. A sub-surface is hidden if the parent becomes hidden, or if a NULL wl_buffer is applied. These rules apply recursively through the tree of surfaces.

      However, QT on Wayland appears to make heavy use of bufferless surfaces in "intermediate" positions, i.e. to position nested subsurfaces which do have buffers. This probably happened because Mutter, Weston, Sway and probably KWin all appear to not properly follow the spec.

      I assume fixing this will require some deeper changes and take some time - thus it's probably good idea to coordinate the effort with compositor devs (Mutter and Weston issues linked above) as they may fix that behaviour at any time, deliberately or by accident.

       

      Todo (for myself): provide a minimal qt test client showing this behaviour.

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            qt.team.graphics.and.multimedia Qt Graphics Team
            robertmader Robert Mader
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:

                There are no open Gerrit changes