Wayback Gives X11 Desktops A Fighting Chance In A Wayland World
A new project addresses one of the biggest differences between how X11 and Wayland work, and that could be a winning combination.
Wayback is an interesting new venture by Ariadne Conill, one of the core Alpine Linux developers – and indeed of the Alpine-based postmarketOS, as we have reported before.
Wayback bridges some of the gaps – and the disagreements – between the brave new world of Wayland and grumpy older Unix folks – and here, The Reg FOSS desk very much includes himself – who are perfectly happy with their decades-old X11-based desktop environments and don’t want to change.
Although we will unpack what it means a bit more, Conill’s own explanation is a good start:
Wayback is an experimental X compatibility layer which allows for running full X desktop environments using Wayland components. It is essentially a stub compositor which provides just enough Wayland capabilities to host a rootful Xwayland server.
It is intended to eventually replace the classic X.org server in Alpine, thus reducing maintenance burden of X applications in Alpine, but a lot of work needs to be done first.
The project only went public this week, but we’ve already seen some confusion. There is already XWayland, which lets X11 apps run under Wayland-based environments. What Wayback could potentially provide is something significantly different.
Although both X11 and Wayland are display protocols with multiple different implementations, the way that Wayland environments are put together is different to the way that X11 systems work.
An X server is a display server, a standalone piece of software that can run all on its own. Apps run (on the same machine, or other computers on the network), connect to the X server, and display on its screen.
Indeed, in the 20th century, before “thin clients,” standalone hardware X terminals were a thing: dumb terminals that ran nothing but an X server, allowing you to connect to a host machine and run a completely remote graphical session.
Today, the way that a local X11-based desktop system works is that the OS loads an X server, and then immediately loads some programs that then output to it. A common one is a display manager, which shows a login screen.
A common scenario is that you log in, and one program runs early on that draws window furniture and lets you open new windows. That’s called a window manager. If that app (or associated ones with a common look and feel) also provides other user interface functions – such as tools to launch and switch between apps, manage files, mount media, and so on – then the result is called a desktop environment.
Wayland is not like this. Wayland is just a protocol, and there are no separate display servers. With Wayland, what under X11 is called a “window manager” is also the display server. The result is called a “compositor” and other apps talk directly to it, over the Wayland protocol, in order to display stuff. There’s no bottom layer program, no server.
As a fun side effect, if (or rather when) it crashes, you instantly lose everything in all Wayland apps.
What this structure means is that without a window manager, you can’t run anything else. You must have a Wayland compositor running in order to start other apps. This includes the rather complicated XWayland, which provides the “legacy” X11 protocols so that you can run existing apps under your shiny new Wayland environment.
What this also means is that you can’t use an existing X11 window manager to be your Wayland compositor. The layer needed to run the X11 window manager doesn’t exist until there is a compositor to provide the Wayland environment, and then that compositor is the window manager, so your poor old X11 can’t take over. Without the compositor, there’s no GUI at all.
This design means that it’s impossible to port any existing X11 window manager or desktop to Wayland unless you rewrite the window manager to also be a compositor, which is a substantial task. Only a handful of the biggest projects have the manpower to do this – namely, GNOME and KDE. The other, smaller projects that are trying to move to Wayland are obliged to find workarounds, such as replacing their own window managers with existing simpler Wayland compositors such as Labwc or Wayfire. (We mention those two because they’re the options shared by Xfce 4.20 and LXQt 2.1.)
As best as we can tell, Wayback is an effort to create a Wayland-based display server, X11-style, which does not provide compositing. It aims to provide just enough support to run XWayland full screen, and thus provide the underpinning so that you can start a traditional X11-based window manager or desktop environment. The result is that you will be able to use an old-fashioned X11 window manager or desktop, eliminating the need to replace a comfy, familiar core tool with something shiny, new, and strange.
The author, who is rapidly heading for codger status, finds this idea appealing. We are fond of the Unity desktop, long abandoned by Canonical, but we also enjoy using GSDE and the ROX desktop. In the past we have liked XPde and EDE. As soon as we have the time, we plan to try NEXTSPACE and the MaXX Interactive Desktop. None of these seem likely to move to Wayland in the foreseeable future, but Wayback could provide a way.
It’s not the first “rootful XWayland” effort we’ve heard of – that would be Olivier Fourdain’s experiments in October 2023, but sadly, his blog hasn’t been updated since.
Why now? Well, the Xlibre founder was rebuked by Linus Torvalds in 2021 for posting anti-scientific COVID vaccine conspiracy claims on the Linux Kernel Mailing List. The project README takes an explicit stance against diversity, equality, and inclusion:
It’s explicitly free of any “DEI” or similar discriminatory policies.
That’s not all, as has been noted on Mastodon.
This is both attracting some people to the project, but also repelling others, and just as some distros, such as Devuan, express their support for Xlibre, others are explicitly disavowing it. Conill is one, saying on Bluesky:
I’ve placed a security hold on Xlibre in Alpine, for a number of reasons that basically sum up to an unproven reactionary project whose code runs with elevated privilege (such as direct hardware access) is extremely high risk for introducing security-related regressions.
There are similar but stronger sentiments from the Chimera Linux GNU-free distro we looked at in 2023.
Conill had stronger words on Alpine’s IRC channel. We asked her if the development of Wayback was in response to the Xlibre fork. She told us:
Wayback is not a direct response to Xlibre. We were already thinking about what the future of X in Alpine looked like before Xlibre was ever a thing.
Although the timeline got moved up a bit (I was originally aiming for next year for this) as a result of their announcement, because it highlighted to the entire Alpine community how we needed a sustainable answer for X.
In the past, we’ve described Alpine Linux in terms of feeling like a cool mountain breeze. We could describe the Wayback project in similar terms. As the Linux world increasingly moves towards adopting Wayland in place of X11, there is a serious risk that a third of a century’s worth of FOSS desktops and windowing environments would get dropped and left behind. Wayback could prevent that happening, and retain the diversity of choice in GUIs while modernizing the tools upon which they run. For us at least, that comes as a considerable relief. ®
Bootnote
This Wayback is no relation to the Internet Archive’s Wayback machine, which itself was named as a nod to a time machine called the Wormhole Activating and Bridging Automatic Computer – or WABAC for short — from 1960s American kids’ cartoon Rocky and Bullwinkle.
A considerable amount of time and effort goes into maintaining this website, creating backend automation and creating new features and content for you to make actionable intelligence decisions. Everyone that supports the site helps enable new functionality.
If you like the site, please support us on “Patreon” or “Buy Me A Coffee” using the buttons below
To keep up to date follow us on the below channels.