|
|
Log in / Subscribe / Register

Going boldly into the COSMIC desktop environment

By Joe Brockmeier
December 17, 2025

After three years of development, Linux hardware provider System76 has declared the COSMIC desktop environment stable. It shipped COSMIC Epoch 1 as part of the long-awaited Pop!_OS 24.04 LTS release on December 11, just in time for Linux enthusiasts to have something to tinker with over the end-of-year holidays. With the stable release out the door, it seemed like a good time to check back in on COSMIC and see how it has evolved since the first alpha. For a first stable release of a new desktop environment, COSMIC shows a lot of promise and room to grow.

System76 is, first and foremost, a provider of Linux laptops, desktops, servers, and other hardware. It originally shipped its hardware with Ubuntu preinstalled. It created the Ubuntu-based Pop!_OS distribution in 2017 after Canonical discontinued work on the Unity desktop. Rather than trying to maintain Unity alone, the company offered GNOME as its default desktop instead. Eventually, System76 introduced a GNOME shell extension to add tiling features, but maintaining the extension in the face of GNOME changes proved to be difficult. Ultimately, System76 decided that it would build its own Rust-based, Wayland-only desktop environment.

As the version number indicates, this release is based on Ubuntu's 24.04 LTS, which has been out for about 18 months now. Pop!_OS users have had a longer-than-usual wait for the release because System76 decided to focus on its new COSMIC desktop environment rather than putting out a 24.04 release last year with the old GNOME-based desktop it had also called COSMIC.

The first alpha of the Rust-based COSMIC, released in August 2024, showed a great deal of potential, but there were many missing features and applications needed before it could be considered a suitable desktop. In the 15 months since the alpha, the development team has managed to move things along quite a bit—some of applications are still a bit bare-bones, but overall the result is a usable desktop distribution with a few rough edges. Note that COSMIC has also been packaged for quite a few Linux distributions, so one does not need to use Pop!_OS to get it, but I wanted to get the stable version directly from System76 to ensure it was set up as they envisioned it.

There are two x86_64 builds of Pop!_OS available via the downloads page, one with the proprietary drivers for systems with NVIDIA graphics, the other for systems with AMD or Intel graphics. Users are instructed to disable secure boot to install Pop!_OS.

System76 has introduced Arm builds for the 24.04 release; these are primarily for the company's Arm hardware that uses Ampere Altra CPUs. As with x86_64, there is one for Arm computers with NVIDIA graphics and another for those without it. The description indicates that the builds may work with other devices supported by the Tow-Boot firmware (an "opinionated distribution of U-Boot").

The Pop!_OS installation has not changed much in the interim. Other than choosing the system language, keyboard layout, then pointing the installer at the right storage device, supplying user credentials, and so forth, there is not much for the user to do other than accept options and wait for the process to finish.

Even though Pop!_OS is based on Ubuntu, there are a few differences worth noting. One is that System76 has yanked support for Snap packaging out of the distribution, and adds support for Flatpaks instead. Software like Firefox, which is shipped as a snap package for Ubuntu, is shipped by System76 as a Debian package instead. The distribution also includes extra APT repositories for some proprietary software, such as Google Chrome, Plex Media Server, and Steam for games.

System76 ships its own kernel, based on Ubuntu's kernel sources; currently Pop!_OS includes Linux 6.17.9, which is available for Ubuntu 25.10, but not for the 24.04 releases. Ubuntu 24.04 offers 6.8 or 6.14, depending on the point release. The kernel does not seem to be heavily customized beyond any changes from Ubuntu; a quick skim of the changelog and some poking with the git-who utility shows fewer than 40 commits from System76 employees. Most of those are to make adjustments for System76 hardware.

There is also a recovery partition created when a user installs Pop!_OS. This contains the installation media for the distribution and tools that allow users to perform a "refresh install" that is supposed to preserve user data. (I have not tested it myself.)

For the most part, Pop!_OS is Ubuntu-like enough that Ubuntu users will probably feel comfortable with it; software created for Ubuntu (which is abundant) will run just fine.

Desktop

COSMIC has two modes for window management, floating and tiling. What's particularly nice about COSMIC is that users do not have to choose one or the other; each workspace can be set to floating or tiling, independently. A person might use tiling mode for a workspace with terminal windows, but use floating for a workspace with a graphics application. Windows can be set to floating mode on tiling workspaces, as well. That can be useful for applications like the calculator or COSMIC's settings utility.

[The COSMIC desktop in floating mode]

The tiling mode seems like it would be ideal for users who are new to tiling window management; some tiling window managers require users to do extensive up-front configuration and manage everything via shortcuts. This is fine for some more technical users, but a bit of a headache and blocker for others. COSMIC has the benefit of discoverability; users can start off with the desktop in traditional floating mode, and dip a toe into tiling to see if they like it.

It is possible to do everything with COSMIC via shortcuts, but not required. All of the window-management operations can be done by dragging and dropping, or by right-clicking the mouse on a window's title bar and selecting the option one wants. The shortcuts for operations are displayed when right-clicking, too, so users can learn the shortcuts gradually.

The Alt+Tab behavior for switching between windows has improved since the early alphas, but is still unique to COSMIC. Alt+Tab brings up a floating dialog box with a list of applications and a shortcut next to each application, Ctrl+1 through Ctrl+0. In the first iterations of COSMIC, Alt+Tab would only display eight windows; any additional windows were ignored. Now, hitting Alt+Tab while the dialog is up cycles through the full list of open windows, or a user can type Ctrl+N to switch to the desired window. If there are 11 or more windows open, the remainder simply do not get shortcuts. This method feels a bit weird to me, but other users may like it.

The only tiling bug, or at least unwanted surprise, that I discovered is that window properties do not persist when changing workspaces. That is, if a window on a tiling workspace is set to floating, that setting does not persist if the window is moved to another workspace. Instead, the window is automatically tiled, and the user has to toggle it to floating again.

While COSMIC's tiling mode is quite usable on a large widescreen monitor, it quickly becomes cramped when working on a smaller canvas such as a laptop screen. After using PaperWM on GNOME and then moving to the niri Wayland compositor, I've gotten hooked on the scrolling model for tiling window management. There is a feature request that was opened in May 2024 that asked for an option to add scrolling window management. COSMIC developer Victoria Brekenfeld responded that it was unlikely the team would add additional window-management concepts at that point in development, but "we might (long-term) try to provide an api to have external programs add new window management options". That doesn't seem to exist yet, but perhaps the team will get to it now that the stable release is out.

[The COSMIC desktop in tiled mode]

Brekenfeld said that the team also wanted to allow changing the cosmic-comp compositor used with the desktop, which would allow swapping in niri to get its scrolling features. That they have done; she has published a cosmic-ext-extra-sessions repository with scripts and instructions for using COSMIC with Sway, miracle-wm, or niri. I've encountered no problems while using niri as COSMIC's compositor on Fedora 42 and Fedora 43. Unfortunately, niri is only packaged for Ubuntu 25.10 and later; users who want to use niri on Pop!_OS 24.04 will have to build it from source.

By default, COSMIC has a macOS-ish layout: a top panel with a clock and assorted widgets, and a dock with buttons for the application launcher, workspaces, as well as open applications. These can be adjusted to better match one's preferences; for example, the panel and dock can be made larger or smaller, moved to the sides of the screen, set to automatically hide, and so forth. The dock can be disabled entirely if a user does not feel a need for it.

All of the features on the panel and dock are implemented as applets that can be moved around or turned off. At the moment, the applets themselves have no configuration options. For example, the "App Library Button" applet displays icons for each application that is currently open. Clicking the Firefox button displays each of its open windows. However, it is not possible to ungroup application windows so each one is shown separately, which is typically an option for similar taskbar applets on other desktops. It seems probable that the System76-provided applets will receive additional features and polish over time, now that the core desktop is considered stable.

The code for the applets shipped with COSMIC is in a repository on GitHub, but there is not much in the way of documentation. Bryan Hyland has written a tutorial, though, for anyone looking to develop their own. There is already a COSMIC Utils site with a small collection of community-created applets available.

COSMIC applications

Desktop environments typically include a selection of basic software that users need right away; a file manager, text editor, terminal emulator, etc. COSMIC includes all of these, though some are more complete than others.

The terminal emulator, simply named "COSMIC Terminal" has a good selection of basic features; it has tabs, split windows, profiles, and so on. Not as full-featured as something like Alacritty or Ghostty, but quite usable. It has more than enough features if one assumes that the target audience for Pop!_OS is less likely to spend a lot of time at the command line.

The COSMIC Text Editor is also good, but basic. It offers a clean interface, syntax highlighting, word-wrap, Vim keybindings, and more. It also seems slightly unfinished: there is a "Git management" menu item that simply brings up a sidebar that says "Git management is a developer tool used for version control operations". Presumably, a later version of the editor will include some functionality that ties it in with Git in some way. It's no substitute for Emacs or Vim, but it's perfectly suitable for basic editing of configuration files and such.

COSMIC includes a bare-bones media player that can open audio or video files and play them back. There is no playlist or queue. Just open a file, play it back. That's it. It has no frills whatsoever, not even the ability to play audio or video files back at slower or faster speeds. It's unclear whether the media player was developed primarily as a proof-of-concept for the desktop or if there are plans to build it out into a more full-featured application. However, there is no real pressing need for the COSMIC developers to prioritize enhancing the media player; there are plenty of alternatives for Linux, and users are likely to have a preferred option already, which can probably be found in the desktop's application store.

The COSMIC Files application is a decent enough file manager, but a little cumbersome to use compared to Dolphin or Nautilus. The reason for that is the design scheme used for all of COSMIC's applications; there is no toolbar as one might expect with a file manager, just the menu bar with the "File", "Edit", "View", and "Sort" entries. Where one might usually click an icon to toggle between list and thumbnail view of files, the COSMIC file manager requires clicking the View menu then selecting grid view. Oddly, toggling between list and thumbnail view is not an option in the right-click menu. If one learns the shortcuts (Ctrl+2 for grid, Ctrl+1 for list) it's less cumbersome, but that's just one operation.

The desktop does not have an official tool that makes it easy to pick themes, but there is a Tweaks application available as a Flatpak that does so. In addition to themes, Tweaks lets users customize some hidden settings for the dock and panel, such as padding between items displayed in both. It enables saving desktop layouts, too, so users can tinker with settings and return to a previous layout without having to undo each change separately. The tagline for Tweaks is "Personalize your COSMIC desktop beyond infinity", which seems to be overselling the program's capabilities quite a bit, but it is a handy tool if one likes to customize the desktop.

Managing software

COSMIC Store is a front-end for installing and managing a variety of software for Pop!_OS. It showcases desktop software from the Pop!_OS repositories, Flatpak applications from Flathub and other repositories, as well as a collection of third-party applets for the desktop. It replaces the Pop!_Shop software-management application that was included in 22.04 and prior versions of Pop!_OS. The older application was, in my experience, slow and unstable; when I used Pop!_OS, I tended to avoid it if possible. COSMIC Store, on the other hand, is responsive and stable.

There are a few gaps where Flatpak handling is concerned. The Store does not indicate whether an application is verified through Flathub or not; in fact, it shows the developer of a Flatpak application as the upstream developer, regardless of whether that upstream had a hand in packaging the application for Flathub. For instance, the Spotify entry in the Store shows Spotify as the developer even though the Flatpak is unverified. Other app stores for Linux link back to the Flathub homepage for Flatpaks, where one can find the developer information and manifest for the package; the COSMIC Store simply lists the application's homepage, even if the upstream or vendor has nothing to do with the Flatpak.

The Store also has a collection of third-party applets, such as the Dictionary Applet or Classic Menu for the desktop. This is a different selection of applets than what is available on the Cosmic Utils site. System packages and Flatpak updates are managed through the Store as well. Oddly, it shows updates to COSMIC desktop applications separately from other system packages, even though those are also installed as Debian packages. No doubt there is some reasoning behind that, but it isn't immediately obvious what that might be.

Before the Bazzite project became an option, Pop!_OS was my default recommendation to users who wanted a distribution to play games on Linux. In my experience, it worked well on systems with NVIDIA GPUs, and Steam was packaged for the distribution and ran my selection of games well. My experience with Steam games on 24.04, so far, has not gone as well. One game, Quake III Arena, launches in a small window that only displays part of the game. Another, Prodeus, opens in a full-screen view as it should, but mouse input does not work properly. Stray, on the other hand seems to work just fine.

Native Linux games installed as Debian packages or from Flatpak fared better, though I also ran into some weirdness when trying to play games on an external monitor. If I stuck to using the laptop screen, games ran fine.

Documentation and community

One of the other weak spots for the distribution, and for COSMIC as a desktop environment, is a lack of documentation. There is no link to documentation from the main landing page for Pop!_OS, with the exception of a pointer to the keyboard shortcuts. There are a number of good support articles provided by System76, but some are out of date.

Right now, for example, there is no apparent way for users to contribute documentation for COSMIC. Since COSMIC has been packaged and adopted by other distributions, there is a good chance that it will be well-documented for some distributions and not others. The ArchWiki COSMIC documentation is already off to a good start.

There is not a forum or mailing list for COSMIC developers or users, but there is a chat platform based on the Mattermost open-source collaboration software. It is refreshing to see a project, especially one backed by a company, deliberately using an open-source project for communications rather than pointing people to proprietary services like Discord.

There is also a COSMIC Epoch 2 project board that interested users and contributors can keep an eye on to see what work is planned for the next major release. Some of the features on the to-do list include new Alt+Tab options, per-application volume control, and additional window-management settings. The next major release of Pop!_OS will be based on Ubuntu 26.04 LTS, which is expected in April 2026, but it's not clear if Epoch 2 is planned for that release.

COSMIC Epoch 1 is a solid and usable desktop; it is not perfect, but it's an impressive 1.0 release. It is clear that the developers have a vision and are working on realizing it. How COSMIC evolves from here will be interesting to watch. Will COSMIC attract Linux users from other desktops, or (even better) attract new users to Linux?



to post comments

Precursor to System76 Hardware?

Posted Dec 18, 2025 0:49 UTC (Thu) by ryanduve (subscriber, #127786) [Link] (2 responses)

Is there any indication whether COSMIC is part of a path to System76 designing laptops using its own hardware like Apple? I've had a Galago Pro for a number of years and am happy enough with Pop OS, but would replace it for an in-house designed laptop in a heartbeat.

Precursor to System76 Hardware?

Posted Dec 18, 2025 1:19 UTC (Thu) by Cyberax (✭ supporter ✭, #52523) [Link] (1 responses)

System76 has its own laptops: https://system76.com/laptops

If you mean that they're designing their own GPUs and CPUs? No chance. They need to be about 1000x bigger.

Precursor to System76 Hardware?

Posted Dec 18, 2025 9:10 UTC (Thu) by evad (guest, #60553) [Link]

System76 laptops are mostly (all?) rebadged Clevo laptops. This is not to trivialise the work they do, they work with Clevo directly and ensure the laptop works with Linux, contributing code, etc. I'd consider System76 if they made their own laptop hardware (not the CPU/GPU), because Clevo hardware I've repeatedly found to have poor keyboards and poor build quality in general.

Linux desktop investment

Posted Dec 18, 2025 10:32 UTC (Thu) by sam.thursfield (subscriber, #94496) [Link]

As someone who contributes in the Liunux desktop space, I think the biggest issue we have is relatively low investment. So its great to see system76 putting some real work in here and making something new and cool.

Cosmic's tiling management is good enough for me

Posted Dec 19, 2025 5:18 UTC (Fri) by tomf (subscriber, #113110) [Link]

I was disinterested and skeptical about Cosmic, since DEs tend not to have decent tiling window management.

It turns out that I don't need the full power of Sway, and Cosmic is good enough, while having the conveniences of a DE.

Underlying Toolkit

Posted Dec 19, 2025 11:00 UTC (Fri) by vasvir (subscriber, #92389) [Link] (7 responses)

COSMIC is built on iced a rust toolkit.

It would be interesting to know how this modern toolkit compares with Qt or GTK.

Underlying Toolkit

Posted Dec 22, 2025 4:43 UTC (Mon) by jmalcolm (subscriber, #8876) [Link] (1 responses)

While COSMIC is considered production-ready at this point, Iced still describes itself as "experimental" on GitHub.

In terms of what it is capable of, I would say that COSMIC itself is a pretty good showcase of that.

Underlying Toolkit

Posted Dec 22, 2025 15:53 UTC (Mon) by Tarnyko (subscriber, #90061) [Link]

The wording of Iced documentation always made me cautious about eventually using it, by insisting on it being an "experimental, developers first" experience.
But if it's good enough for the COSMIC guys, then I suppose it is now desktop-ready!

Underlying Toolkit

Posted Dec 27, 2025 22:17 UTC (Sat) by peterhoeg (guest, #4944) [Link] (4 responses)

Comparing iced to Qt is a bit like comparing a unicycle to a space ship. Iced is really just a widget toolkit whereas the Qt platform provides a huge amount of functionality in many different areas - one of which is UI widgets.

Underlying Toolkit

Posted Dec 29, 2025 11:35 UTC (Mon) by taladar (subscriber, #68407) [Link] (3 responses)

I hope no Rust library will ever feel the need to ship with 27 different kinds of reinvented wheels the way Qt does.

Underlying Toolkit

Posted Dec 29, 2025 17:04 UTC (Mon) by raven667 (subscriber, #5198) [Link] (2 responses)

That is very very unlikely to happen because the conditions around the creation of the Rust ecosystem and Qt are vastly different. Qt was created in the 90's when code sharing over the Internet was much more primitive and C++ was much newer so the "batteries included" approach was necessary because it was prohibitively complex to scavenge the necessary functionality piecemeal. Today with Rust you have ubiquitous git and Internet, so a tool like cargo to manage the complexity of building software using multiple reusable components, and the way Rust handles compatibility between Rust libraries, makes it easier to break down functionality into smaller reusable units.

Underlying Toolkit

Posted Dec 29, 2025 18:30 UTC (Mon) by mathstuf (subscriber, #69389) [Link] (1 responses)

Of particular note, Qt predates the STL, so even `std::string` was being reinvented everywhere. Once it did show up, it didn't have the same features (e.g., CoW) everywhere, so `QString` persisted.

Underlying Toolkit

Posted Dec 30, 2025 16:15 UTC (Tue) by mbunkus (subscriber, #87248) [Link]

Additionally QString & all of Qt's other container classes have so many useful functions that using them over the STL equivalents is basically a no-brainer. It's sooooooo much easier, both to write and to read. There's sooooooooooooo much more functionality, too.

Interesting

Posted Dec 22, 2025 16:34 UTC (Mon) by dskoll (subscriber, #1630) [Link]

I took a look at this in a virtual machine. The COSMIC desktop looks interesting, but I think what was released is definitely a beta. I couldn't find a way to change UI font sizes, for example. And I have a legacy X11 application that doesn't get the window sizes it asks for (in floating-window mode) when it starts up, so I have to manually make the windows bigger to see the whole application.

But still, it's nice to see competition in the desktop space and I'm sure COSMIC will mature and improve.


Copyright © 2025, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds