I just tried out the COSMIC Desktop Environment (DE) created and engineered by System76 (people who are behind POP!_OS). It was an incredible experience even though it was just a pre-alpha.
COSMIC was engineered virtually from the ground-up to be System76's solution to move away from GNOME and onto their own tech stack. The entire DE is written in the Rust programming language utilizing the iced application framework with their in-house application library libcosmic (similar to how KDE uses Qt+Breeze+Frameworks or GNOME uses GTK + Libadwaita).
Impressions
If you're familiar with POP!_OS 22.04's take on GNOME, then the workflow is no different here with emphasis on features such as tiling, application dock, application launcher, universal search launcher and of course: auto-tiling.
One of the exclusive features of COSMIC is its 1st class support for custom theming on the fly. You're allowed to theme the desktop in almost any way you can (even with nauseating colors) and the DE will adapt to your preferences.
It can even theme gnome apps! (I read other books dw)
Auto-tiling is also great to use, you can toggle specific windows to be floating or tiled.
Theme integration with Qt apps are a work in progress + some quirks of running COSMIC in a container with KDE. So far, I really enjoy how buttery smooth everything is (besides some pre-alpha stuttering), the entire desktop feels like a really cohesive experience. It has the efficiency of a tiling window manager but the convenience of a DE.
It has an overview!!! (super+w)
You can also stack windows on top of each other
Not everything is implemented (obviously) but just the promise of a DE that does tiling and window management like this has me sold.
How to try out COSMIC?
NixOS
There's a flake
Fedora Atomic Desktop
You can use a universal blue image and rebase to that, it even includes options for having a fallback desktop environment of either GNOME or KDE as well.
Other
- Arch has an AUR package
- Fedora has a COPR repository
- Compile from source (instructions)
Note that this cannot be used in production: cosmic is pre-alpha software as well as needing to turn off SELinux.
Or wait until POP!_OS 24.04 is released with a stable version of COSMIC this summer. This has been my first time running COSMIC but when the stable version drops you bet I'm switching over (though no one can take away my Fedora atomic distro).
Switch to GNU/Linux or pay the ultimate price
They didn't technically build their own GUI stack, iced already existed and this was during the time where native Rust applications were being theorized about but no one really put pen to paper yet. So COSMIC acts as an example of what iced is capable of doing and what it needs to implement to improve.
LXQT comes to mind when leveraging Qt for the desktop and it certainly works, but KDE is much more than just a Qt-based desktop since it has its own components on top of it (like Kio, etc.) System76 is a hardware company so their principal interest is to ship an operating system that works with their client's hardware without any hiccups (or at least hiccups that can be fixed immediately by them instead of waiting for upstream). They can't afford to wait for GNOME or KDE to implement certain wayland protocols or desktop features that they know their clients already expect with their GNOME 42 spin. Wayland is reaching critical mass and they can't afford bargaining with GNOME nor switching to a C++ based KDE when most of their engineers use Rust.
It's a technical exercise as well as a pragmatic one. If you have the resources to engineer your own compositor and DE on your own stack, then you should take the opportunity since that's a once in a lifetime thing (considering wayland KDE and GNOME have dominated the space for so long).