A New Computer
I probably set up and configure (or reconfigure) at least ~5 computers a year for professional audio. A few years back I started configuring some machines to use Arch while continuing to mainly setup and use/support KDE Neon. The two Linux OSes share a lot (and can be functionally equivalent), but differ quite a bit as well. KDE Neon is built on LTS Ubuntu and provides a DM (sddm), a complete desktop environment in the form of KDE Plasma, and access to a lot of software through shared .deb repositories. The OS feature complete in every way, partially because Ubuntu LTS is the core system. There have been hiccups, specifically with delayed updates breaking things and the rough rollout of Plasma 6, but overall it’s stable and excellent. It is one of the OSes I use on my personal laptops…
So Far, So Neon
The other OS I use is Arch Linux. Why Arch? Simply, with more comes complexity. With more stuff there are more opportunities for things to go wrong, more software and services running constantly taking up CPU and RAM, more package conflicts for software coming from different places. Arch is a different kind of Linux that doesn’t have versions. It’s a rolling release distro that is updated as updates are available. Despite its reputation as an unstable distro, many people have Arch installations that have been running and continuously updated for years. I can now count myself among those people with two systems running for 3+ years. One of the benefits of Arch is the ability to completely customize the installation. You do not get anything you do not want because Arch is not a distro in the way Ubuntu is. During installation, you have to choose to install every single package yourself. This can be challenging for newbs, but the results are a system that is light and streamlined. My systems are not tiny, with around ~600 packages and ~700MB install size, but compared to Fedora or Ubuntu, that is very small indeed. My ambient CPU usage is about ~1% and RAM varies, but is currently at 8% of available RAM on my system (with 5% of that being Firefox…)
That Realtime Kernel Tho…
For pro audio, Arch also provides many packages via the AUR that are not available on other systems unless you build and install them yourself. It has a realtime kernel and provides great tunability. As I mention in my Pro Audio on Linux overview, there are generic, low-latency, and realtime or RT kernels. They all have benefits and drawbacks, but a well-tuned, realtime system is hard to beat for pro audio.
systemd-boot
An unforeseen difficulty I had after installing the RT kernel was getting it added to my boot manager, now Systemd boot instead of grub. Documentation, even in the Arch Wiki was not sufficient to figure this out easily. Ultimately, this helped me figure out how to get the realtime kernel added to my boot options: https://bbs.archlinux.org/viewtopic.php?id=235116
You have to edit:
$sudo nano /boot/loader/entries/yourconf.conf
where the name of your .conf file might be arch.conf, or might have the date the file was created by archinstall, for example. Whatever it is called, edit that file (not the fallback one) to reflect the changed kernel name. In my case, I just had to add -rt to the kernel and initramfs entries as follows:
...
title Arch Linux Realtime (linux)
linux /vmlinuz-linux-rt
initrd /initramfs-linux-rt.img
...
Be sure that the names actually reflect the kernel names at /boot.
Currently, my /boot directory looks like this:
$ ls
EFI initramfs-linux-fallback.img initramfs-linux.img initramfs-linux-rt-fallback.img initramfs-linux-rt.img intel-ucode.img loader vmlinuz-linux vmlinuz-linux-rt
You can also configure multiple entries to have different kernel options at the boot screen. I opted to hot edit and fly by the seat of my pants.
Thinkpad, not Thinkbad
I have four laptops currently that I use with the following use-time:
- 2017 Dell Precision 3650: 70% (work, professional)
- 2017 HP Stream: 10% (fun, some work)
- 2014 Lenovo Thinkpad T440p: 15% (fun, some work)
- 2019 Apple Macbook Pro: 5% (when needed for Apple things)
(Okay, these aren’t my only laptops… but we’ll save my 2009 Asus EeePC running Arch 32 for another post on “Retro Computing”)
You will note that the most recent computer on that list is five years old, and it’s not my daily driver. Yale was lovely enough to provide a new laptop for me (mostly…) so I chose a Gen 5 Lenovo Thinkpad P14s with 64GB RAM and an Intel Core Ultra 7.
This is by far the most powerful laptop I have ever owned and I’m having a lot of fun tuning it. Interestingly enough, I was provided the machine immediately on the heals of the recent CrowdStrike debacle so my decision to install Arch (which currently does not support Yale’s enterprise CrowdStrike “solution”) was prescient.
So far so good with the hardware. It’s a solid laptop that is light, feels professional, has a comfortable keyboard and a touchpad that’s 80% as good as a Macbook. My biggest complaint so far is that it does get seriously fingerprinty on the outside… 😛
Don’t get Waylaid, I mean Do get Wayland
As Plasma 6 has replaced Plasma 5, and Pipewire is replacing ALSA+JACK+PulseAudio, so too is Wayland slowly (16 years on…) replacing the X window system. The writing is on the wall for old X and I’ve gone FULL WAYLAND on my new machine. The road has been a bit bumpy despite using Sway as my window manager which is supposed to be a “drop-in” replacement for i3 which is what I use on my other Arch machines. Wayland handles things very differently from X. This matters when the display manager is responsible for so much on a modern system — things like processing human input from the keyboard and touchpad, taking screenshots, or handle display detection and proper configuration.
One thing I like a lot about Wayland + Sway (+ Waybar for my menu bar) is the number of configs is much smaller. Most everything is now configured in the ~/.config/sway/config file (which, by the way, you must create yourself, because of course you do.)
A Horse Walks into a (Way)bar
Waybar config is a little tricky. There are examples around to be found, but they often rely on software and services you either do not have or do not plan to use. Additionally, there are things you might want to do with modules in your top bar that require sudo privileges, such as change your screen brightness (I use light for that) or set your CPU governor to performance or powersave. To get the appropriate commands that accomplish these tasks to work from interacting with the bar (by clicking an icon or using function keys) you will have to edit the sudoers file to add something like the following:
%wheel ALL=(root) NOPASSWD: /usr/bin/light
%wheel ALL=(root) NOPASSWD: /usr/bin/cpupower
The Agon and the Ecstasy
It’s been a fun, if sometimes frustrating, experience. It’s hard to beat that fresh OS feel, even on older machines. But the fresh OS on fresh hardware feels extra nice. It feels even more epic when you celebrate your functioning system audio by playing your favorite (and only) test file: Stravinsky’s Agon.
$ aplay agon.wav
Playing WAVE 'agon.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Why Agon? (Why any 211MB audio file??) This goes back 20 years to my time at the ECMC studio at Eastman. For Linux builds, we* built our own machines. Without native drivers and components from lots of different components meant it would take days to get a new system up and running — video and audio were especially laborious configs. Finally hearing audio was a reason for celebration and my brain now associates the opening of Agon with pure joy, the kind that only comes with victory after a long, hard-fought battle. Do you have a favorite test audio file for testing new speakers/setups?
*Mostly Matt Barber.
Here’s a bonus picture of my new computer with the computer I built at Eastman in 2005. Ultimately, I painted “Frogger” green and brown for a sound installation called Modern Forest at the Memorial Art Gallery in Rochester. Frogger was made out of spare parts salvaged from the storage closet in the basement of Eastman — “The Cage.” Good times 🙂
Penny wanted to say hi!
P.S. My good friend Matt Barber was (and will forever remain) the ECMC Linux Wizard. He helped me build my first computer, configure the drivers, configure cron to make sure applications launched and were running for the installation, and more. If we lived closer together, I’d buy him a Genesee right now.