I’ve spent some time now in the Steam Deck CLI, and gotten a good flavor of Arch Linux from the perspective of a long-time Ubuntu user.
Honestly, I like it a lot. It’s really a unique OS that offers a lot to many different users. For your average Steam Deck user who dabbles in the desktop, the Discover software center, based on Flatpak, will be all you need. For the power-user, though, it’s a little more complicated based on what you need. There are 4 programs that you can use to install software: the Discover software center, the
pacman tool, the
yay tool and the
makepkg tool. All of these serve different purposes.
The basis of all of these tools is
makepkg. Without going into technical detail,
makepkg works by reading a build specification and producing a binary package. This is similar to other distributions that provide a “build-from-source” mechanism such as source RPMs.
yay seem to have a fair bit of overlap.
pacman reads only from system repositories though. I like to think of
pacman as the super-user
yay. For installing system libraries and upgrades, it is ideal. Crash course:
pacman -Ss <search> – search for a package
pacman -S <packagename> – install a package
pacman -Sy <packagename> – update spec from repository and sync package
pacman -Syu – update all specs from repository and upgrade all packages
The Arch User Repository (AUR) contains contributed binary packages and build specs from around the world. These packages typically install from source code, and are based on build specs instead of binary packages. You install these packages with the
yay tool, which has the same invocations as
pacman, but is not invoked with
sudo. You will be prompted for
sudo credentials if required.
Finally, you can make your own packages with
makepkg. From a directory with a build spec, simply type
makepkg -si (no
sudo required). The spec will allow a binary package to be built and installed.
Overall, I find the AUR to be too unstable. I know I harp on Neovim, but it’s an important tool for me. The “stable” release of Neovim (i.e. from
pacman) is only at 0.6. I need a minimum of 0.7. Theoretically the “unstable” release of Neovim (neovim-git), is at 0.7. But because it is a git repository, the package information contained in the AUR is wrong – the git repository has since been updated to 0.8. So,
yay -S neovim-git doesn’t work.
yay -S neovim is too old. That leaves only flatpak, which thankfully has Neovim 0.8.
From all of this, I’ve learned that the Flatpak repository is probably the best way to go for software. While the
pacman system repositories are stable, the AUR most definitely is not. I’d consider it a last resort before building it from source yourself. Flatpak is also stable, and allows installation of important userspace applications.
Arch Linux is also built on
systemd and uses
systemctl to enable, disable, start, and stop services.
While there’s no “official” desktop for either distribution, SteamOS defaults to KDE Plasma 4, and Ubuntu to GNOME 3. Arch Linux itself is not a graphical distribution, and allows installation of many desktops. This is the first time I’ve used KDE Plasma, and my first impressions are very good. I haven’t used KDE in a long time, and I’m surprised to see how stable and shiny it is.
I think that if you require commercial support, you’ll want to stick with Ubuntu. Arch Linux is very much a DIY OS, and isn’t really advisable from a business perspective. However, most sites that have Linux software provide instructions for Arch Linux; or, the AUR contains a build spec.
Arch Linux goes on my “approved” list. I have a good deal of flexibility in how to get software onto the machine. It is similar enough to Ubuntu that I didn’t get lost, but is clearly a unique OS that is meant more for power users than casual users. It’s a decent choice on Valve’s part, one that has turned a great purchase in the Steam Deck into a very viable development PC.