Crossing the EG LSt reams
Up until late 2016, the Nvidia proprietary driver had no support for Wayland (or indeed kernel modesetting, which forced users to watch their systems boot in an ugly low resolution). Now there’s Wayland support, but it’s far from universal. All of the open source drivers have opted to use a method called Generic Buffer Management (GBM) for communicating with Wayland, and this method is supported by all the major desktops. But Nvidia has come up with its own method called EGLStreams. Clearly it has its own technical reasons for doing this, but it makes life difficult for the community (see KDE developer Martin Flöser’s post at https://blog.martin-graesslin.com/ blog/2017/10/plasmawayland-and-nvidia-2017-edition ). As it stands, EGLStreams is only supported by Gnome (since 3.24) and Sway (although this will be removed soon) and through experimental patches with other compositors. We tried starting a Wayland session with Plasma with the Nvidia driver (using an updated Arch Linux machine). The results were ugly: a complete hard lock up.
It’s worth noting that Nvidia isn’t being entirely uncooperative with the community, it has open sourced a library for memory allocation at
https://github.com/cubanismo/allocator, which hopefully will improve these complicated buffer-related woes.