Review: Local DL development with Pop!_OS 19.04

Pop!_OS has a terrible name, so let’s just get that out there up front. It’s a linux distro built on Ubuntu but with a more sane and coherent Gnome desktop and EASY installation of nVidia binary drivers, CUDA, and cuDNN.

It’s seriously just:

sudo apt install tensorflow-cuda-latest

No need to add an extra repo each for tensorflow, CUDA, and cuDNN, and the repos added by Pop!_OS are actually tested before release. I added Anaconda because I think it’s great, but I suspect you could get along without it if you wanted to.

I like the look and feel of the desktop, and they added a number of keyboard shortcuts which work relatively consistently across the OS: https://pop.system76.com/docs/keyboard-shortcuts/
After I added a few Gnome extensions, I find it very comfortable for daily use.

The biggest change from Ubuntu is the GUI application installer, which doesn’t use the SNAP store for Gnome the way Ubuntu does. They have their own one-click “application store” based on the one from elementaryOS, with one-click installers for VS Code, Spotify, Slack, Steam, and lots of other stuff. Apparently flapak support in the GUI “application store” is coming any time now, but flatpack is already in their repos so its easy to add via apt, and you can use https://flathub.org from the CLI to install other stuff very easily:

# Install Flatpak
sudo apt install flatpak

# Add the Flathub repository to Flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

# Install Skype (for example) from Flathub
flatpak install flathub flathub com.skype.Client

And because it’s based on Ubuntu (and there for Debian), deb packages work just fine and install from the file manager with a double-click. I installed Chrome that way and it works perfectly.

Here’s a full list of the changes vs Ubuntu: https://pop.system76.com/docs/difference-between-pop-ubuntu/

In summary, this is the easiest path I have found to running linux locally for deep learning, and I would recommend taking a look if you would prefer local development to the threat of a huge bill if you forget to shut down a remote system.

1 Like