Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

FWIW, Nvidia problems on Wayland were Nvidia's problems, not Wayland's. Wayland was just a victim of Nvidia's bugs and lacking implementations.


Except 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...


I 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.


It 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.


Implicit 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.


You mean this https://www.phoronix.com/news/NVIDIA-EGL-Wayland-1.15 and the multy year story that I can guess from the comments in there?


Explicit 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.


Androids graphics stack and drivers also use explicit sync, it isn't just a Nvidia thing.


I 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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: