Join us on our own very special Reddit: /r/Linuxers

GNOME's Mutter gets 'fullscreen unredirect' supported on Wayland

By - | Views: 17,475

In upcoming versions of GNOME, one quite big change had now been merged in for those of you using it with Wayland.

Yesterday, the "Wayland surface fullscreen unredirect" code was merged into Mutter (GNOME's Wayland display server and X11 window manager). What this actually means: for people playing fullscreen games on GNOME + Wayland, it can now bypass compositing, which you don't usually want when the whole screen is filled with a game which can help with performance.

One problem we have on X11, is the issue of screen-tearing when this is used. However, it appears that won't be an issue on Wayland. As Red Hat engineer, Jonas Ådahl, mentioned in the comments:

No, there should be no more screen tearing compared to no fullscreen unredirect. Wayland has the concept of "holding" buffers, meaning clients are not allowed to write to them until they are "released". Without being unredirected, we "hold" a buffer until it's replaced with a new attached buffer; the difference with scanout is we "hold" it a bit longer - until it will no longer be scanned out by the driver. A client can still violate the rule and write whenever it wants, but as long as the client is well behaved, you'll get no tearing.

This is one more feature checked off the list for Wayland, to bring it up to a great standard for the future of the Linux desktop and Linux gaming. Now this is merged in, it should be shipping with GNOME/Mutter 3.38 in September and then it's up to each Linux distribution to pull it in.

Article taken from GamingOnLinux.com.
21 Likes, Who?
We do often include affiliate links to earn us some pennies. We are currently affiliated with GOG, Humble Store and Paradox Interactive. See more here.
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly.
See more from me
8 comments

vipor29 17 Apr
i have noticed screen tearing is becoming less and less of a issue which is nice.though i have a 165hz 1440p display so once i enable that im good to go.
Brisse 18 Apr
Quoting: vipor29i have noticed screen tearing is becoming less and less of a issue which is nice.though i have a 165hz 1440p display so once i enable that im good to go.

I can't remember ever seeing screen tearing when using GNOME on Wayland. Stuttering has been a problem though, but it's pretty much gone as of version 3.36. Actually it was mostly fixed in previous releases but there was one game (DSII:SotFS through Proton) which didn't work properly until 3.36. It wouldn't go into fullscreen so it was always in a window, and moving the camera around was extremely jittery because frames weren't presented at the right time. Working fine now though :)
Nanobang 18 Apr
I imagine there's some coding reason that whoever came up with it was unable to use the simpler and saner existing word "direct." After all, to un-redirect, as far as I can see, simply means to direct.

A cop who is directing traffic may have to redirect traffic around, say, an accident, but, once everything is cleared up, the cop resumes directing traffic --- not un-redirecting traffic.

All the same, and however much it's doublespeak, it sounds like it's generally a good thing for gaming using Wayland on Gnome, so that's nice. :)


Last edited by Nanobang on 18 April 2020 at 12:32 pm UTC
chr 19 Apr
Does any one understand more fully - is this feature a step closer to VR support on Wayland+Gnome? (Is that already supported and it now became faster?)
appetrosyan 19 Apr
Screen tearing gives me headaches. That said, unpredictable input lag gives me even more.

Unredirecting on X.Org on AMD Mesa, never causes screen tearing, unless v-sync is also turned off in game. Sometimes you want that. So adding unredirect into Wayland is an atypically user-friendly move from Gnome! I’m pleasantly surprised.
Hori 19 Apr
Quoting: NanobangI imagine there's some coding reason that whoever came up with it was unable to use the simpler and saner existing word "direct." After all, to un-redirect, as far as I can see, simply means to direct.

A cop who is directing traffic may have to redirect traffic around, say, an accident, but, once everything is cleared up, the cop resumes directing traffic --- not un-redirecting traffic.

All the same, and however much it's doublespeak, it sounds like it's generally a good thing for gaming using Wayland on Gnome, so that's nice. :)

I don't think that's the case tho.

Redirection implies that the object arrived at the destination, or partway there, and then it had to change direction. The way I see it, redirecting includes directing, and is not its opposite.

Not that depends on the context also. If one wants to go north, but is redirected south, that could be considered its polar (quite literally) opposite.

However, in other cases the opposite would be to simply stay put, to stop.

But in this particular case, although I don't really know the technicalities, I think your argument could make sense but I still prefer "unredirect".

Here's why: If the image has to go somewhere, but is redirected, it means that the action changed from directing to redirecting (and as I said before, I think redirecting includes directing), however, if there is another step AFTER that, that says "no no no, go back the original route", which basically cancels the redirecting and reverts back to directing, then I prefer "uredirecting" since it describes accurately the steps that happened.

On the other hand, if the redirection is never even considered due to this system, then "uredirecting" doesn't make that much sense anymore and the name should be gravitating around the word "direct" or "directing", like you proposed.

PS: In any case, I don't think "uredirect(ing)" is even a real word.

___
Those are just my opinions, and I hope they make sense.


Last edited by Hori on 19 April 2020 at 8:55 am UTC
tuubi 19 Apr
Quoting: Hori
Quoting: NanobangI imagine there's some coding reason that whoever came up with it was unable to use the simpler and saner existing word "direct." After all, to un-redirect, as far as I can see, simply means to direct.
But in this particular case, although I don't really know the technicalities, I think your argument could make sense but I still prefer "unredirect".
I'm no graphics expert but I'll take a stab at a justification for this bit of technical jargon. Expect some simplification (or "lies to children" as Pratchett et al. put it in one of the Science of Discworld books).

When people talk of direct rendering, they mean drawing stuff directly on your screen. Now, if you want to do even rudimentary desktop composition, you need to redirect the rendering of your various applications to off-screen buffers, which then get composited onto the screen. And if one of these applications should be able to write directly on the screen and avoid the desktop composition pipeline completely, for performance or other technical reasons, you have to avoid redirecting the rendering of that particular application. Here the redirection is intentionally and actively disabled, or in short, the rendering is "unredirected".


This might absolutely infuriate people who actually know about this stuff, but I'll accept that risk. Corrections welcome. :)
CatKiller 21 Apr
Yep, that explanation is good. Non-redirected would probably be clearer, but unredirected is the terminology we're stuck with. I think I first saw it in Compiz, so 2006 or so.
While you're here, please consider supporting GamingOnLinux on:

Patreon, Liberapay or PayPal Donation.

We have no adverts, no paywalls, no timed exclusive articles. Just good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register

Or login with...
Sign in with Steam Sign in with Twitter Sign in with Google
Social logins require cookies to stay logged in.

Livestreams & Videos
Community Livestreams
Latest Forum Posts