Skip to content

fix(xwm): defer X11 resizing until fullscreen - #193

Draft
lutyjj wants to merge 1 commit into
hgaiser:mainfrom
lutyjj:fix/x11-fullscreen-geometry
Draft

fix(xwm): defer X11 resizing until fullscreen#193
lutyjj wants to merge 1 commit into
hgaiser:mainfrom
lutyjj:fix/x11-fullscreen-geometry

Conversation

@lutyjj

@lutyjj lutyjj commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Fixes #188.

map_window_request() resizes every X11 window to the output size before it asks for fullscreen. With Resonance, Wine's toplevel becomes 3840x2160 while the actual rendering child ends up at 3834x2128. That mismatch trips can_bypass_xwayland(), the bypass gets rejected, and the stream stays black.

The fix leaves the window geometry alone at map time and lets the existing enforce_fullscreen_geometry() path resize it once it is actually fullscreen.

Also drops the has_game_id() check. Steam Big Picture requests fullscreen while its app ID is still 0, so keeping that check leaves Steam at 1280x800 instead of filling the output.

Tested end to end at 4K: both Steam login and Big Picture still work correctly and fill in the screen, and the faulty game (A Plague Tale Legacy: Resonance) launches at the correct size too.

Mapping an X11 window immediately resized its outer geometry to the
output. Decorated Wine windows could then expose a smaller rendering
child, causing the WSI bypass geometry check to reject the surface.

Preserve the requested geometry while mapping and enforce the output
size through the existing fullscreen focus path. Apply that policy
independently of game ID because classification can arrive after the
fullscreen request.
@lutyjj

lutyjj commented Aug 30, 2026

Copy link
Copy Markdown
Contributor Author

Putting this into draft for now. It changes map-time geometry handling for every X11 window and makes fullscreen sizing independent of game ID, so I want to test a few more windowed and fullscreen applications first.

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.

[Bug] Resonance: A Plague Tale Legacy stuck on black screen on startup

1 participant