As Elementary OS commits to Wayland, the Budgie desktop development team is changing course and will collaborate with Xfce developers on Budgie's future with Wayland.
Ubuntu Budgie is a community-developed distribution that integrates the Budgie desktop environment with Ubuntu at its core. It is one of the official variants of Ubuntu and aims to provide a modern, elegant and intuitive user experience while maintaining the stability and power of Ubuntu.
Currently, there is a general consensus that the future of graphical desktops on Linux is Wayland rather than X11, but the path is not yet completely smooth and obstacle-free. During the Ubuntu Summit in Latvia, Reg's FOSS panel met with Ubuntu Budgie developers, who shared how the Budgie project is charting a new path to the bold world of Wayland.
We previously reported on the future direction the Budgie team planned to take. Back in January, we covered their plans to move from GNOME to Enlightenment and in that article, we also noted that “Xfce is very mature, rather slow to change, and the project does not release new versions very frequently.” Then in July we reported the Budgie team's new enthusiasm for Wayland.
We caught up with project leader David “Fossfreedom” Mohammed and packaging guru Sam Lane from the Ubuntu Budgie team in Rīga, and they relayed news of a rift – and possible divorce – between Budgie and Enlightenment… caused by Wayland.
Wayland is a replacement for the X11 windowing system protocol and architecture, aiming to be easier to develop, extend, and maintain.
Wayland is the language (protocol) that applications can use to communicate with a display server in order to make them visible and receive input from the user (a person). A Wayland server is called a “composer”. The applications are Wayland clients.
Wayland also refers to a system architecture. It's not just a server-client relationship between a composer and applications. There is no single Wayland server as common as Xorg is for X11, but each graphical environment brings with it one of many composer implementations. Window management and end-user experience are often tied to the composer rather than interchangeable components.
Returning to Ubuntu Budgie instead, although Enlightenment offers some support for Wayland, in the words of the project this is "still considered experimental and not for regular end users."
Mohammed told us:
EFL offers experimental support for Wayland. They've had this for quite some time. However, progress towards a full implementation currently falls outside the urgent nature of moving to Wayland (Red Hat further halting X11 development, and questions about who might step up, etc.)
So, Budgie is exploring different ways to build an environment unique to Wayland. For now, as we mentioned when we reviewed the release of Ubuntu 23.10, there is a new window management library, Magpie. Magpie 0.9 is what the project describes as “a soft-fork of GNOME's mutter to version 43” – the term soft fork meaning a temporary means to an end, rather than intended to form a long-term independent continuation.
For the future, however, Mohammed told us:
Budgie is taking a pragmatic approach – looking to see what can be done in the short to medium term, then taking a long-term view.
So, the Budgie team is evaluating options moving forward. XFCE is doing great work in this area with libxfce4windowing – a compatibility layer that connects Wayland and X11, allowing the move in a logical direction without the need for a revolutionary approach. So far, most of the current code has already been reworked and is ready for a Wayland-only approach without impacting further development and improvements.
In fact, we already wrote about Xfce's efforts for Wayland back in February. The work-in-progress code for Magpie 1 is already on Github. It seems a bit confusing to us, in the sense that this means that Magpie 0.x is a totally different project from Magpie 1.x. He agreed:
Budgie acknowledged that his previous messages in this area regarding his approach to toolkits have caused confusion. It makes sense for smaller, more dynamic projects to work together where there are shared goals.
We should note that this isn't the first time Enlightenment has faced criticism. This example on DailyWTF is almost legendary. Perhaps the most prominent distribution based on Enlightenment is Bodhi Linux, which recently released version 7, but as we noted last year, it took 12 years for Enlightenment to release DR17, and the Bodhi developers were so impressed with the releases later that forked DR17 to create the Moksha desktop.
On the other hand, it is not easy to work with the GNOME Project either. Ubuntu's Unity desktop came about in part because, as Ubuntu founder Mark Shuttleworth put it, Canonical “took a divergent view on some key design issues“, but the GNOME guys didn't agree and made decisions with which Canonical “found it difficult to align.” Linux Mint's Clement Lefebvre was less diplomatic, saying that some of the “GNOME development team…simply don't want to have users from other desktops than GNOME.” GNOME's authoritarian approach to limiting user themes has also caused drama, and GNOME developers' responses to criticism can be robust.
However, some projects manage to work effectively, downstream of GNOME. Reg has long been quite impressed with Elementary OS, which as we noted when we reviewed the latest version 7.1 uses some GNOME technologies and tools. The latest blog post from the Elementary team says that the next release will change display servers:
One of the biggest and most ambitious goals we have for OS 8 is to use the Wayland display server protocol by default. This is a transition we have been preparing and working towards for several years and now we are finally on the right path.
We're intrigued to see what the project will do with it. The latest version of the Raspberry Pi operating system, version 5, has a Wayland-based desktop that we think works better than both of the big-name Wayland environments. We suspect Elementary OS could do even better… and Budgie too, given time to put the pieces together.