surface-suspension wayland protcool development status?

Sebastian Wick sebastian at sebastianwick.net
Thu Nov 25 21:14:25 UTC 2021


On Wed, Nov 24, 2021 at 05:23:16PM -0800, Joshua Ashton wrote:
> What exactly do you agree with? :V is a funny face in response to Sebastian's typical idiocy.
> 
> The timeout doesn't fix anything and still has problems for games that demand a semi-consistent framerate (ie. Not hanging for seconds at a time)

The protocol has been marketed as a way to save power/memory but at some point
it became obvious that there is at least two other problems which people wanted
to address with it:

1. indefinite blocking on present
2. fixed framerate presents (or at least something approximating that)

The first problem can be solved in the WSI at the expense of power and memory.
With this protocol or any other protocol which introduces surface "suspension"
we can fix the power and memory issue later. This seems to be the issue Ethan
was talking about and what I answered.

The other issue is impossible to solve while relying on the frame callback
mechanism: it is inherently and by design not a fixed rate event. It might have
solved the issue for you on one compositor on a fixed refresh rate display but
in general it is not sufficient.

The present-timing vulkan ext and the corresponding wayland protocol should in
theory give you the tools to implement the behavior you want but the interest in
pushing that forward seems fairly low. I would be happy to help out if you
decide to put some work in.

> The correct solution ideally would be to keep ticking along at a constant time for fifo and instantly return for mailbox/immediate when suspended in Mesa. Apps that want to deal with suspension and use VK WSI can just handle that on their surfaces and not present.
> 
> As I understand it, nobody has had the time to implement or prototype that yet.
> 
> As for the protocol, I am not sure what is happening with it since I last touched it. I haven't had the chance to address the nits to wording and such, I've been busy with other things recently.
> 
> - Josh 🐸
> 
> On November 24, 2021 5:11:20 PM PST, "Ethan “flibitijibibo” Lee" <flibitijibibo at gmail.com> wrote:
> >I agree with Joshua - if you think you can get the timeout implemented in EGL and Vulkan WSI I’ll go ahead and mark the SDL Wayland PR as ready to go for 2.0.20. Hypothetically it’d be nice to have an event for hidden vs. exposed but really we just want to avoid deadlocks. As far as independent studios care that model would do the job perfectly fine, not sure about the big AAA studios but they can e-mail the Proton team if they run into any trouble.
> >
> >-Ethan
> >
> >> On Nov 24, 2021, at 7:35 PM, Joshua Ashton <joshua at froggi.es> wrote:
> >> 
> >> :V
> >> 
> >> On Wed, 24 Nov 2021 at 15:31, Sebastian Wick <sebastian at sebastianwick.net <mailto:sebastian at sebastianwick.net>> wrote:
> >> On 2021-11-11 16:00, Neal Gompa wrote:
> >> > Hey all,
> >> > 
> >> > Is there a reason why the development of the surface-suspension
> >> > protocol[1] has completely stalled out? It's been in the 30 day
> >> > discussion period for a few months now and it's a pretty critical
> >> > protocol for games (it's the main blocker for SDL to switch to Wayland
> >> > by default[2]).
> >> 
> >> FWIW I still believe this is fixable in EGL/WSI: timeout after 1s when
> >> waiting for the wl_surface frame callback.
> >> 
> >> > From a purely downstream perspective, I'd like to have Fedora Linux
> >> > switch to Wayland by default for SDL-based applications (which we are
> >> > able to do relatively quickly and easily since all SDL applications
> >> > now use SDL2 since Fedora Linux 35[3]).
> >> > 
> >> > Thanks in advance and best regards,
> >> > Neal
> >> > 
> >> > [1]:
> >> > https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/99 <https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/99>
> >> > [2]: https://github.com/libsdl-org/SDL/pull/4306#issuecomment-963513540 <https://github.com/libsdl-org/SDL/pull/4306#issuecomment-963513540>
> >> > [3]: https://fedoraproject.org/wiki/Changes/SDL12onSDL2 <https://fedoraproject.org/wiki/Changes/SDL12onSDL2>
> >> > 
> >> > --
> >> > 真実はいつも一つ!/ Always, there's only one truth!
> >
> 
> - Joshie 🐸


More information about the wayland-devel mailing list