Disclosure: some links on this page are affiliate links. If you sign up through them we may earn a commission at no extra cost to you. It helps keep LinuxDistroFinder free.
For years, Pop!_OS was simply Ubuntu with a polished GNOME skin on top. System76 — the Denver-based Linux hardware company behind Pop!_OS — continuously patched and customised GNOME to match their vision: a keyboard-driven, developer-friendly desktop. But patching someone else's shell has limits. In mid-2021 they announced they were building their own desktop environment from scratch. That project is COSMIC.
COSMIC (the new one — not the older GNOME extension that shared the name) is written almost entirely in Rust, built on a custom compositor called cosmic-comp, and is designed to be modular, themeable, and independent of both GNOME Shell and GTK's opinionated defaults. The first stable release, Pop!_OS 24.04 LTS with COSMIC, shipped in early 2025, and the ecosystem has been maturing rapidly through 2026. This guide explains what COSMIC actually is, what makes it technically interesting, how it compares to other desktops, and whether you should switch today.
Why System76 Didn't Just Stick with GNOME
The decision wasn't impulsive. System76 spent several years shipping a GNOME-based Pop!_OS and built some genuinely impressive extensions — most notably the auto-tiling system and the Pop Shell keyboard workflow. The problem was upstream. Every major GNOME release risked breaking their patches. GNOME Shell is written in JavaScript (via GJS), which made deep performance optimisation difficult. And GNOME's design direction — prioritising touch-friendly, single-window workflows — diverged from what System76's power-user customer base wanted.
Rather than fork GNOME (as Canonical once did to create Unity), System76 chose to write a new compositor and panel from scratch in Rust, giving them full control over the rendering pipeline, the settings infrastructure, and the application toolkit.
The Technical Stack: What's Actually Under the Hood
cosmic-comp — The Wayland Compositor
At the heart of COSMIC is cosmic-comp, a Wayland compositor built with the Smithay library — a Rust-native toolkit for building Wayland compositors. This means COSMIC is Wayland-first and Wayland-only; there is no X11 fallback in the default session. XWayland is included for running legacy X11 applications, but the compositor itself never touches X11 protocols directly.
Using Smithay rather than wlroots (which powers Sway, Hyprland, and others) was a deliberate choice. Smithay is pure Rust, meaning System76 gets memory safety guarantees at the compositor level — a meaningful claim given that display servers are privileged processes that handle input from every application on the system.
iced — The GUI Toolkit
COSMIC's own applications — the settings panel, files app, text editor, terminal — are built with iced, a Rust-native GUI framework inspired by Elm's architecture. Iced uses a retained-mode renderer backed by wgpu, which means it can leverage GPU acceleration via Vulkan, Metal, or DirectX 12 (the last two matter for testing on macOS and Windows, but on Linux it's predominantly Vulkan or OpenGL ES as fallback).
This is genuinely different from GTK4 or Qt, both of which have C/C++ cores with Rust bindings bolted on. COSMIC's first-party apps are idiomatic Rust all the way down.
cosmic-settings-daemon and the Settings Architecture
Rather than inheriting GNOME's dconf/GSettings system, COSMIC ships its own cosmic-settings-daemon that stores configuration in RON (Rusty Object Notation) files under ~/.config/cosmic/. This makes settings human-readable and easy to back up or version-control — something that was notoriously painful with dconf's binary blobs.
COSMIC Panel and App Library
The panel is fully configurable in a way GNOME's top bar never was without extensions. You can place it on any edge of the screen, set its thickness, opacity, and which applets appear. The App Library (the application launcher) is keyboard-first by design, with fuzzy search built in.
Super to open the App Library, then start typing immediately — no need to click a search field. COSMIC's keyboard-first philosophy means most launcher interactions are faster than reaching for the mouse.COSMIC's Key Features at a Glance
| Feature | COSMIC | GNOME 46 | KDE Plasma 6 |
|---|---|---|---|
| Primary language | Rust | C + JavaScript | C++ (Qt) |
| Compositor | cosmic-comp (Smithay) | Mutter | KWin |
| Display protocol | Wayland-only (XWayland for legacy) | Wayland + X11 | Wayland + X11 |
| Auto-tiling | Built-in, toggle per workspace | No (extension only) | Limited (KWin scripts) |
| Panel placement | Any edge, fully configurable | Top only | Any edge |
| Settings format | RON files (~/.config/cosmic/) | dconf (binary) | INI/XML files |
| GPU rendering | wgpu (Vulkan/GL ES) | Cairo + GL (Clutter) | OpenGL / Vulkan |
| Multi-monitor support | Per-monitor workspaces | Shared workspaces | Per-monitor (optional) |
| Theming | Built-in theme engine + accent colours | Limited (no accent in shell) | Extensive |
Auto-Tiling: COSMIC's Signature Workflow Feature
The feature that most Pop!_OS users cite as irreplaceable is auto-tiling. In COSMIC, tiling is not a separate mode you switch into — it's a per-workspace toggle. On a given workspace, windows automatically tile into a binary tree layout as you open them. You can swap, resize, and move them with keyboard shortcuts, and at any point you can float individual windows by dragging them out of the grid.
Compared to dedicated tiling window managers like i3 or Sway, COSMIC's tiling is more forgiving: dialog boxes, picture-in-picture windows, and apps that request floating are handled gracefully. Compared to GNOME with the Pop Shell extension, it's the same concept but integrated at the compositor level — no JavaScript overhead, no risk of the extension breaking after a compositor update.
Super + Y. This keeps the experience accessible for users migrating from floating WM environments.Workspaces and Multi-Monitor Behaviour
COSMIC follows a model that's different from both GNOME and KDE. By default, workspaces are per-monitor: each display has its own independent set of workspaces. This means on a dual-monitor setup, switching workspace on your left screen doesn't disturb what's on your right screen — a workflow that laptop-plus-external-display users in particular find much more natural.
You can switch to a "span across all monitors" mode if you prefer the GNOME-style unified workspace model, but the per-monitor default is a considered design decision aimed at professional multi-display setups.
COSMIC Apps: First-Party Rust Applications
System76 has been building a suite of first-party apps using iced. As of mid-2026, the main ones are:
- COSMIC Files — a file manager with a two-pane layout option, tabs, and keyboard-navigable interface
- COSMIC Terminal — GPU-accelerated terminal emulator, supports ligatures and tabs natively
- COSMIC Text Editor — a lightweight code-aware editor (not a full IDE, but a spiritual successor to gedit/kate)
- COSMIC Settings — the system settings panel, significantly more configurable than GNOME Settings
- COSMIC Store — a unified app store surfacing Flatpak, .deb, and (in future) Snap packages
- COSMIC Screenshot / Screen Recorder — integrated capture tools
You are not forced to use these apps. GTK4 applications (like Nautilus or GNOME Calendar) run fine on COSMIC since it supports the standard Wayland protocols. Qt apps run equally well. The COSMIC apps are opt-in but generally feel notably snappier than their GTK equivalents on the same hardware, partly because they avoid GTK's CSS theming overhead.
Theming and Customisation
One of COSMIC's standout features compared to GNOME is its built-in theming engine. COSMIC generates themes programmatically from a base colour palette — you pick an accent colour and COSMIC derives the full light/dark/high-contrast variants automatically. Third-party themes can be distributed and applied without any workaround (no need for user-theme extensions or Tweaks).
The panel, dock, and app library are all independently configurable in terms of size, position, opacity, and applet contents. This level of out-of-the-box flexibility sits somewhere between GNOME (minimal, extension-dependent) and KDE Plasma (maximally configurable but sometimes overwhelming).
Installing COSMIC on Pop!_OS 24.04
If you're running Pop!_OS 24.04 LTS, COSMIC is the default desktop environment and ships with a fresh install. If you're upgrading from an older Pop!_OS release running the GNOME-based session, the upgrade path installs COSMIC alongside the legacy session — you choose at the login screen.
You can also install the COSMIC session on other Ubuntu-based distros, though this is an unofficial path and some integrations (like the power management daemon) work best on Pop!_OS proper.
# On Pop!_OS 24.04, COSMIC is already the default.
# To install the COSMIC session on Ubuntu 24.04 (unofficial, use at your own risk):
sudo add-apt-repository ppa:system76/pop
sudo apt update
sudo apt install cosmic-session
# Then log out and select "COSMIC" from the session menu at the login screen.Performance: How Does COSMIC Actually Feel?
In real-world use on mid-range hardware (e.g. a Ryzen 5 5600U with 16 GB RAM), COSMIC's idle RAM footprint sits around 600–750 MB — heavier than a minimal KDE Plasma session (~500 MB) but lighter than a full GNOME 46 session (~850–950 MB with default extensions). Animation frame rates are consistently smooth at 60fps and 120fps on matching displays, with noticeably less compositor stutter than GNOME during heavy multi-app use.
On older hardware — say, a 2013 laptop with 4 GB RAM — COSMIC is usable but not the ideal choice. Its GPU-accelerated rendering pipeline assumes a reasonably modern GPU driver stack. For truly old machines you're better served by LXQt or Openbox. On anything from around 2016 onwards with a decent GPU driver, COSMIC performs well.
COSMIC hits a sweet spot for people who want serious tiling and keyboard-first workflows without the steep configuration cliff of i3/Sway. If you spend most of your day in a terminal, editor, and browser, and you want those to tile automatically without touching config files, COSMIC is arguably the most approachable tiling-capable desktop on Linux today.
The App Library, panel-on-top default, and polished out-of-box experience make COSMIC one of the smoother landing pads for macOS switchers. System76 sells hardware pre-loaded with Pop!_OS, meaning the full stack is tested end-to-end — a rarity in Linux land.
GNOME Shell extensions do not run on COSMIC. If your workflow depends on specific GNOME extensions — Dash to Panel, Caffeine, GSConnect — you'll need to find COSMIC equivalents (some exist, some don't yet). The ecosystem is growing but is not as mature as GNOME's extension library built over 15 years.
COSMIC vs. the Alternatives: When to Choose What
| Desktop | Best for | Tiling? | RAM (idle) | Maturity |
|---|---|---|---|---|
| COSMIC | Dev workflow, keyboard users | ✅ Built-in | ~700 MB | New (stable since 2025) |
| GNOME 46 | General use, touch, simplicity | ❌ Extension only | ~900 MB | Very mature |
| KDE Plasma 6 | Power users, customisation | ⚠️ Limited | ~500 MB | Very mature |
| Sway / Hyprland | Hardcore tiling, minimal | ✅ Native | ~200 MB | Mature (no GUI config) |
| Cinnamon | Windows-like familiarity | ❌ | ~600 MB | Very mature |
Running Pop!_OS COSMIC on a VPS or Cloud Server?
While COSMIC is a desktop environment designed for local machines, developers often pair a local Pop!_OS workstation with a Linux VPS for hosting, CI/CD, or remote dev environments. Vultr gives you $100 free credit to spin up an Ubuntu or Debian VPS — perfect for remote development that complements your COSMIC desktop workflow.
Claim $100 Free Credit on Vultr →Prefer managed hosting? Hostinger VPS starts at very competitive rates with one-click Linux deployment.
The Road Ahead: What's Still Missing
COSMIC is production-stable but the ecosystem still has gaps compared to GNOME or KDE after years of development. As of mid-2026, known areas that are still maturing include:
- Third-party applet/extension ecosystem — the API exists but the community library is small compared to GNOME Extensions
- Accessibility support — AT-SPI support is in progress but not fully complete; screen reader users should hold off
- Fractional scaling — functional but has some blurriness issues with mixed-DPI setups on certain GPU drivers
- Nvidia proprietary driver support — improved significantly through 2025–2026 but can still require extra steps on fresh installs
- COSMIC Files — still lacks some file manager polish (network shares, archive extraction) compared to Nautilus
System76 publishes a public roadmap at github.com/pop-os/cosmic-epoch and the project is genuinely open — anyone can contribute or track progress. The pace of development has been rapid; many gaps that existed at the 2025 launch have already closed.
Frequently Asked Questions
Is COSMIC desktop stable enough for daily use in 2026?
Yes — the Pop!_OS 24.04 LTS release with COSMIC has been stable since early 2025 and has received multiple point releases since. For most developers and general users it's production-ready. The main caveats are Nvidia GPU edge cases and incomplete accessibility support for screen reader users.
Can I install COSMIC on Ubuntu, Fedora, or Arch Linux?
COSMIC is packaged for Ubuntu (via System76's PPA), and community packages exist for Arch Linux (in the AUR) and Fedora (via a COPR repository). These are unofficial and may lag behind Pop!_OS in integration quality, but they work reasonably well on modern hardware. Fedora and Arch packages have been particularly active through 2026.
Does COSMIC support GTK apps and Qt apps?
Yes. COSMIC implements standard Wayland protocols (xdg-shell, layer-shell, etc.), so GTK4, GTK3, and Qt apps all run normally. XWayland handles any remaining X11-only applications. You won't lose access to your existing app library.
Is COSMIC a tiling window manager or a full desktop environment?
It's a full desktop environment — it includes a compositor, panel, app launcher, settings daemon, notification system, and first-party applications. Tiling is a feature of the compositor, not the defining characteristic. You can use COSMIC with all windows floating if you prefer a traditional layout.
How does COSMIC handle multiple monitors with different refresh rates?
Each monitor runs at its native refresh rate independently. The compositor handles per-output frame timing, which is one advantage of building on Smithay rather than inheriting older code. Variable refresh rate (VRR/FreeSync) support was added in late 2025 for supported GPUs.
Will COSMIC replace GNOME as the default for Pop!_OS forever?
System76 has been explicit that yes, COSMIC is the permanent direction for Pop!_OS. The GNOME-based session is still installable as a legacy option but is no longer the default and will not receive active development from System76. All their engineering effort is on COSMIC going forward.
Does COSMIC work well on laptops with touchpads?
Gesture support is functional — three-finger swipe switches workspaces, pinch-to-zoom works in supported apps — but the gesture customisation options are less extensive than GNOME's libinput integration as of mid-2026. Touchpad behaviour is solid for everyday use; power users wanting gesture macros may want to supplement with libinput-gestures.
Is the source code for COSMIC fully open source?
Yes. All COSMIC components are published on GitHub under the pop-os organisation, licensed under GPL-3.0 (compositor and shell) and MIT/Apache-2.0 (libraries and toolkit components). The iced GUI framework used for COSMIC apps is separately maintained as an independent open-source project that anyone can use.