What is Pop!_OS?
Pop!_OS is made by System76, a company that builds and sells Linux hardware. They started with a modified Ubuntu LTS base, but have diverged significantly since. Today the distro ships its own app store (Pop!_Shop), uses apt plus flatpak for package management, and snap has been removed from the default install.
Until recently it ran GNOME as the desktop. That is changing. System76 is building COSMIC from scratch in Rust, and it is the most interesting thing to happen in the Linux desktop space in a long time. More on that below.
Why I switched
1. It runs well on older hardware
I run Pop!_OS on a machine that is a few years old. Ubuntu started feeling heavy on it, and the snap daemon alone was eating noticeable boot time.
Pop!_OS ships a cgroup-based process prioritizer that gives the active foreground app more CPU time. On older machines you can actually feel the difference. The browser stays responsive, the terminal does not lag, even when something heavy is running in the background.
2. Less bloat than Ubuntu
Ubuntu has added more to its default installation with every LTS release. A fresh Ubuntu 24.04 runs snapd, a bunch of system snaps, and Canonical has made Snap the default delivery mechanism for a growing list of packages. I do not use Snap and do not want the daemon running.
Pop!_OS ships without the snap daemon. No Amazon integration. No telemetry enabled by default. A fresh install is actually fresh. I add what I want instead of removing what I do not want.
3. COSMIC
GNOME has started feeling rigid. Not necessarily slow, but conservative. New features take years to land, and tiling is still not built in without extensions that can break on the next update.
System76 wrote COSMIC from scratch in Rust. Tiling is a core feature, not a plugin. The whole stack is new: compositor, display manager, settings, app launcher. They chose Rust because it gives memory safety and crash isolation without sacrificing performance.
I genuinely like what they have built. It is still alpha in early 2025, but it is the most promising thing happening on the Linux desktop right now.
Download and installation
Pop!_OS ships two ISO files. Picking the right one matters:
- NVIDIA version includes proprietary NVIDIA drivers pre-installed. If you have an NVIDIA GPU, get this one.
- AMD/Intel version uses open source drivers. If you have AMD or Intel graphics, this is the right choice.
Download from pop.system76.com. Flash the ISO to a USB drive. I use Ventoy, which lets you put multiple ISO files on one USB stick and choose at boot.
The installer is straightforward: boot from USB, pick language and keyboard layout, partition, create user. You get an offer to enable disk encryption during setup. Take it. It is two extra clicks and gives you full disk encryption with LUKS.
After installation
First thing I do on a fresh install:
sudo apt update && sudo apt upgrade -y
Then I remove what I never use:
# Remove things I don't use
sudo apt remove -y geary libreoffice-*
And install what I actually need:
# Install everyday tools
sudo apt install -y git curl htop neofetch flatpak
# Enable Flathub (usually already configured, but verify)
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
COSMIC Desktop
COSMIC is in alpha in early 2025. It is functional and usable, but there are rough edges and not everything behaves as expected yet. I run it on my primary machine, but I would not put it on a production system with a GUI or a critical workstation.
Install the COSMIC session alongside your existing GNOME session:
sudo apt install cosmic-session
Log out. At the login screen, find the session picker. Select "COSMIC" and log in.
What I actually like about it: tiling is intuitive and built in from the start. Window management is fast. The app launcher is clean. The whole thing is written in Rust, and you can feel it in the stability even in alpha.
Using Pop!_OS for homelab work
I use Pop!_OS as my primary workstation OS for homelab work. Here is what works well in practice.
Docker installs cleanly via Docker's official repo. It is standard Ubuntu procedure and works first time:
# Add Docker's GPG key and repo
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
Podman is available directly via apt:
sudo apt install -y podman
Terminal: Pop!_OS ships GNOME Terminal by default. If you want something faster and more configurable, I use Alacritty:
sudo apt install -y alacritty
Wireshark and nmap install and run without issues. On Ubuntu 24.04 I have hit AppArmor profiles that interfere with Wireshark capture. Pop!_OS is more straightforward on this.
sudo apt install -y wireshark nmap
# Add your user to the wireshark group to capture without root
sudo usermod -aG wireshark $USER
Log out and back in for the group change to take effect.
Frequently asked questions
Is Pop!_OS based on Ubuntu?
Yes. Pop!_OS is based on Ubuntu LTS. Packages from Ubuntu repos work, and you can add Ubuntu PPAs and use apt exactly as on Ubuntu. The main difference is what is not included: no snap daemon, no telemetry, its own app store.
What is the difference between the NVIDIA and AMD/Intel ISO?
The NVIDIA ISO ships with proprietary NVIDIA drivers pre-installed. If you have AMD or Intel graphics, the AMD/Intel version is the right pick. Installing the NVIDIA version on AMD hardware gives you drivers that do not match your GPU.
Can I upgrade to COSMIC once it is stable?
Yes. When COSMIC exits alpha it will come as an apt package. Install with sudo apt install cosmic-session and pick it at the login screen. You can keep GNOME in parallel and switch back and forth.
Do all Ubuntu packages work?
Most do. Snap packages do not work without manually installing snapd. That is intentional. Use Flatpak instead; it is fully supported via Flathub. Regular .deb packages and PPAs work as normal.
Sources
- pop.system76.com ā Pop!_OS official site (System76)
- github.com/pop-os/cosmic-epoch ā COSMIC desktop GitHub repo
- github.com/pop-os/system76-scheduler ā System76 Scheduler GitHub repo