How To Install COSMIC Desktop on Ubuntu 26.04 LTS

Install COSMIC Desktop on Ubuntu 26.04

Every few years, a desktop environment shows up that makes even jaded systems administrators pause mid-coffee and actually pay attention. COSMIC, the Rust-based shell built by System76 for Pop!_OS, is one of those. It’s fast, it’s opinionated in the right ways, and unlike a lot of “next-gen” Linux UI experiments, it doesn’t fall apart the moment you open a terminal with sixteen tabs.

If you’re running Ubuntu 26.04 LTS on a workstation, a home lab box, or even a beefy dev server you’ve decided to give a GUI, there’s a reasonable chance you’ve already heard the buzz around COSMIC. What you probably haven’t heard is how to actually get it installed cleanly, without breaking your existing GNOME session or leaving orphaned packages scattered across your system like confetti after a bad party.

This isn’t a copy-paste tutorial lifted from a changelog. It’s written from the perspective of someone who has spent more hours than they’d like to admit rescuing broken display managers at 2 AM. COSMIC on Ubuntu 26.04 isn’t officially packaged by Canonical yet — it lives in an unofficial PPA maintained by the community, which means the install process has a few sharp edges you need to know about before you touch apt.

We’ll walk through the exact commands, the dependency chain that trips people up, how to switch between COSMIC and your existing desktop without a full reinstall, and what to do when things go sideways — because on a bleeding-edge desktop environment, something eventually will. Along the way, expect a few performance and security notes that most “quick guide” articles skip entirely, because installing a desktop environment on a production-adjacent machine is a different animal than doing it on a throwaway VM.

What Is COSMIC Desktop, and Why Does It Matter on Ubuntu 26.04?

COSMIC is a from-scratch desktop environment written in Rust, using the iced GUI toolkit rather than GTK or Qt for its core shell components. System76 built it originally for Pop!_OS as a replacement for their heavily-patched GNOME fork, and the result is a desktop that feels noticeably snappier on both Wayland and older hardware compared to GNOME 4x or KDE Plasma with all the trimmings.

For Ubuntu users, COSMIC is interesting for a specific reason: it’s lightweight without feeling stripped down. Unlike XFCE, which trades polish for speed, COSMIC ships tiling window management, a modern compositor, and a genuinely usable settings app — all while sipping RAM compared to GNOME Shell’s extension-heavy defaults. On Ubuntu 26.04 specifically, the packaging has matured to the point where it’s no longer considered purely experimental, though “unofficial PPA” status still means you’re on your own for support.

System Requirements Before You Start

Don’t skip this section. COSMIC’s compositor relies on Wayland and reasonably current Mesa drivers, and the unofficial PPA explicitly calls out newer dependency requirements than what ships in a stock Ubuntu install.

  • CPU: Any x86_64 processor from the last 8 years; COSMIC isn’t CPU-hungry, but ancient hardware struggles with any Wayland compositor.
  • RAM: 4GB minimum, 8GB recommended if you’re running COSMIC alongside GNOME for testing purposes.
  • GPU drivers: Mesa needs to be current — this is non-negotiable, and it’s the single most common source of black-screen-after-login issues.
  • Free disk space: Roughly 1.5–2GB for the full COSMIC stack plus dependencies.
  • A non-critical machine, ideally: this is unofficial packaging. Don’t run this experiment on your only production desktop or a box people depend on for uptime.

Step-by-Step: Installing COSMIC Desktop on Ubuntu 26.04 LTS

Step 1: Update Your Base System First

Before touching any third-party repository, get your existing package state clean. Skipping this step is how you end up debugging a dependency conflict that has nothing to do with COSMIC and everything to do with three-month-old kernel headers.

sudo apt update && sudo apt upgrade -y

Reboot afterward if the kernel got updated. A stale running kernel combined with new Mesa packages is a recipe for graphics glitches that look exactly like a COSMIC bug but aren’t.

Step 2: Add the Required Mesa and Flatpak Repositories

The unofficial COSMIC PPA depends on newer Mesa and Wayland/XWayland builds than what Ubuntu 26.04 ships by default. The maintainer is explicit about this on the Launchpad page — add these two repos first, or you’ll hit unmet dependency errors during the actual COSMIC install.

sudo add-apt-repository ppa:kisak/kisak-mesa
sudo add-apt-repository ppa:flatpak/stable
sudo apt update && sudo apt full-upgrade -y

Why full-upgrade instead of a regular upgrade? Because adding the Mesa PPA often triggers package replacements, not just version bumps, and full-upgrade handles those transitions correctly where a plain upgrade might leave held-back packages.

Step 3: Add the COSMIC PPA

Now bring in the actual desktop environment packages.

sudo add-apt-repository ppa:hepp3n/cosmic-epoch
sudo apt update

You’ll be prompted for your sudo password (no visible characters as you type — that’s standard Linux behavior, not a broken terminal) and asked to confirm adding the repository. Hit Enter to continue.

Step 4: Install the COSMIC Session

This is the actual installation command:

sudo apt install cosmic-session

Somewhere in this process, you’ll be prompted to choose a default display manager. This decision matters more than it looks:

  • gdm3 — Keep this if you want to switch between GNOME and COSMIC sessions without any extra steps. This is the safer default for most people.
  • cosmic-greeter — Choose this if you’re committing fully to COSMIC and want its native login screen. Some users have reported cosmic-greeter failing to hand off correctly into GNOME sessions, so if you’re not ready to abandon GNOME entirely, stick with gdm3.

If you want a leaner install that avoids pulling in extra GNOME dependencies as recommends, use:

sudo apt install --no-install-recommends cosmic-session

This flag matters more on server-style installs where you’re deliberately avoiding a full desktop stack and just want COSMIC as the only DE on the box.

Step 5: Reboot and Switch Sessions

sudo reboot

At the login screen, look for the session-switcher icon — usually a small gear or dropdown near the password field, depending on which display manager you kept. Select “COSMIC” from the list, then log in normally.

If the option doesn’t appear at all, don’t panic yet — that’s almost always a symptom of an incomplete package install, not a fundamentally broken system. Re-run sudo apt update && sudo apt install cosmic-session and watch for errors in the output that scrolled past too fast to notice the first time.

Real-World Configuration After First Login

Getting COSMIC installed is half the job. The other half is making it actually usable day-to-day, especially if you’re coming from a heavily customized GNOME or KDE setup.

Tiling Window Management

COSMIC ships with built-in tiling, toggled from the top panel or via keyboard shortcut. If you’ve never used a tiling window manager before, give it a real week before deciding you hate it — muscle memory for Super + Arrow window snapping takes about that long to form, and once it clicks, going back to floating-only feels clumsy.

Fractional Scaling on High-DPI Displays

COSMIC’s Wayland compositor handles fractional scaling noticeably better than GNOME’s implementation did a few releases back. If you’re running a 4K panel at 125% or 150% scaling, check Settings > Displays and adjust there rather than fighting with xrandr-style hacks that don’t even apply under Wayland anyway.

Flatpak Integration

Since you already added the Flatpak stable repo in Step 2, take advantage of it. COSMIC’s app store leans on Flatpak for a chunk of its software catalog, and having the correct remote configured avoids a class of “app not found” errors that otherwise looks like a broken package manager.

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Troubleshooting Common COSMIC Installation Issues

Black Screen or Freeze After Login

Nine times out of ten, this is a graphics driver mismatch — either Mesa is stale, or you’re on proprietary NVIDIA drivers that haven’t caught up with COSMIC’s Wayland requirements yet. Boot into a TTY (Ctrl+Alt+F3), log in, and check:

journalctl -b -u cosmic-session --no-pager | tail -50

If you see repeated GPU context errors, force a Mesa reinstall:

sudo apt install --reinstall mesa-utils libgl1-mesa-dri

NVIDIA users specifically should confirm they’re running a driver version that supports the Wayland session properly — older 470-series drivers are known to struggle with newer compositors across the board, not just COSMIC.

libc6 Version Conflicts

There’s a known issue where systems upgraded from 24.04 to 26.04 hit dependency errors demanding libc6 (gt;= 2.43) when the local mirror hasn’t fully synced with archive.ubuntu.com. The fix isn’t a COSMIC problem at all — it’s a mirror sync issue. Switch your sources temporarily to the main Ubuntu archive:

sudo sed -i 's/mirror\..*\.archive/archive/' /etc/apt/sources.list
sudo apt update

Revert the mirror change afterward if you prefer the speed of a local mirror for everyday updates.

PPA Refuses to Add

Occasionally add-apt-repository fails silently or throws a GPG key error. This is usually a dirmngr or keyserver timeout issue, not a PPA problem:

sudo apt install dirmngr gnupg2 -y
sudo add-apt-repository ppa:hepp3n/cosmic-epoch

Session Option Missing From Login Screen

Covered briefly above, but worth repeating with more detail: this almost always traces back to cosmic-session failing partway through install due to an unmet dependency that got silently skipped. Run:

sudo apt install -f
sudo dpkg --configure -a

Then reinstall the session package cleanly.

Removing COSMIC Cleanly (If You Need To Roll Back)

Because this is unofficial packaging, you should always know your exit path before you commit. ppa-purge handles this far more gracefully than manually removing packages one by one, since it downgrades affected packages back to their Ubuntu-archive versions instead of just deleting them and leaving broken dependency chains behind.

sudo apt install ppa-purge
sudo ppa-purge ppa:hepp3n/cosmic-epoch

If the purge process gets interrupted midway — and on flaky connections, it sometimes does — manually clean up remaining COSMIC packages:

sudo apt remove --purge cosmic-session cosmic-greeter
sudo apt autoremove --purge

Reboot afterward. If you switched your display manager to cosmic-greeter at any point, reconfigure gdm3 as the default before removing COSMIC entirely, or you may end up staring at a login screen with nothing to log into:

sudo dpkg-reconfigure gdm3

Performance and Security Considerations

CPU and Memory Behavior

COSMIC’s Rust-based shell components generally sit lighter on RAM than GNOME Shell with extensions loaded, but the compositor itself isn’t free. On systems with integrated graphics and under 8GB of RAM, monitor with:

watch -n 2 free -h

If you notice memory pressure during normal use, check for leftover GNOME services still running in the background — a leftover gnome-shell process competing for the same GPU context as COSMIC’s compositor is a classic source of sluggishness that has nothing to do with COSMIC itself.

Disk I/O During Installation

The initial apt install cosmic-session pulls a meaningful number of packages, particularly with –install-recommends. On systems with spinning disks rather than SSDs, this step can take considerably longer than expected — not because of a slow mirror, but because of package extraction and dpkg database updates hammering random I/O. If you’re doing this on a VM or older laptop, don’t assume the install has hung just because progress bars slow down mid-extraction.

Firewall and Update Hygiene

Adding three separate PPAs (Mesa, Flatpak, COSMIC) expands your system’s trust surface. This isn’t a reason to avoid them, but it is a reason to keep good habits:

  • Run sudo apt update && sudo apt list –upgradable regularly rather than letting PPA packages drift out of sync with the base system.
  • Keep UFW or your firewall of choice active regardless of desktop environment changes — a new DE doesn’t change your network exposure, but it’s an easy moment to forget basic hardening while you’re distracted by UI tweaking.
  • Review /etc/apt/sources.list.d/ periodically and remove PPAs you’re no longer actively using, especially unofficial ones tied to a project still in active development.

Permissions Note for Multi-User Systems

If this machine has multiple local users, be aware that cosmic-greeter and gdm3 handle per-user session preferences slightly differently during the transition period. Test session switching under a secondary non-admin account before assuming every user on the box will get the same clean experience you did as the admin account.

r00t is a Linux Systems Administrator and open-source advocate with over ten years of hands-on experience in server infrastructure, system hardening, and performance tuning. Having worked across distributions such as Debian, Arch, RHEL, and Ubuntu, he brings real-world depth to every article published on this blog. r00t writes to bridge the gap between complex sysadmin concepts and practical, everyday application — whether you are configuring your first server or optimizing a production environment. Based in New York, US, he is a firm believer that knowledge, like open-source software, is best when shared freely.

Related Posts