Except for Ubuntu, the Linux world is moving towards replacing X11 with Wayland. This is something we eventually need to handle in order to stay relevant.
The new architecture unfortunately makes things a bit difficult for us. Wayland merges the display server with the window manager and compositor. So we can't just replace the display server like we do for X11.
Some ideas we can look in to:
1. There is a common libwayland-server that hopefully everyone will use. We could inject ourselves here and intercept relevant API calls.
2. libwayland-server has different types of backends. Perhaps the API and ABI are stable enough for us to ship a .so file.
3. We could ship a fake DRI driver. Unsure how stable that API is though. And we might also need a DRM driver, which means a kernel module. We also need to handle input somehow.
4. Layering Wayland on top of Wayland. Provided that backend is available on most distributions/desktop environments.
Some suggestions from the RealVNC folks:
Also note that people have taken this opportunity to change a bunch of things for how sessions start up, so we should probably look through our entire startup mechanism and see what needs to be changed to match a local wayland session.
E.g. login shells are no longer used:
Our xstartup.d/xlogout.d approach might also need to change.
Fedora apparently thinks KDE's support for Wayland is good enough to enable by default:
GNOME just added this suggestion to drop X11 support, not just from GNOME, but GTK as well:
This sneaked under the radar, but apparently RHEL 9 is the last release with X.org support:
This isn't the same as dropping X11 support, but if they don't have any purely X11 sessions themselves, then it might be tempting to remove it here and there.
Some more discussion here:
Latest statement from GTK:
> When we discussed this issue at a recent gtk planning call, the outcome was:
> - We should stop building the X11 backend by default in GTK 5
> - As long as we aren't doing any major GDK refactorings, keeping it around in its current state does not cost us much
I would assume that means the distributions will turn it on, and it will stay around until for now.
(In reply to Pierre Ossman from comment #3)
> E.g. login shells are no longer used:
Note that this isn't true in practice right now. A hack was added to gnome-session to start a login shell when started through Wayland.
This is unfortunate, though, as it muddles where the responsibility for this lies.
Long term, the hope seems to be that systemd facilities can replace starting a login shell.