Some Ugly Code Can Get Nvidia's Linux Driver Working with Accelerated XWayland
phoronix.com
phoronix.com
In theory I'd like to move to Wayland, but X solves my problem which is "I want to see windows, some of them accelerated".
In the second case, those applications work well with X security extensions and X11 proxies so I'm pretty fine in that regard, even with X11.
And since X11 also works just so much better in the majority of cases I care about, regarding my productivity and flexibility, I don't see any reason to use Wayland right now.
But notably, major Xorg developer Keith Packard is missing from that list.
There is Waymonad, but not sure how mature it is:
It's like asking a taxi driver to start steering with a joystick.
It's an issue I've wanted to get rid of for a while now.
When I previously tried Wayland, my DE wasn’t compatible and most of my software had to be run through their XWindows compatibility layer and required myriad workarounds and tuning just to get a basic desktop environment running. This NVIDIA hack is yet another example.
It still felt like alpha quality software even though it has been in development for 10 years(!) now. Why would users ever not stick with something that is stable and just works?
Overall Wayland is certainly more janky than X11 right now, but the better DPI and multi-monitor support makes me think that it's worth the effort in the long run.
But definitely if you are satisfied with X11 then might as well stick to it.
> Why would users ever not stick with something that is stable and just works?
As a user, I switched to Wayland 1.5 years ago for two reasons. The first is that Wayland has way better performance than X. It solves some long-standing and highly irritating issues with e.g. screen-tearing that I and others have been experiencing with X. The second is security. Wayland is nearly a prerequisite for proper sandboxing of GUI apps, as X apps can all keylog each other, screen-record each other, inject keys into each other, and so on, without much restrictions. Since Wayland is backwards-compatible with X via XWayland, which these days has quite good performance, I haven't yet run into an X-only app that didn't just work.
As for the issues with nVidia, that's mostly due to nVidia implementing their own Wayland backend (EGLStreams) that is different from what every other graphics card driver uses (GBM), resulting in every desktop environment (GNOME, KDE, etc.) having to implement nVidia support separately from generic Wayland support. The single biggest factor holding Wayland back at the moment is nVidia; my experience is that currently Wayland already works way better than X.org if you have an Intel or AMD card, but is highly broken on nVidia.
The second factor holding it back would be that the number of window managers (compositors) for Wayland is lower than for X, currently the main ones are GNOME, KDE, and Sway. But this is changing fast: when I first switched only GNOME worked well; now both KDE and Sway are stable and fully usable on Wayland; and thanks to wlroots, a lot of new window managers for Wayland have popped up [2] and should mature over time.
[1]: https://www.youtube.com/watch?v=RIctzAQOe44
[2]: https://github.com/swaywm/wlroots/wiki/Projects-which-use-wl...
However, one difference between X11 and Wayland, is that the role of the compositor (window manager) is much larger in Wayland. Thus, I believe it is up to the compositor to offer an API for features like this in Wayland, and the API may differ between compositors. In practice, GNOME has done their own thing; KDE and Sway collaborate on protocols, and are partly compatible; nearly every other compositor is based on Sway's wlroots, and should be compatible with Sway.