Pop!_OS on Raspberry Pi 4
Sunday, September 04, 2022
A while back I bought a Raspberry Pi 4 for a project I ended up never actually doing. Since then, it’s just been sitting on my desk gathering dust. Yesterday, I noticed that System76’ Pop!_OS is available as a “Tech Preview” for the RPi 4. I use Pop!_OS on my personal laptop, and I wasn’t doing anything else, so I decided to try it out.
Installation
Installing it was very straightforward. I downloaded the image on another computer and wrote it to an SD card with Raspberry Pi Imager. Then I just plugged the SD card into the Pi and plugged in the machine. It came up like a charm.
First Boot
On first boot, the intial GNOME wizard walked me through creating a
user. Shortly thereafter, Pop!_Shop (System76’ alternative to the
GNOME Software app) notified me that there were a bunch of updates
available, so I told it to go ahead. Pop!_Shop was very sluggish, but
eventually it downloaded the packages and started installing them.
Unfortunately, it crashed midway through, installing some updates but
not others, leaving the system in an inconsistent state, including
some major packages like systemd and udev. Since this was just to try
it out, I had no qualms about using a hammer, repeatedly running
apt-get -f install
(which failed) and, since the packages had
already been downloaded to /var/cache/apt/archives
, running dpkg
--force-all -i
for anything APT complained about. Eventually, APT
was happy, and I was able to successfully run apt -y upgrade
, cross
my fingers, and reboot. It worked.
Filesystems
The initial image creates an ext4 root partition and a vfat partition
for the bootloader, mounted at /boot/firmware
. I neglected to note
how large the root partition was initially (maybe 8G?), but in any
case fairly small—after the installation it was something like 79%
full. I happened to be using a 32G SD card, and was able to use Disks
to grow the partition to the end of the drive.
I had a spare USB drive lying around that I used to mount /home
, and
I would recommend doing that.
Other Notes
Overall, I would rate the performance as “usable,” though I think past experience has made me more tolerant than some. If it would bother you excessively that, say, GNOME Terminal or Firefox would take several seconds to open, stop here and read no further.
Here’s a few particular things that required some effort.
Firefox
The Firefox package was installed, but apparently that’s been moved to
a Snap. After my earlier experience with Pop!_Shop, I was wary, so I
ran sudo snap install firefox
manually. It took quite a while, but
eventually installed mostly properly (see below). It’s definitely a
CPU hog—occasionally spiking all four cores up to 100%—but it works.
As you might expect, dealing with pages containing a large amount of
Javascript (e.g., Slack) is an exercise in patience. YouTube took a
noticeable length of time to render the page, but actual videos played
fine.
GNOME Extensions
One of the few non-default GNOME extensions I install is a downloader for Bing’s wallpaper-of-the-day, and these are handled through a Firefox extension. Despite the correct Firefox extension being installed, Firefox didn’t know how to handle https://extensions.gnome.org, asking me what app to pass it to. I couldn’t make it work, though admittedly I only spent a couple minutes on it. Not sure if this is an effect of Firefox being a Snap, or something in the OS.
Emacs
Emacs is fine once it starts, but startup times are long enough that I’d probably serverize it.
FreeIPA
I use FreeIPA for authentication on my local network. I installed the
freeipa-client
package and ran the ipa-client-install
script with
no issues.
GNOME Screenshot
Not really a problem, but gnome-screenshot wasn’t installed by default like I’d expect it to be. I imagine this was to save space on the image. I installed it with no issues from the command line.
Verdict
On the whole, I’ll just go with what I said before: usable, not spectacular. If I had to use it as my daily desktop, I’d manage.