Pop!_OS 18.04 LTSPop!_OS is an Ubuntu-based distribution from System76, a Colorado-based company that sells computers with Linux pre-installed. The first release of Pop!_OS, version 17.10, was interesting and provided a very nice experience, but mostly involved pulling what System76 felt was the best bits from various upstream sources and combining them into a cohesive whole. While Pop!_OS 17.10 was fairly conservative, Pop!_OS 18.04 LTS provides some major new features, some of which are quite interesting. For example: GRUB has been replaced with systemd-boot and a tool called kernelstub, and there is a recovery partition, so a USB flash drive is no longer needed to rescue a system (at least in theory, the recovery partition is still a work in progress).
Like the previous release of Pop!_OS, there are two different ISOs, one for systems with Intel and AMD graphics and another for computers with NVIDIA graphics. For this review I downloaded the Intel/AMD image and copied it to a USB flash drive. It appears that the installation images get refreshed periodically as Pop!_OS specific packages get updated, with the current Intel/AMD image being 1.91GB and the current NVIDIA image is 2.07GB.
One of the major new features in Pop!_OS 18.04 LTS is the new installer. Gone is the customized Ubiquity used in Pop!_OS 17.10. In its place is a new installer that has been designed to fit in with the overall Pop!_OS theme. This installer treats all installations as OEM installations, which means that setting up a user account is handled on first boot, not during install. However, this new installer does provide a clean user interface with some nice graphics, and it defaults to setting up full-disk encryption. While I opted for the default disk partitioning, the installer does allow the user to customize their hard drive partitions, if they so desire.
Pop!_OS 18.04 -- The new system installer (full image size: 199kB, resolution: 1366x768)
The second phase of the setup process began after I rebooted the computer. The first thing I was presented with was a text prompt to enter the password to decrypt my hard drive. Other than this text prompt there were no other text status notifications and no graphical boot splash screen. A recent update has added a boot splash screen with a graphical prompt for unlocking the hard drive. Even before the update to enable a graphical boot splash, the very spartan boot process looks very clean. The only oddity is the absolutely huge text size on the console (Terminus 16x32 is what the default settings are in /etc/default/console-setup), which is probably to make the console font readable on HiDPI displays, but on my non-HiDPI 1366x768 display it ends up looking comically large.
Once the very, very fast boot process was over, GNOME Initial Setup handled setting up various options like keyboard layout, privacy options, and setting up a new user. The process should be extremely familiar to anyone setting up Linux in the past several years. The only difference is when the steps take place. Instead of setting up everything in one step, Pop!_OS moves various configuration options and new user creation to first boot which makes it easier to set up a new computer for another user.
Pop!_OS's GNOME desktop
Aside from the custom fonts, theme, and icon set, Pop!_OS's GNOME desktop mostly sticks close to the GNOME default settings. There are a handful of tweaked settings and several extensions, but overall it is much closer to the standard GNOME experience than Ubuntu's GNOME. The extensions added in Pop!_OS provide minor enhancements, not major changes, unlike Ubuntu's more heavily customized GNOME with a dock instead of the standard dash. The new extensions in Pop!_OS 18.04 provide the ability to select various power profiles from the setting menu in the upper-right corner of the screen and a "Do not disturb" option in the notification area to silence notifications. There is also an extension that is supposed to fix the battery icon so it displays accurate charge levels, but the battery in my laptop is so old that I could not figure out if it works correctly.
One of the things that sets Pop!_OS apart from Ubuntu is the default selection of software. Pop!_OS comes with Firefox and LibreOffice like most distributions, but opts for using Geary for e-mail and having GNOME Videos serve as default player for both videos and music. The rest of the applications are various GNOME and Pop!_OS-specific utilities. Overall, there are fewer desktop applications installed by default, but there are enough available to do most basic computer tasks. However, if a user wants to switch to applications other than the default, a small problem arises—uninstalling any of the default applications also removed the pop-desktop package, which is how new features and new default applications get pulled in (e.g., the boot splash screen mentioned above). If I attempt to remove Geary and replace it with a different e-mail program, pop-desktop also gets uninstalled, which would mean that my computer would not get all the new Pop!_OS features.
Of all the GNOME settings tweaked in Pop!_OS, the biggest ones are the various customized keyboard shortcuts. In many ways, they are very different from stock GNOME's shortcuts. I am honestly torn on this customization. On one hand, the shortcuts make sense and provide a logical workflow, but they are non-standard. If I used only Pop!_OS, it would not be a problem, but I regularly use GNOME on CentOS, Fedora, and other distributions. I always end up using the "wrong" shortcuts when I switch back and forth between GNOME implementations. I do not expect every desktop environment to behave the same way, but having Pop!_OS's GNOME use different shortcuts than standard GNOME is a bit like if Dell or HP computers had non-standard keyboard shortcuts in Windows that only worked on Windows as installed by that particular manufacture.
If the default selection of software is not enough, the Pop!_Shop application can be used to install additional applications. On the main screen there is a selection of curated applications that fit with System76's vision of Pop!_OS as a distribution for makers and computer scientists. GitHub's Atom editor, Microsoft's Visual Studio Code, Chromium Web Browser, Steam, Signal, Slack, Telegram, and Mattermost are some of the curated options. Other applications are grouped by category and come from the Ubuntu repositories, so if a package is available in Ubuntu, it is available in Pop!_OS. The only difference is that Pop!_OS does not enable snaps by default. Snapd can be installed, but it is not included in the default Pop!_OS packages.
Other programs for installing and managing packages included Eddy, a graphical application for installing Deb packages, and Repoman, a new program for managing repositories, which provides many of the same features as Software & Updates does in Ubuntu, but fits better with Pop!_OS and Pop!_Shop. And, of course, apt and dpkg are available on the command line.
The recovery partition is a very interesting new feature, but it is not really ready to use yet. A user asked about it recently in the Pop!_OS subreddit, and they were told that it was still being worked on. However, since the top bullet point in System76's Differences Between Pop!_OS and Ubuntu document is the recovery partition, I decided to take a look at it anyway to see how it works so far.
The recovery partition can be accessed by holding down the space bar when starting up the computer. This brings up a menu that lets the user boot the current kernel, the previous kernel version, or the recovery partition. Selecting the recovery partition booted a copy of the live ISO that had been installed into a 4GB partition on my hard drive. It booted fine and I had a functional live desktop, but that is just about it.
The first time I tried out the recovery partition was on a system that had a fully encrypted drive (i.e., the default Pop!_OS installation option). However, the installer, which automatically runs when the recovery mode starts, crashes when it gets to the point where it wants to start working with the hard drive partitions. I looked through the recovery.conf configuration file and found that the ROOT_UUID option was set to the UUID of the un-encrypted partition where Pop!_OS was installed, but the partition was not decrypted and mounted. Manually trying to decrypt and mount the encrypted partition was convoluted and not exactly user-friendly. Instead, I tried to reinstall Pop!_OS without full disk encryption to see if that worked better. It did, to a point. The installer no longer crashed when it got to the partitioning options, and I could tell the installer to install Pop!_OS, but that installation failed. When I rebooted my system, I could no longer boot into Pop!_OS because the recovery installer completely messed up everything.
Despite all the problems with the recovery mode, I think it was a good idea for System76 to include the recovery partition now with the intention of fixing it in the future. Adding a recovery partition needs to be done at install, so it is not something that can get added in several months after the distribution is released without making everyone reinstall. However, given the state that the recovery partition is in, it really should not have been the top bullet point in the document describing what makes Pop!_OS different from Ubuntu. The rest of the documentation for the recovery feature seems to be held back, but that bullet point is something that should have been removed.
Pop!_OS 18.04 LTS is not perfect, but it does offer several interesting new features. The tweaks to GNOME provide some nice usability enhancements without radically changing how the GNOME desktop works. Some of the other features, like moving away from using GRUB and adding a recovery partition, are very interesting and other distributions might wish to take note of them. Granted, at present, the recovery partition does not work, but the underlying idea is a good one. Hopefully, the recovery functionality will be fixed in the near future and improved in future Pop!_OS releases. If you are looking for a solid, Ubuntu-based Linux distribution for desktop use, Pop!_OS is certainly a good choice.
* * * * *
Hardware used in this review
My physical test equipment for this review was a Lenovo Ideapad 100-15IBD laptop with the following specifications: