Bug 104643

Summary: Implement fake mode-setting using wp_viewporter
Product: Wayland Reporter: Robert Mader <robert.mader>
Component: XWaylandAssignee: Wayland bug list <wayland-bugs>
Status: RESOLVED MOVED QA Contact: Xorg Project Team <xorg-team>
Severity: enhancement    
Priority: medium CC: jan.public, jjardon
Version: unspecified   
Hardware: Other   
OS: All   
i915 platform: i915 features:
Bug Depends on: 104644    
Bug Blocks:    

Description Robert Mader 2018-01-15 16:10:06 UTC
Tracker bug for the experiment to implement fake mode-setting for xwayland. The idea is to not really set the mode but to make clients believe they can and to scale their output accordingly.

The main motivation is to work around the fact that a lot of legacy applications, especially proprietary ones, don't support different screen resolutions and therefore fail to start in xwayland. This is a regression for a number of users, potentially preventing them to switch to wayland-based compositors (e.g. using gnome-X11 instead of gnome-wayland).

Comment 1 Robert Mader 2018-01-22 21:26:46 UTC
Just for those interested: development can roughly be followed in the following repo https://github.com/treba123/xserver/commits/xwayland-fake-mode-viewport
Comment 2 Robert Mader 2018-02-26 16:39:31 UTC
Just a little update since it's been some time:

The current patch-set (1 and 2) for xwayland and gnome are already quite promising. Quite a big number of games no get properly detected when they change their resolution and the rendering is now mostly correct.

The code is still quite static, messy and incomplete though.
Also, while now rendering correctly, the mouse if often restricted to a area corresponding to the mode which got set, making parts of the surface inaccessible. But I think that won't be to hard to work around.
Further more I'll have to  mess with the gnome fullscreen detection as it currently doesn't work with this approach.

Anyway, I'm quite confident about the whole thing and although it won't make it to xserver 1.20 and gnome 3.28, for the next versions it should be possible.

1) https://github.com/treba123/xserver/commit/4341d12b21f871b41c86f45ddb033b6ba818edbb
2) https://github.com/treba123/mutter/commit/189f2ae00253f7a099efb7597575438671f74c41
Comment 3 raneon 2018-08-09 21:22:49 UTC
I've had this issue too on Plasma Wayland with several games on Wine. The only workaround that I was able to find is to use a virtual wine desktop to predefine a resolution. But this would need a proper fix from my point of view.
Comment 4 GitLab Migration User 2019-05-10 15:53:16 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xorg/xserver/issues/711.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.