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

QT Wayland uses bufferless subsurfaces

    XMLWordPrintable

Details

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

    Description

      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.

      Attachments

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

        Activity

          People

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

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes