System76 teases features coming in homegrown Rust-based desktop COSMIC
Meanwhile, Xfce takes its first steps toward Wayland support
News is emerging regarding the future of two popular Linux desktops: System76's Pop!_OS and COSMIC, as well as a future version of Xfce.
US Linux kit vendor System76 has been working on a new desktop environment for at least a couple of years, word of which was leaked out in a Reddit discussion in 2021. System76's own Linux distro, Pop!_OS, uses the GNOME desktop with some of the company's extensions and customizations, and some GNOME team members were less than delighted to hear that System76 was planning to go its own way.
The work-in-progress desktop is called COSMIC, and the company has been teasing information about the new environment in recent blog posts. It's implemented in Rust and targets the Wayland display server. Back in November, System76 shared some details, including that the desktop would use the Iced GUI library as well as some illustrations of how the workspace configuration dialog would look.
Now, the first post of 2023 by the company reveals some more info and some screenshots. So far, System76's developers seem to be hard at work on the Settings app, including some options for display and virtual desktop configuration. They are moving options around based on feedback from testers, which implies a reasonable degree of completed functionality, if it is already advanced enough for testers to work with.
The environment is able to show the power level of multiple connected wireless devices in one place, and has options for individual testing of surround-sound speakers. Different scaling factors can be set for different displays, which will be useful for those using multiple monitors with different DPI densities – something that's a problem for X11-based desktops today.
It can adapt to different rendering back-ends, including both OpenGL and Vulkan as well as Softbuffer for displays lacking 3D acceleration. It has its own compositor, cosmic-comp, but this will include support for XWayland so that older X11 apps will still work in the new environment.
This grumpy old vulture finds large numbers of components with version numbers far below one to be a little worrying, but the COSMIC developers are keen to make sure that their patches and changes are passed back to the various upstream projects, such as the Smithay Rust-based compositor.
COSMIC is the first substantial Linux desktop we're aware of to be implemented entirely in Rust, although there are some more modest projects, such as way-cooler, a tiling window manager. It seems likely that COSMIC is going to accelerate the development of a lot of Rust graphical tools and components, which should prove to be a benefit for the whole Rust ecosystem.
Pop!_OS is a popular distro, and while we had some problems with version 21.10, we had a much better experience with the 22.04 release. GNOME still strikes us as a desktop for people who don't want to do manual window management, and who live in one maximized window most of the time. The Cosmic automatic-window-tiling extension in Pop!_OS strikes us as a significant improvement on this model, and we're keenly interested to see how the standalone desktop turns out.
- helloSystem 0.8: A friendly, all-graphical FreeBSD
- Version 5 of the Endless OS enters testing
- Fedora 38 is finally taking shape
- What's in Santa's sack? New Linux Mint, EndeavourOS and postmarketOS updates
Over in the relatively staid and slow-moving world of Xfce – for clarity, those are good attributes – version 4.18 remains quite fresh and new. For instance, Xubuntu users won't get it until April. There's nothing about the next stable release, 4.20, on the Xfce blog just yet. But what will in time become Xfce 4.20 is already under development as version 4.19, and the first components are starting to appear, such as xfdesktop version 4.19 and the new libxfcewindowing version 4.19, followed just a week later by 4.19.1.
As its documentation describes:
Libxfce4windowing is an abstraction library that attempts to present windowing concepts (screens, toplevel windows, workspaces, etc.) in a windowing-system-independent manner.
Currently, X11 is fully supported, via libwnck. Wayland is partially supported, through various Wayland protocol extensions.
What is important about this is that it represents the first steps on the Xfce project's roadmap for Wayland support. X11 is now nearly 40 years old and although Wayland has been around for over a quarter of that time, it hasn't displaced its antecedent yet. Indeed, it's taking so long that other, more ambitious display servers are in development which do things that Wayland never will.
However, it seems probable that in time some distros will drop support for X.org, and while we hope that Xfce continues to run on the Wayland-free OpenBSD, NetBSD and DragonflyBSD for years to come, it needs to support Wayland as well in order to run on the largest range of Linux distros. These early steps are thus very good news, even if they aren't much use just yet. ®