Pop!_OS 20.04Pop!_OS (or simply Pop, as I will refer to it throughout most of this article) is an Ubuntu-based distribution created by System76. The distribution sticks fairly close to its Ubuntu parent in terms of software, desktop environment, and features, but makes a number of customizations to the user interface and drivers. The focus of Pop appears to be on making it easier to use the desktop for work, especially for people who want to focus on keyboard usage over moving the mouse pointer.
Pop is available in two editions for 64-bit (x86_64) computers. One edition ships with Intel and AMD video drivers while the other ships with NVIDIA drivers. Otherwise the two editions appear to be the same. The installation media is a 2GB download.
The latest release of Pop is version 20.04 which is based on Ubuntu's 20.04 LTS release and should therefore receive five years of security updates. There are a handful of new features available. One is an easy point-n-click method for associating a specific application with a laptop's dedicated or NVIDIA video card. This should help users find a better balance between performance and energy savings. This release also puts more focus on providing keyboard shortcuts to manipulate windows instead of using the mouse. We can see a list of all available window management shortcuts in the desktop's notification menu under the heading "View All Shortcuts". I will come back to this feature later.
There is an optional feature to auto-tile new application windows. This feature is off by default, but is available through the same notification menu in the upper-right corner of the desktop.
On the subject of software management, Pop 20.04 offers a few new features. One is a firmware updating tool which can be found in the GNOME settings panel. The other feature is that Pop enables Flatpak support with the Flathub repository enabled by default. While Ubuntu has focused on Snap packages and does not enable Flatpak support by default, Pop is going the other way and focuses on Flatpak while not enabling Snap.
The Pop media boots to a graphical environment where a window appears and asks us to select our preferred language from a list. We are then asked to choose our keyboard layout. We are next asked if we would like to perform a clean (guided) installation or custom (manual) install. The guided option sets up an ext4 filesystem with the noatime flag to reduce writes to the disk while the manual option allows us to manage partitions however we like. We can also optionally encrypt the hard drive at this point. The installer then sets about copying files to our hard drive and lets us know when it is finished so we can restart the computer.
Pop!_OS 20.04 -- Browsing the application menu (full image size: 1.2MB, resolution: 1280x1024 pixels)
After we make our language and keyboard selections the installer displays a button at the bottom of the window that offers us the chance to "try demo mode". Clicking this button dismisses the installer and launches the GNOME Shell desktop. I will talk more about how it feels to run GNOME on Pop later, but for now I want to acknowledge the live environment performed well for me and the desktop proved to be fairly responsive and functional. The live environment also confirmed for me that my hardware was all properly detected.
The first time my new copy of Pop booted it brought up a welcome screen. This welcome window asked me to confirm my keyboard's layout and asked if I would like to enable or disable location services. I was then asked to select my time zone. The welcome window then offered to connect me with my on-line accounts, such as Google and Microsoft. I was then asked to make up a username and password for myself. The welcome window then disappeared and presented me with the GNOME desktop. In he future, when the computer started, Pop would display a graphical login screen.
When Pop boots it brings up a login screen with one session option (GNOME on X.Org). This is in slight contrast to its parent distribution offering two options: GNOME on X.Org or GNOME on Wayland. Signing into our account brings up the GNOME desktop with a dark theme. The look mixes blue and black which, personally, I find easier on my eyes than Ubuntu's orange and purple theme. There is an Activities menu in the upper-left; a user panel and system tray sit in the upper-right.
Early on I noticed the desktop does not offer window control buttons to minimize or maximize applications. This is a bit inconvenient, but is somewhat offset by the custom Pop keyboard shortcuts for managing windows which I will come back to later.
My initial impression of Pop's desktop was that it ran smoothly and usually responded quickly, whether run in a virtual machine or on physical hardware. The one exception to this rule was when I was searching in the Activities menu. If I performed a search for an application that was already installed on the system, it would be shown immediately. However, if I searched for a program that was not yet installed the Activities window would cease responding for a few seconds while it checked the distribution's on-line software repositories for a match. Disabling the repository searches in the settings panel prevented this slowdown from happening.
One visual aspect that took me a while to get used to was the way Pop displayed GNOME's toggle buttons, typically found in the settings panel. Some distributions match toggle buttons with the words "on/off", or make it clear when a button is lighting up or going dark to reflect its status. I found Pop's toggle buttons were less obvious in whether they were in the On or Off position at first.
One convenience I enjoyed while using Ubuntu was the application menu could be accessed directly from the desktop panel on the left side of the screen. Pop makes accessing the application menu a two-step process. First we need to open the Activities menu, then click the application menu button. It is a small difference, but one which I felt repeatedly during my trial having just come from Ubuntu two weeks prior.
One of Pop's new features is tiled windows. This feature is not enabled by default and windows are created and placed as they are on most other desktops. However, enabling auto-tiling from the notification menu causes windows to be placed on the desktop in a grid. Both existing and new windows are placed in the grid when tiling is turned on. When we disable auto-tiling windows are left in the grid until we move them and newly created windows are placed around the desktop wherever there is room for them.
Pop integrated well with VirtualBox and was able to resize its desktop seamlessly. GNOME's performance when running in VirtualBox was good. Not great, but well within the average range and about on par with other mainstream desktops like KDE Plasma or MATE. This was in sharp contrast to trying to run Ubuntu in VirtualBox which was too slow to be practical on the same system.
When running on a workstation, all of my hardware was detected and the distribution ran smoothly. GNOME performed well on my workstation and was bordering on providing snappy performance. Again, Pop provided better performance here than Ubuntu had running the same desktop. In fact, I found Pop's desktop performance in a virtual machine was about the same as Ubuntu's running directly on physical hardware.
A fresh install of Pop took up about 5.4GB of disk space. Logging into a new GNOME session consumed about 860MB of RAM straight away and, within a minute or two, memory usage would quickly rise to 1.1GB without any applications being opened. Memory usage tended to stay steadily in the 1.1GB range at that point.
Pop ships with a small collection of open source applications. Looking through the application menu we find Firefox, LibreOffice, the GNOME Calendar, Contacts, and Files applications. There is a Weather application, the Geary e-mail client, and the Evince document viewer. The GNOME Help documentation (presented as the Ubuntu Desktop Guide) is available. There is a Deb package installer called Eddy which helps us install new software by dragging Deb packages from the file manager into the Eddy window.
In the background we find the GNU Compiler Collection and the systemd init software. Version 5.4 of the Linux kernel is included too.
While I was using Pop, whenever software updates would become available a notification would appear at the top of the desktop. Software management is primarily handled by a software centre called Pop!_Shop. The Shop has two tabs. The first tab displays a list of categories of software we can browse. From this tab we can also type in searches for specific applications. Clicking on a displayed application brings up a full page description of the program along with screenshots.
On the description page for an application there is a large Install button near the top of the window. Clicking this button queues the application to be downloaded. One thing I like about the Shop is that, next to the Install button, there is a clear indication of the source of the software. Most software is listed as being either an Ubuntu Deb file or a Flatpak. However, some packages come from Pop's own repositories and this indicator clearly tells us the specific origin of software, which is especially nice if we either prefer (or wish to avoid) portable bundles. For example, the Chromium browser comes from Pop's Deb repositories. This means that, unlike the Ubuntu Chromium package that forces the installation of a Snap, we know we are actually getting the Pop Chromium Deb package when we click its Install button.
The second tab in the Shop displays a list of installed applications. We can click a button next to existing packages to update them to their latest version. Clicking on a package's entry brings up its description page where we can choose to either upgrade or remove the application. The Shop can also handle lower level package upgrades (not just desktop applications) and these are bundled together under the catch-all entry called Operating System Updates.
In the upper-right corner of the Shop window there is a button which, when clicked, helps us enable or turn off software sources, including Flatpak repositories.I liked Pop!_Shop. The software centre worked quickly and smoothly. I like that it clearly marks the source of applications and makes it easy to adjust sources. It finds a nice balance between seamlessly dealing with Flatpak and Deb packages while also making sure there is no confusion about which type of package we are installing. My only issue with the Shop was that it prompts for the user's password for every package installation or removal. This means if we queue five packages to be downloaded, the Shop will download them one at a time, pausing before each one to ask for our password. This means we cannot set-and-forget the installation of applications, we need to stay and babysit the Shop while it is working.
There was one issue I ran into which may have been related to the Shop, or a coincidence of timing. Once, during a series of upgrades, I walked away from the computer and when I returned I unlocked my screen and the desktop remained (mostly) blank. The top panel was visible, but the desktop, wallpaper, and applications were all invisible. I was unable to click on anything or see any windows. I could switch to a text terminal and force a restart, but nothing I did would restore the desktop. This happened twice, both times during package operations, though not necessarily as a direct result from them.
Settings and desktop customizations
Earlier I mentioned one of Pop's key features is keyboard shortcuts for the desktop. We can view all preset shortcuts through the notification menu. The shortcuts are designed to make it easy to manage, resize, move, dismiss, and open application windows using only the keyboard. I experimented with these shortcuts and appreciated them a lot. I find GNOME tends to rely heavily on the mouse (or complex, unintuitive keyboard shortcuts) while Pop's shortcuts are clear and easy to remember. This feature is something I would like to see other distributions, not just those running GNOME, adopt.
I also mentioned earlier that there is a graphical firmware update tool in the settings panel. I confirmed this is present and will check for firmware updates, but none were found for my computer so I was not able to test its functionality.
I feel it is worth mentioning the settings panel is generally well organized and worked well. I like GNOME's current two-pane layout for settings and feel it is easy to use and faster to navigate than the old panel. The one tool I had issues with was the account manager. When setting up new user accounts we must either provide a long, complex password for new users or no password at all. There is no middle ground and this all-or-nothing approach seems like it will only encourage poor security practises.
The settings panel has an entry for checking for new major releases of Pop!_OS. I was using the latest release and, naturally, was unable to use the settings module to try to upgrade the operating system.
While Pop!_OS can and does stand on its own as a fairly friendly, fully featured desktop distribution, I spent most of my time mentally comparing Pop's 20.04 release against Ubuntu 20.04, which I had tested just a few weeks prior. For instance, Pop has a similar installer, and both are friendly, but Pop's feels more streamlined and its options feel better explained. Or at least explained in a way that I think more non-technical users will understand.
The themes and desktop layout are quite a bit different. Not so much with the positioning of items, but the look and style of the two GNOME implementations is quite a bit different. Ubuntu is, shall we say, bold in its colour choices while Pop sticks with a more familiar blue and black combination.
Ubuntu uses two software managers (one for installing and removing packages and one for upgrading software) while Pop uses just one. To make matters more interesting the harder working Pop!_Shop is again more streamlined than its Ubuntu equivalent.
Pop's desktop performance ran circles around Ubuntu on the same test equipment and in the same VirtualBox environment. I found this especially interesting as the two distributions use the same kernel, the same desktop, and most of the same versions of software. Yet desktop performance was night-and-day in its contrast with Pop coming out the clear winner in both test environments. Despite the speed improvement, memory usage was about the same.
When I was running Ubuntu I mentioned that when using ext4 the distribution failed to boot and, when using Ubuntu on ZFS the distribution often had to be launched from the recovery console. This problem did not manifest on Pop and the distribution consistently booted without problems.
To me it is interesting that these two distributions can share so much in common, be nearly 99% identical, yet produce such different results. The little tweaks and shortcuts the Pop team have put into their distribution make it a much more pleasant operating system to use compared to its parent running on my equipment. Those little changes, the tiny customizations, may seem small on paper, but they produced a much better GNOME Shell experience than I have had on Ubuntu or Fedora to date and I think that makes Pop!_OS work looking at.
* * * * *
Hardware used in this review
My physical test equipment for this review was a de-branded HP laptop with the followingspecifications:
Processor: Intel i3 2.5GHz CPU
Display: Intel integrated video
Storage: Western Digital 700GB hard drive
Memory: 6GB of RAM
Wired network device: Realtek RTL8101E/RTL8102E PCI Express Fast