Skip to content

Allow direct scanout in more situations

Robert Mader requested to merge rmader/mutter:more-scanout into main

This series makes our current scanout implementation work in way more situations. Most importantly:

  • clients using alpha channels for decorations but being fully opaque when fullscreened (Firefox on Xwayland / GTK4 on Xwayland)
  • Wayland clients on Intel hardware (weston-simple-egl)
  • Wayland clients using subsurfaces (Firefox)

cc: @jadahl, @daenzer, @YaLTeR


How to test: the opaque region overlay appears to be the most reliable and easy to use indicator. If the overlay is not painted, then direct scanout was used. lg -> Meta.add_debug_paint_flag(Meta.DebugPaintFlag.OPAQUE_REGION) (Meta.remove_debug_paint_flag(Meta.DebugPaintFlag.OPAQUE_REGION) to disable it again).

P.S.: the commit "onscreen/native: Allow invalid buffer modifier for scanout" is likely the most delicate one.

Edited by Robert Mader

Merge request reports