How to Install Pop!_OS
Install Pop!_OS step by step: pick the right NVIDIA or Intel ISO, write a bootable USB, configure disk encryption, and complete day-one setup.
Before you start
- ▸A USB drive of at least 8 GB (will be erased)
- ▸A target machine with UEFI firmware (Legacy BIOS works but is not recommended)
- ▸Internet connection for post-install updates
- ▸Knowledge of which GPU brand is in your machine (NVIDIA vs. AMD/Intel)
Pop!_OS is System76's Ubuntu-based distribution, built around a polished GNOME desktop with strong hardware support and a genuinely useful tiling window manager extension baked in. The installer is straightforward, but there are a few decisions—GPU variant, disk encryption, partition scheme—that trip up new users. This guide walks you through every step from download to a working desktop.
Choosing the Right ISO
Pop!_OS ships two distinct ISOs for each release. Getting this wrong is the most common first mistake.
- Intel/AMD ISO — Use this for Intel graphics, AMD graphics (including discrete RX cards), and any system without an NVIDIA GPU. Mesa drivers are included.
- NVIDIA ISO — Use this if your machine has a discrete NVIDIA GPU (GeForce, Quadro, RTX). It bundles the proprietary NVIDIA driver. Installing the Intel/AMD ISO on an NVIDIA machine will get you a working desktop via Nouveau, but you will likely hit performance and Wayland issues.
If your laptop has NVIDIA Optimus (Intel iGPU + NVIDIA dGPU), use the NVIDIA ISO. Pop!_OS includes the System76 Power tool to switch between graphics modes.
Download from pop.system76.com. Verify the SHA256 checksum shown on the page before writing the image.
sha256sum pop-os_22.04_amd64_nvidia_20.iso
Compare the output against the checksum listed on the download page. They must match exactly.
Writing the USB Drive
You need a USB drive of at least 8 GB. This process erases it completely.
On Linux
Find your drive's device node first—do not guess.
lsblk -d -o NAME,SIZE,MODEL
sudo dd if=pop-os_22.04_amd64_nvidia_20.iso \
of=/dev/sdX bs=4M status=progress oflag=sync
Replace /dev/sdX with your actual drive (e.g., /dev/sdb). Double-check before running; dd will overwrite whatever device you specify.
On Windows or macOS
Use Balena Etcher. Select the ISO, select the drive, and flash. No extra configuration needed.
Booting the Installer
- Insert the USB drive and restart your machine.
- Enter your firmware boot menu. Common keys: F12 (Dell, Lenovo ThinkPad), F9 (HP), Option ⌥ (Mac), Esc or F8 (ASUS). Check your manufacturer's documentation if unsure.
- Select the USB drive from the boot menu. If you see both a UEFI and a legacy entry for the drive, choose the UEFI entry.
- Pop!_OS boots directly to a live desktop—there is no boot menu countdown. The installer launches automatically or sits on the desktop ready to run.
If you land at a blank or corrupted screen on the NVIDIA ISO, press e at the GRUB entry and add nomodeset to the kernel line as a temporary workaround. This is rare but happens on some older NVIDIA cards.
Running the Installer
Language and Keyboard
Select your language and keyboard layout on the first two screens. The layout preview at the bottom updates as you type—use it to confirm special characters.
Disk Setup and Encryption
This is the most important screen. You have two primary paths:
- Clean install — Erases the entire selected disk and installs Pop!_OS. Appropriate for a dedicated machine or a new drive.
- Custom (Advanced) — Lets you create or reuse partitions manually. Use this for dual-boot setups or if you need a separate
/homepartition.
After choosing the disk, the installer offers Encrypt as a toggle. Enable it. You will set a decryption passphrase that is required at every boot before the OS loads. Use a strong passphrase you can actually type at 3 AM. Encryption uses LUKS2 under the hood and has negligible performance impact on any hardware made in the last decade.
If you choose Custom partitioning for dual boot:
- Do not format or touch the existing EFI system partition (ESP). Assign it the
/boot/efimount point only. - Create a new partition for
/(root) formatted asext4orbtrfs. 40 GB minimum; 60–80 GB is comfortable. - Swap is optional. A swapfile can be added post-install if needed. If you have less than 8 GB of RAM, create a swap partition of 4–8 GB.
User Account
Set your full name, username, and password. The password here is your sudo password—make it different from your disk encryption passphrase.
Installation
Click Install. The process takes 5–15 minutes depending on drive speed. When it completes, you are prompted to restart. Remove the USB drive when instructed.
First Boot and Day-One Setup
Decryption Prompt
If you enabled encryption, systemd-boot will show a passphrase prompt before the desktop loads. Enter your disk passphrase. The session password prompt that follows is separate—it's your user account password.
System Updates
Open a terminal (Super + T by default) and update immediately. Pop!_OS uses apt under the hood, but System76 recommends their front-end for OS upgrades. For package updates either works.
sudo apt update && sudo apt full-upgrade -y
Reboot after updates if the kernel was upgraded.
NVIDIA GPU: Verify the Driver
On the NVIDIA ISO, the driver is pre-installed. Confirm it is active:
nvidia-smi
You should see your GPU model, driver version (550.x or newer on a current install), and CUDA version. If nvidia-smi returns an error, the driver may not have loaded—check with dmesg | grep -i nvidia.
NVIDIA Optimus: Set Graphics Mode
If you have a hybrid graphics laptop, open Settings → Power (or the System76 Power applet in the top bar) and choose a graphics mode:
- Integrated — Intel/AMD iGPU only. Best battery life.
- NVIDIA — Discrete GPU for everything. Best performance; higher power draw.
- Hybrid — iGPU drives the display; dGPU available on demand via
prime-run. - Compute — NVIDIA available for CUDA/ML tasks without driving a display.
A logout or reboot is required when switching modes.
Pop!_Shop and Essential Software
The Pop!_Shop (a Flatpak-aware graphical store) covers most applications. For command-line installs, standard apt and flatpak both work.
# Install a Flatpak app example
flatpak install flathub com.visualstudio.code
# Install from apt
sudo apt install git curl htop
Enable Firewall
Pop!_OS ships with ufw installed but disabled.
sudo ufw enable
sudo ufw status verbose
Verification
Run through this quick checklist before considering the install complete:
- Display resolution and refresh rate are correct: Settings → Displays.
- Audio output works: click the volume icon and play a test sound.
- Wi-Fi or Ethernet connects and can reach the internet.
nvidia-smishows your GPU (NVIDIA systems only).sudo ufw statusreturnsStatus: active.- System time is correct:
timedatectl statusshould show NTP synchronized: yes.
Troubleshooting
Black screen after boot (NVIDIA)
Press Ctrl+Alt+F2 to drop to a TTY. Log in, then run sudo apt install --reinstall system76-driver-nvidia. If the NVIDIA ISO driver conflicts with a Secure Boot key, you may need to enroll the MOK (Machine Owner Key) during first boot—watch for a blue TianoCore screen prompting enrollment and follow the on-screen steps.
Forgot disk encryption passphrase
There is no recovery path without the passphrase or a LUKS header backup. This is intentional. Keep a written copy of your passphrase in a physically secure location.
Installer does not detect existing Windows partition
Windows Fast Startup (a.k.a. hybrid sleep) can leave the NTFS partition in a hibernated state that the installer will not touch. Boot into Windows, open an elevated Command Prompt, and run powercfg /h off, then shut down fully before running the Pop!_OS installer again.
Wi-Fi not working after install
Some Broadcom and Realtek adapters need additional firmware. With Ethernet connected, run:
sudo apt install linux-firmware
Then reboot. If the card still does not appear, run lspci | grep -i net and search the exact chipset name alongside "Pop!_OS" or "Ubuntu 22.04" for driver-specific instructions.
Frequently asked questions
- What happens if I install the Intel/AMD ISO on an NVIDIA machine?
- The system will use the open-source Nouveau driver. You'll get a working desktop but reduced performance, likely no hardware video acceleration, and limited Wayland stability. Install the NVIDIA ISO or add the proprietary driver afterward with sudo apt install system76-driver-nvidia.
- Can I dual-boot Pop!_OS with Windows?
- Yes. Use the Custom partition option, mount your existing EFI partition to /boot/efi without formatting it, and create a new root partition in free space. Disable Windows Fast Startup first by running powercfg /h off in an elevated Windows Command Prompt before installing.
- Is disk encryption worth enabling? Will it slow down my system?
- Yes, enable it. LUKS2 with AES-NI (present on all modern Intel and AMD CPUs) has negligible performance overhead—typically under 1%. The only cost is entering a passphrase at each boot.
- Which version of Pop!_OS should I install: 22.04 LTS or the latest?
- 22.04 LTS is the current stable long-term support release with guaranteed updates through 2027 and the widest hardware support. Choose it unless you have a specific reason to run a newer release.
- How do I upgrade to the next major version of Pop!_OS after installing?
- Use the Pop!_Shop application—it will present an OS upgrade prompt when a new version is available. Alternatively, System76 provides the pop-upgrade command-line tool: run sudo pop-upgrade release upgrade and follow the prompts.
Related guides
How to Back Up Your Linux System
Learn how to back up your Linux system using Timeshift, rsync, Borg, and Restic — then tie it all together with a practical 3-2-1 backup routine.
How to Choose a Linux Distribution
Match a Linux distro to your real needs — desktop, server, rolling vs LTS, hardware quirks, and package ecosystems — without wading through marketing noise.
How to Dual-Boot Linux and Windows
Shrink the Windows partition, install Linux without breaking the bootloader, configure GRUB, and handle Secure Boot — all in the correct order.
10 Things to Do After Installing Linux
Ten essential post-install steps for any Linux desktop: updates, drivers, firewall, codecs, backups, SSH hardening, and service cleanup — all with modern commands.