Originally posted by piotrj3
View Post
And from that quirk is really where most of the bugs in the NVIDIA Wayland Experience™ have stemmed. Most developers understandably have no interest in keeping multiple mutually exclusive code paths, and so they opted for wl_drm, which already had good traction, as they were there first. Problem is, these were all extensions, whose design was very much only intended to be used for and within Mesa itself. In effect, what happened is that most applications were given, in fact, the choice between foregoing accelerated buffers entirely or be vendor locked to Mesa.
So, up until very recently, it wasn't that NVIDIA wasn't willing to implement the perceived standard, it was more-so that they wouldn't re-implement a Mesa-only extension to the protocol. An implementation which would either require a hefty set of additions to Mesa that would let it support foreign implementations of its device buffer handling interface (GBM), or the creation of a competing implementation that would most likely lead to a repeat of the libGL fiasco that plagued Linux all throughout the 2000's with a fresh coat of paint on it. In the end, the former ended up happening, albeit it took a while. And, in fact, as soon as the last patch for it landed, NVIDIA launched their first implementation of GBM.
I think it's unbelievably childish what a lot of people in the Linux community are doing in pointing to NVIDIA demanding that they "fix their Wayland implementation", one that couldn't have even existed up until a couple of months ago; or demanding that they open source their driver, which, for most intents and purposes, with only the notable exception of poor compatibility with most Wayland implementations, works fine. While also sternly refusing to even consider the possibility that what they call "NVIDIA's sabotage of Wayland" might, in fact, be just a purely technical consequence of how the protocol itself was first designed and how it evolved over the years.
At the end of the day, what people these people are doing here is celebrating the fact that Wayland implementations are vendor locked to Mesa. I though we were over the olden days of GNU when being vendor locked was seen as a good thing, so long as it was our side doing it.
Comment