The Pop!_OS Linux distribution is derived from Ubuntu and is developed by an American company called System76.
This company sells notebook computers with Pop!_OS installed by default. Pop!_OS can be downloaded free of charge from the following website and then, of course, installed on any computer: https://pop.system76.com.
Pop!_OS differs from the Ubuntu base in a surprising number of details:
According to its own definition, Pop!_OS is especially optimized for software developers. In the past, the excellent NVIDIA support was also a unique selling point. Meanwhile, setting up a computer with NVIDIA graphics is no longer witchcraft, even with most other distributions.
As a matter of fact, at the beginning I was skeptical about whether Pop!_OS could establish itself in the huge market of Linux distributions in the long run. After all, the relatively small System76 company has to maintain a wealth of its own software and provide the distribution with bug fixes and software updates. In the past, many distributors have failed at this point. However, you need to give System76 credit for the fact that Pop!_OS maintenance has been working well since 2017 now.
But that's not all: System76 is dissatisfied with central parts of the GNOME desktop and has decided to develop its own desktop environment under the name Cosmic DE. However, it is unclear when this new, GNOMEindependent version of Cosmic DE will actually ship. Most recently, System76 has regularly reported on various Cosmic DE components on its company blog, but there has been no test version or even a release plan available (see https://blog.system76.com).
Due to the possible integration of proprietary NVIDIA drivers, Pop!_OS does not support UEFI Secure Boot (even if these drivers are not used at all). You may need to disable this security feature before starting the installation.
Pop!_OS is available on the System76 website in two variants. These differ in whether the NVIDIA driver is integrated in the image or not. Note that currently, due to licensing issues, no other major Linux distributor provides the proprietary drivers directly; rather, the drivers must be downloaded during or after installation. Pop!_OS has an advantage here in that the NVIDIA drivers are available right from the start—and this is independent of the network connection, which might still cause problems during the installation. Possibly System76, as a notebook manufacturer with good NVIDIA contacts, has a better negotiating position here.
Pop!_OS is installed from a live system, just like Fedora or Ubuntu. System76 has developed its own installation program and decorated it with its own original pictures.
Whether you'll be happy with the installer depends on the framework:
In the first case, after selecting the Clean Install option and clicking the desired SSD, you are almost done: you only need to provide a name and password for your account. This password is also used by default to encrypt the file system. If you want, you can set a different password here or dispense with encryption altogether. There are no other questions or options.
In my tests, after rebooting, I had to enter the encryption password on a completely black screen that actually gave the impression that Pop!_OS had crashed. Only after the password was entered blindly did the actual boot process begin, and a few seconds later the desktop appeared.
The solution was a complete update and another reboot. After that, the display of the password dialog during the boot process worked properly.
In the second case (i.e., with the Custom installation variant), a dialog with all partitions of the disk appears in the next step. However, the installation program doesn’t give you the option to change the partitioning. Rather, launches the GParted. You can then set up partitions using this program.
Pop!_OS requires at least two partitions: the EFI system partition (/boot/ efi), which must be at least 1 GiB in size and contain a fat32 file system, and a system partition or corresponding logical volume.
If you also want to use LVM or encrypt a partition, you must do this work yourself in the terminal.
You may also have to take care of encryption yourself and run cryptsetup in a terminal. However, the process assumes that you are already very familiar with Linux.
Once you’ve set up all the partitions or logical volumes you want, you need to return to the installation program. It shows all newly created partitions or logical volumes. You can then specify how you want to use the partitions—for example, for the root file system.
The Pop!_OS installation program recognizes the newly created partitions or logical volumes. A few mouse clicks then lead you to configuration dialogs in which you can set how the configured partitions or logical volumes are to be used.
After logging in, the Cosmos desktop shows up as a GNOME system with a large number of modifications and configuration options.
The features Pop!_OS has built into the system menu of the GNOME desktop are noteworthy. On the one hand, you can choose among three different performance levels of the CPU here, and on the other hand, you can switch between Intel and NVIDIA graphics. Behind the scenes, Pop!_OS modifies the boot files for the GPU conversion. Accordingly, the changed GPU setting only takes effect after a reboot, which is a bit tedious in practice. The desired CPU profile or GPU can alternatively be set using the system76-power command:
user$ sudo system76-power graphics nvidia (requires a reboot)
user$ sudo system76-power graphics intel (requires a reboot)
user$ sudo system76-power profile battery
user$ sudo system76-power profile balanced
user$ sudo system76-power profile performance
By the way, you can enjoy system76-power and its GNOME extension even without Pop!_OS. To do this, set up the System76 package source on Ubuntu and install the system76 package:
user$ sudo sudo apt-add-repository ppa:system76-dev/stable
user$ sudo sudo apt install gnome-shell-extension-system76-power
system76-power
user$ sudo gnome-shell-extension-prefs
Editor’s note: This post has been adapted from a section of the book Linux: The Comprehensive Guide by Michael Kofler.