Skip to content

Conversation

@Kontrabant
Copy link
Contributor

The associated surface commit causes a warning (previously a crash) on GNOME + libdecor when clients enter fullscreen before the initial buffer commit.

This was only ever needed on GNOME, and is fixed in GNOME 49, but is waiting on upstream backports: https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4681 and https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4680

Fixes #14032

@Kontrabant Kontrabant added this to the 3.x milestone Sep 24, 2025
@Kontrabant Kontrabant force-pushed the wayland_libdecor_order branch 2 times, most recently from e1df180 to 940d919 Compare September 24, 2025 18:44
@slouken
Copy link
Collaborator

slouken commented Oct 12, 2025

Should this go in for 3.4?

@Kontrabant
Copy link
Contributor Author

It can't go in before the backported GNOME fixes are merged, or things will break for users on older versions.

@Kontrabant
Copy link
Contributor Author

Just to note, the upstream changes are merged, and should ship in 48.7 later in November.

Wayland is sometimes at-odds with clients that want to enforce an aspect ratio or min/max window size, as certain window states have dimensions that either must be obeyed (maximized), or will give terrible results if they aren't (tiled). Use viewports and/or a masking subsurface to handle cases where surfaces are unable to match the exact window size.

The masking system also allows for switching the emulated fullscreen modes to aspect-correct by default, as it will handle masking non-native aspect ratios on compositors that don't automatically mask around fullscreen windows.
@Kontrabant Kontrabant force-pushed the wayland_libdecor_order branch from 940d919 to 3f84db6 Compare November 15, 2025 19:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

wayland: Full screen ioquake3 window reports size to compositor as 0x0 pixels

2 participants