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
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 :/
I’d argue the root cause was Nvidia insisting that X11 was the future, they’d never support Wayland, and refusing to participate in any of the design processes. As a result when they got dragged kicking and screaming into supporting Wayland, nothing that had been developed without Nvidia suited their hardware or drivers.
They first tried to throw their weight around by forcing EGLStreams on everyone, failed, and they’ve been scrambling to catch up ever since.
Sure, I agree, but Nvidia proprietary driver is still the best for gaming, isn’t it?
The AMD radv driver is best for gaming at the moment IMO. If you’re stuck with NVIDIA hardware then yes, the proprietary driver is the best for gaming as the open source driver is quite slow, but the good news is that this is rapidly changing after being stagnant for 5+ years. NVK is the new open source NVIDIA Vulkan driver in Mesa and it just recently left experimental to be included officially in the next Mesa release. Also, NVIDIA’s GSP firmware changes mean that the open source nouveau kernel driver can finally reclock NVIDIA GPUs to high performance clocks/power states thus it could achieve performance parity with the proprietary driver with enough optimization. On my RTX 3070 laptop it is still significantly slower and some games don’t work yet, but there is no flickering or tearing that I experience with the proprietary driver. Unfortunately for GTX 10 series users, these cards do not use GSP firmware and have no means of reclocking still so they will be stuck using only proprietary drivers for the forseeable future.
Yes, for that to change we have to wait for the NVK based driver - nova.