Distro Hopping Diaries: Why I'm Trading Pop!_OS Cosmic for Resolute Raccoon
Ubuntu 26.04 LTS — “Resolute Raccoon” — dropped on Thursday, and I’ve got a weekend reinstall on the calendar. This is the rhythm of my desktop life, and has been for a long time now.
This is the first of three posts. This one is the why — the reasoning behind leaving Pop!_OS and what 26.04 brings that tips the scales. The next post covers the actual install: btrfs subvolume layout, Timeshift configuration, and the rough edges in the new installer. The third covers turning a fresh 26.04 install with two NVIDIA cards into a real AI/ML development workstation.
A Distro Hopper’s Confession
I’ve been an Ubuntu user for fifteen-plus years. That’s the long arc. The shorter arc is that for the last three or four years I’ve been distro hopping in earnest — primarily between Ubuntu and Pop!_OS, with occasional detours to Fedora. I run a homelab with several machines, and at any given time at least one of them is on Ubuntu and at least one is on Pop!_OS. They’re both “home.” This is just how I roll.
Some people pick a distro and stay there for life. Good for them. I’d rather kick the tires every release cycle, see what each project is doing well, and let my daily driver reflect wherever the engineering decisions feel sharpest right now.
For the past while, that’s been Pop!_OS. With 26.04 out, I’m coming back to Ubuntu.
The Pop!_OS Love Letter
Before I get into why I’m leaving, let me say what System76 gets really, really right — because some of these are things I genuinely wish Ubuntu would just adopt outright.
systemd-boot, not GRUB. It’s minimal, faster, and has none of GRUB’s accumulated complexity. On a modern UEFI machine, systemd-boot is the right answer.
Real full disk encryption — including /boot. This is the one that matters most to me. On a Pop!_OS install with EFI, /boot/efi lives on the unencrypted EFI System Partition (it has to — that’s where the firmware looks), but /boot itself sits inside the LUKS-encrypted root. systemd-boot loads from ESP, unlocks the encrypted volume, and away we go. Compare that to Ubuntu’s traditional GRUB layout where /boot has historically been unencrypted, exposing your kernel and initramfs. Pop!_OS just gets this right out of the box.
The installer. Clean, opinionated, gets out of the way.
Btrfs support out of the box. I still have to do my own work to lay out @ and @home subvolumes the way I want them, and tweak system hooks with a few stubs to make snapshots play nicely — but Pop!_OS makes that work possible without fighting the installer.
NVIDIA drivers in the live ISO. This is huge. If you’ve got an NVIDIA card and you’ve ever had to fight nouveau through an install, you know exactly why this matters. Pop!_OS ships an NVIDIA-flavored ISO. You boot, you install, the proprietary driver is already there. Done.
That’s a lot of things to get right, and System76 deserves credit for all of them.
The Cosmic Compromise
So why leave?
It comes down to the desktop environment, and to gravity.
I want to be clear: I have nothing against COSMIC. I actually love that it’s being written in Rust — that’s the right long-term bet, and I respect the ambition of building a modern DE from scratch in a memory-safe language. The team is doing serious work.
But I’m not going to pretend that years of GNOME polish don’t matter to me. GNOME has had time to sand down the edges, and it shows in a thousand tiny places — animation timing, multi-monitor behavior, extension ecosystem, accessibility, the way notifications integrate, the way the shell handles weird edge cases. COSMIC will get there. It’s just not there yet.
The other half of it is gravity. The Linux ecosystem and community center of mass is on Ubuntu. Documentation, Stack Overflow answers, vendor support matrices, container base images, AI/ML tutorials, hardware compatibility threads — they all default to Ubuntu. That’s not Pop!_OS’s fault, and it’s not a knock against System76. It’s just where the gravity well is, and that gravity matters.
What 26.04 Brings to the Table
If I were leaving Pop!_OS only to go back to plain old Ubuntu, this would be a less interesting post. But Resolute Raccoon makes the move easier than it would have been a year ago. A few things in particular:
Dracut is the default initramfs generator. I’ve spent enough time inside both dracut and initramfs-tools to have opinions, and dracut is the better tool. Fedora has been on dracut forever. Ubuntu finally moving over means initramfs builds, hooks, and module loading work the way they should.
GNOME 50. Honestly, this is the part I’m most excited about — GNOME polish is the whole reason I’m leaving Cosmic in the first place. The 50 release (“Tokyo,” shipped March 18) brings Variable Refresh Rate stable and on by default (it was experimental for years), improved discrete GPU detection, a faster and lighter Files app, and the final removal of X11 from GDM. After years of “GNOME is great, but…” caveats from various distributions, this release feels like the polished, opinionated daily driver I’ve been wanting to come back to.
Fractional scaling that doesn’t blur the world. This one is personal. I drive two 4K monitors on this machine, and fractional scaling on GNOME has been the persistent rough edge — XWayland apps and Chrome/Electron apps especially would render with blurry text at non-integer scale factors. Pop!_OS COSMIC has actually handled this better than upstream GNOME for a while; credit where it’s due. GNOME 50 finally addresses it on three fronts: fractional scaling is stable and on by default (no more experimental gsettings toggles), Mutter has native XWayland scaling support, and Ubuntu layers an explicit toggle in Settings → Displays for legacy X11 app scaling on top of that. If this works as advertised on my dual-4K setup, it closes one of the few real ergonomic gaps I’ve had with vanilla GNOME — and it’s the change I’m most curious to put through its paces this week.
NVIDIA on Wayland, finally pleasant. Native CUDA support in the archive, the long-standing suspend/resume corruption resolved, GNOME 50’s improved NVIDIA path, all on Linux kernel 7.0. Anyone who’s run NVIDIA on Wayland for the past few years knows exactly how meaningful that combination is.
Rust in the core, for real now. Canonical’s “Oxidation” project shipped its biggest swap yet: sudo-rs is the default sudo, and uutils — Rust reimplementations of ls, cp, mv, cat, date, and dozens of other coreutils — has replaced the GNU originals. The motivation isn’t raw speed; it’s memory safety and long-term maintainability for the most security-sensitive code on the system. (There’s a real license conversation here too — uutils is MIT, GNU coreutils is GPL — and reasonable people will argue about that for a while.) The thing I admired about COSMIC’s Rust foundation is now showing up at the lower layers of Ubuntu too, on packages I touch every day from a terminal. I’m genuinely excited to live with this.
Security improvements that aren’t just talk. Post-quantum cryptography is on by default in the relevant places. Snap permissions now prompt on first use rather than granting blanket access at install time. There’s a new Security Center app that surfaces what’s actually been granted to what. None of these alone is a tipping point — but together they signal that Canonical is treating the desktop security model as a live system to iterate on, not a solved problem. Combined with the Oxidation work above, this is the most serious investment in Ubuntu’s security posture I’ve seen in years.
Plenty more to chew on — a real-time kernel in the main archive without an Ubuntu Pro subscription, expanded ARM support, and so on. But the above are what tip me over.
Why This Machine, Specifically
The rig:
- CPU: AMD Ryzen 9 5950X (16C/32T)
- RAM: 128 GB
- GPU 1: NVIDIA RTX 4060 Ti — drives the displays
- GPU 2: NVIDIA RTX 5070 Ti — dedicated to compute
- Motherboard: ASUS TUF Gaming X570-Plus (Wi-Fi)
- Storage: PCIe 4.0 NVMe — 1 TB (OS + apps) + 2 TB (dev + models); 2× 4 TB HDD
- Displays: 2× 4K, routed through a KVM switch
My primary development machine is a MacBook Pro M4 — that’s where most of my code gets written. But anything that needs serious NVIDIA muscle — local model inference, fine-tuning runs, CUDA-dependent toolchains — runs here.
Ubuntu 26.04’s native CUDA support and the NVIDIA Wayland improvements are not incidental to me picking this release. They’re a big part of why this machine, in particular, is going back to Ubuntu now.
What’s Next
The reinstall itself is just the start.
Part 2: the actual 26.04 install. Custom partitioning with a btrfs layout I actually want — @ and @home subvolumes, Timeshift hooked in properly, kernel hooks that don’t orphan things on snapshot/restore. What the new installer does well, what it still gets wrong, and the manual steps that fix it. Honest note up front: full disk encryption including /boot on Ubuntu is still unsolved territory for me — I know it’s possible, but I’m not putting that rabbit hole in the same weekend as everything else. Separate post when I crack it.
Part 3: turning a fresh 26.04 install with two NVIDIA cards into a proper AI/ML development workstation. GPU partitioning so the 4060 Ti stays out of compute jobs, CUDA and cuDNN setup, container runtimes that respect that split, model weight storage, the works.
Backups verified. ISO downloaded. Sunday cleared. Next entry coming from the other side.
Subscribe
Occasional notes on building things — mostly software, sometimes with AI. No spam.
No spam. Unsubscribe anytime. Powered by Buttondown.