Pop! OS 19.04

Posted on

I’ve tried a number of Linux distributions over the years: SUSE, RedHat, Fedora, CentOS, Ubuntu, Debian, Arch, etc. They’ve all worked to varying degrees depending on the exact version and my own experience with Linux at the time I tried them. In their modern incarnations, any one of them would make a fine daily OS provided you were comfortable with the package manager and, at least in the case of Arch, keeping it up to date. That being said, recently I’ve been finding myself turning to Pop!_OS by System76 whenever I need to configure a workstation.

Pop!_OS is an Ubuntu based distribution that provides a Gnome desktop environment with a custom theme. The default Pop!_OS theme is clean and attractive, but one of the first things I do is open the Gnome Settings app and put it into dark mode. Pop!_OS comes with some nifty robot themed art work, and so I stick with that, but change those to the darker wallpaper and lockscreen.

Theme aside, there isn’t anything particularly magical about Pop’s Gnome install. It has some customized key-bindings for window and workspace management, but it isn’t anything that you can’t configure for yourself in any Gnome installation.

One general annoyance I do have is that Pop!_OS enables System76’s HiDPI Daemon by default. In short, the HiDPI Daemon automatically detects whether you are running a HiDPI screen on your laptop or external display and adjusts your scaling settings accordingly. If you are running, say, a 4K display on a 15” laptop, then this is generally the correct call as you’ll wind up with what amounts to a super crisp 1920x1080 screen. However, in my case I’ve got a 2560x1440 display in a 14” screen and the automatic scaling makes things cartoonishly large at 1280x720. One of the first things I do is disable the HiDPI daemon:

gsettings set com.system76.hidpi enable false

This results in the display sticking at the native resolution, but that also doesn’t work so great.

To get things looking decent I install Gnome Tweaks and adjust my font scaling factor to 1.5. For me, that’s just about right. Of course, your mileage may vary, and for some applications the font scaling may not be enough.

sudo apt-get install gnome-tweaks

Now look, I applaud System76 for taking some initiative here and trying to address a long standing issue, but as a software engineer I know that when you attempt to make software (Xorg) do something it wasn’t designed to do (scale properly) then you’re going to wind up with a bad user experience.

The way that System76 implemented the HiDPI daemon is probably about the best someone could do outside of modifying Xorg directly. In fact, it’s kind of cool how it automatically detects if you’re running a HiDPI screen and prompts you to let you know what it’s doing. If you want to go back to “LoDPI” mode you can just click the banner and you’re done. However, that detection is going to happen every time that you wake from sleep, reboot, etc. Using the command above will disable it entirely and things shouldn’t reset on you.

I suggest you try living with the HiDPI daemon for a while until you determine if it’s the right choice for you or not.

Pop!_Shop

Since Pop!_OS is derived from Ubuntu you can of course use apt, apt-get, or even dpkg to install packages and manage updates. However, Pop!_OS also offers a graphical user interface for system updates and package installation called Pop!_Shop. This type of app is increasingly common in the world of Linux distros, and as far as these things go, Pop!_Shop is a pretty decent implementation.

You’ll be notified when your system has updates available, and it’s a painless process to use Pop!_Shop to upgrade. You can find new packages via the search feature, and there’s a “home” screen that provides a list of suggested applications as well as category based navigation.

While it’s easy to find applications and install them via the Pop!_Shop app, I did notice that none of the applications I browsed included a screenshot. This may just be some missing metadata on the part of the packages, but to me it defeats any real advantage to installing games or productivity applications via Pop!_Shop.

Since I pretty much live on the terminal and am coming to Pop!_OS anealed to the pain imposed by Linux package managers, I find that I still use apt-get to install most packages. For me, the only advantage to Pop!_Shop is that it provides a bit more descriptive text than a basic apt-cache search.

So why Pop!_OS?

If you look at the branding and marketing on the System76 site, you’re supposed to walk away with the impression that Pop!_OS is designed specifically for software developers, engineers, and systems administrators. The reality is that Pop!_OS doesn’t really provide custom packages or software unique to these roles. In fact, just like any Ubuntu based distro you’ll still have to install most of the common sys admin and development tools.

So if you stick to this surface level understanding of Pop!_OS it’s easy to walk away with the impression that it’s just another Linux distro with a custom Gnome Theme and a rebranded app store. In my opinion, that’s missing a bit of the point.

I think that as a systems integrator System76 has a lot of justification for developing their own distro and shipping it as the default OS on their laptops. They can bundle their HiDPI daemon, hardware specific power management utilities, and any other doodads their hardware may benefit from. They control the installation experience and ensure it’s as smooth as possible. If you think about it, System76 is just trying to control more of the end-to-end experience of their customers, and that’s to be commended.

So…I’m typing this out on a Lenovo T460p. What do I get out of running Pop!_OS vs stock Ubuntu?

For one thing, the theme really is great. It’s minimal, the colors make sense, and even the default non-dark theme should be acceptably dark for most people.

Additionally the installation experience is smooth and fast. As installation is the first point of contact users have with a new distro, this shouldn’t be taken lightly. To make things easy for more casual users they provide ISO images with NVIDIA drivers pre-installed, which saves a good chunk of time for a sizeable portion of the Linux using laptop world. Switching between a discrete NVIDIA card and an integrated Intel chip works out of the box, and works well.

Pop!_OS also gives you a nice looking Gnome that’s largely untampered with. Yeah, it’s got a custom theme and some non-standard keyboard shortcuts, but it’s a theme you’ll likely stick with and shortcuts you’ll likely use. Contrast this with Ubuntu’s continued attempts at making people forget that they switched to Gnome by making it look as much like Unity as they can.

On top of all this, you get the comfort of a known quantity, which is the upstream Ubuntu distribution. You know that updates will be timely and of good quality, and you won’t have to re-learn anything if you already come from an Ubuntu background.

What don’t I like?

I can’t think of any deal breakers. Personally I think that Pop!_OS should provide an install time option for enabling/disabling the HiDPI daemon, but I can understand why they don’t want to complicate installtion with an option like that.

I also think that System76 has an oppotunity to make good on some of their marketing. Ship the OS with common development tools installed, or maybe even some common sys admin tools. It’s 2019, I shouldn’t have to manually install tmux on a distro that talks to me about tensorflow on their homepage.

Clearly though, Pop!_OS is doing it’s job. For my part, when my T460p’s glory starts to fade and I get that new laptop itch, I am absolutely going to put buying a System76 laptop at the top of my list. If for no other reason than I’d see some benefit from their custom power management as well as some peace of mind from knowing that my OS was tested on the very hardware I invested in.