Since nvidia drivers do not properly implement implicit sync, this protocol not existing is the root cause of flickering with nvidia graphics on Wayland. This MR being merged means that Wayland might finally be usable with nvidia graphics with the next driver release.
EDIT: Nvidia dev posted that support is planned in the 555 driver, with beta release planned for May 15: https://github.com/NVIDIA/egl-wayland/pull/104#issuecomment-2010292221
AFAIK we still need this merge request here for it to actually affect 99% of games, because they all run with Xwayland, right? https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/967
Yes, but that’s bound to be merged quickly, the protocol itself was the main holdup from what I understand.
We also need support for the new protocol in Nvidia’s driver. Support will be available in driver 555, the beta of which will be released on May 15. So there’s still some time to wait until it’s fully fixed.
Currently yes, tho Wine has gotten pretty far with Wayland support, so it wouldn’t be too surprising to see Wine Wayland be useable for gaming in the next year or two.
God I fucking hope so man. I’m so tired of Nvidia not working on Wayland properly. It’ll be so nice to have VRR and gSync on Wayland without the awful flickering.
Is the vrr flickering about explicit sync too?
Literally all rendering could flicker. So maybe.
I mean, the vrr flicker doesn’t seem like a frame ordering issue since it happens on a static desktop too. Why I asked
Questions from someone still on xmonad/x11, with 3 computers that have nvidia cards:
Do all nvidia cards have trouble in wayland currently, or is it just some subset?
Is it really unususable, or just really annoyingly flickery?
Would my card be usable now (without this merge) if I was using the nouveau driver?
Once this is merged, will all nvidia cards work in wayland? Or do we not really know yet.
The Nvidia driver on Wayland has been decent for a couple of years and stabilized a lot over the past ~6 months. The flickering issue was specific to XWayland. Normal Wayland apps don’t have flickering problems (not quite sure why tbh), but XWayland apps would often rapidly flicker between 2 frames since it only supported implicit sync, which confused the Nvidia driver, which only supports explicit sync. Now with a Wayland protocol for explicit sync, XWayland can be updated to support it and resolve the flickering there.
Nouveau should have already been fine, this should fix the proprietary driver’s issues. AFAIK this is a core issue of the proprietary driver, so should affect all cards.
I tried Wayland on my 16xx series GPU, Electron apps were only annoying, but games were unplayable. The desktop itself and Wayland native apps worked fine, though.
It’s not really card related, but rather it just comes up sometimes in niche circumstances. I only had this on my second monitor and then it went away with an nvidia driver update. (since then i moved to amd)
In addition to what others said a recent Nvidia driver update also added a workaround to reduce out of order frames without explicit sync. Ime it just made it so that resizing a flickering window makes it stop.
How long does a change like this take to make it’s way into Plasma 6?
https://invent.kde.org/plasma/kwin/-/merge_requests/4693
there’s already a non-draft implementation, if I had to guess a few weeks before it’s merged, and then you have to wait for a release, and then your distro has to package it. So, it’s gonna be a while.
BUT, I think much more importantly is when it is merged into xwayland
https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/967
Which should be fairly soon!
The root cause of Nvidia flicker is Nvidia ecosystem being a total shitshow. This has nothing to do with drivers and how bad they are, or how Nvidia refuses to open source even the base of their desktop card drivers, or that the few tools they contribute to in in the OSS space to work around that are awful, or that the entire Linux environment for Nvidia is all about the datacenter (what an insane mess that is).
Good luck Nvidia+Linux fanboys.
Well, this is the root cause of this specific issue if you treat nvidia’s part of the stack as some barely changable black box (which is what it is right now). It’s not that I disagree open source drivers would be better, I just already own an nvidia GPU :/
so was the problem wayland not doing something correctly or nvidia not doing something correctly 🤔
Well correct is a matter of opinion.
Nvidia doesn’t support implicit sync, because they view explicit sync as more correct, it lets the driver do fewer things that might be wrong and perform better. This is true.
The Linux world often assumes implicit sync works. This was never true.
so another ‘just wayland things’?
No, there are hundreds of projects that assume implicit sync. Because its worked forever on Mesa.
I’m all for progress, I hope it helps people, but I haven’t had any issues with my Nvidia card and my two monitors on Wayland.
If I remember right, the syncing issue was particularly egregious when you run windowed X11 programs on Wayland. So it could be that you got lucky.
I’ve been using Wayland on two Nvidia machines for months now, is the flickering the whole screen or just some applications because until I updated my Nvidia drivers very recently I’ve not had any flickering issues at all
I’ve been on NVIDIA with Wayland since June 23 (which is when I switched to Linux in general) and I am still mystified what all this fuss is about. Everything just… works? What am I missing?
Depends on your card, I’ve had an good number of different issues between my pc and laptop
It is great to see I’m not alone, yeah, I wish people would realize that it’s just hardware at the end of the day. The company does crappy stuff but individuals who work there, most of them are smart individuals just trying their hardest to develope something they can be proud of, that people can enjoy, and that might benefit society in some way.
Mostly engineers but you get my point.
Engineers are made to do things they don’t want to do, not their fault but they don’t really have the power to do things properly
They’re still people at the end of the day. If they really disagree with the direction of the company they’ll typically leave and find work elsewhere. Coming from a company like Nvidia, there’s no shortage of options for those individuals.
Don’t forget framework was started by a group of talented individuals from various ODM manufactures fed up with the direction laptops were going in the industry. Also look at the talent leaving game studios to create their own studios free from the influence of publishers.
I do agree with you, sometimes you gotta do things you don’t want to do. The good has to outweigh the bad or generally they’ll be left demotivated.