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
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’?
Well, kind of. This is an example of everybody doing it one way and NVIDIA doing something else. So, we should not lose sight of this being NVIDIA being a poor team player and expecting the world to revolve around them.
That said, you can argue that the way NVIDIA wants to work is more correct and that a “complete” Wayland implementation should support that approach.
It is totally fair to see this as a missing feature in Wayland ( so “just wayland things” ). However, a more collaborative NVIDIA could have absolutely made a better experience for their users in the meantime ( as AMD has for example ).
Taken in combination, this is why so many of the “I use Wayland and it works just fine” people do not use NVIDIA and why so many of the “Wayland is not ready” people are NVIDIA users.
Reading the tea leaves, things should generally work for most people by the time the major distros make their releases in the fall ( eg. Ubuntu 24.10 ). By then, many of these improvements to Wayland will have made their way to shipping code. At the same time, improvements to both the NVIDIA proprietary drivers and NVK will have done the same. The fact the Wayland support in Wine will have matured by then may also be a factor.
No, there are hundreds of projects that assume implicit sync. Because its worked forever on Mesa.