4 ms·
Yeah I have experienced all sorts of flickering and artifacts on Wayland, especially on nvidia. Recently it has gotten a lot better though.
by porphyra 2y ago
Yeah I have experienced all sorts of flickering and artifacts on Wayland, especially on nvidia. Recently it has gotten a lot better though.
- seba_dos1 2y agoFWIW, Nvidia problems on Wayland were Nvidia's problems, not Wayland's. Wayland was just a victim of Nvidia's bugs and lacking implementations.
- p_l 2y agoExcept for tearing, which turned out to be a combination of Mesa/DRM bugs and Wayland naively assuming the behaviour of those bugs. Then nVidia decided to switch to GBM/EGL way of doing things and it turned out everyone had incorrect assumptions...
- deleted 2y ago[deleted]
- pmontra 2y agoYou mean this https://www.phoronix.com/news/NVIDIA-EGL-Wayland-1.15 https://www.phoronix.com/news/NVIDIA-EGL-Wayland-1.15 and the multy year story that I can guess from the comments in there?
- p_l 2y agoExplicit Sync, yes. The reason why I consider previous implicit sync a bug is that it was essentially unfounded expectation - nothing guaranteed you'd get a magic mutex in the sky that synchronized renders for you, and in fact, you do not want one for maximum performance. Lack of explicit sync also essentially meant common multi-gpu setups would be broken.
- ChocolateGod 2y agoAndroids graphics stack and drivers also use explicit sync, it isn't just a Nvidia thing.
- p_l 2y agoI was not saying it's an nvidia thing, just that significant majority of devices used by wayland proponents had undeclared implicit sync issues that were invalidated when faced with a driver that didn't have them.
- seba_dos1 2y agoI don't think that's an honest representation of what happened. Wayland relied on implicit sync by design, it wasn't "a bug" but a choice. The fact that in the end there were valid reasons to start moving towards explicit sync besides of lacking Nvidia implementation is irrelevant to the fact that Nvidia did not implement a correct driver for the existing requirements of the platform.
- p_l 2y agoIt relied on implicit sync as far as I know by accident. But since it worked for the popular configuration, no one dug deeper that support for accelerated drawing without multi-frame lag of manually calling commit on surfaces had gaps in design.
- seba_dos1 2y agoImplicit sync worked by design. There were years of discussions whether it's a good idea to rely on it and how exactly explicit sync would actually look like, with protocols such as zwp_linux_explicit_synchronization_v1 (eventually deprecated) being worked on almost a decade ago already, but it's definitely not an "accident". Explicit sync offers several advantages, but implicit sync is how DRM was designed and what Wayland consciously relied on, and what Nvidia disregarded because it would be rather challenging to implement it in their driver. The ecosystem slowly moves towards explicit sync now, but Nvidia was supposed to provide a driver already before that was happening and they didn't comply with platform's requirements at date, resulting in user-facing issues. With this one, they just got lucky that the consensus happens to move towards what they had already asserted.