Venturing beyond the default OS on Raspberry Pi 5
- Reference: 1709812245
- News link: https://www.theregister.co.uk/2024/03/07/alt_pi_5_linux_distros/
- Source link:
Although we suspect that most Raspberry Pi owners probably simply run the default OS, there are capable alternatives out there and some of them bring advantages over the Pi's native distro. The Reg FOSS desk [1]took a look at the latest version of the Pi OS last November, complete with its new Wayland-based desktop. It works, it's fast, and it's quite small, but although it's one of the most usable Wayland setups we've seen so far, it is nonetheless a very stripped-down and simplified desktop.
It would be remiss of us not to mention that Ubuntu supports the Pi well, and there's a version of 23.10 "Mantic" for the Pi 5. The GNOME desktop is quite heavy for this tiny computer, though. Sadly, the various Ubuntu remixes are not quite so current. Ubuntu MATE and Ubuntu Budgie both offer Pi variants, as does Fedora, but only for older Pi models such as the Pi 4 and 400.
Armbian
Although the Raspberry Pi is about as close to a mainstream desktop computer as the Arm-powered world gets, the rest of the Arm landscape is a lot more uneven. Aside from Apple's somewhat closed-off hardware, there is a lot of cheap low-end Arm kit out there, which often needs vendor-specific drivers or kernels. Once the vendor moves on, you're stranded. This is why Armbian exists, as [2]we described when introducing it a couple of years ago. It works, but sometimes the ride can be a little bumpy – especially with relatively new hardware, as it was when we tried it on the [3]Arm-based ThinkPad X13S .
[4]
Armbian's default Xfce desktop is starkly minimalist, but the app selection is less so, with multiple optional extras pre-installed
The Raspberry Pi 5 is relatively new, and although the latest main Ubuntu does support the Pi 5, Fedora and the couple of Ubuntu remixes that have special Pi editions do not support the fifth model yet.
Enter [5]Armbian 24.2 , which introduces support for the new hardware. For a better comparison with the other distro we are looking at, we tried the latest Armbian 24.2.1 Jammy Xfce Desktop.
[6]
As we described on the Arm ThinkPad, the Armbian experience isn't the smooth one to which regular users of modern PC Linux are accustomed. It boots to a command prompt, where you set passwords, create an account, and optionally connect to Wi-Fi. Then there's a long interval of many tens of minutes where it generates locales before the desktop appears. Even with this new release, it then immediately opened the graphical Software Update manager (branded as Ubuntu 22.04), which showed 30-plus pending updates. We found even more running apt update && apt full-upgrade -y in a shell. The subsequent reboot also took a long time to complete, with just some kernel warnings on the screen for nearly 15 minutes. After that, though, reboots became much snappier.
[7]
[8]
What you end up with is something similar to Xubuntu 22.04, plus a lot of small optional extras. There are multiple text editors, image viewers, all kinds of internet clients, all of LibreOffice, and more. Despite this, it takes a relatively modest 5.2 GB of disk, and it idled with about 650 MB of RAM in use. The desktop is a very bare Xfce 4.16 layout with just a top panel. Some Ubuntu tools are here, such as the Software Manager, but we found it didn't work, giving a Python error about uaclient , which is part of Ubuntu's Advantage paid-support offering.
The default browser is Chromium, in which YouTube playback worked, but BBC Sounds streaming radio didn't. Unusually for an Ubuntu-based meta-distro, it uses separate root and user accounts too.
[9]
There are plenty of tools here for a developer to get to work, but it's not a great end user experience. All the hardware works, but there are quite a lot of rough edges here and we weren't very impressed with the overall experience. This is more of a tool to build with than a ready-to-go end user OS.
MX Linux
MX Linux has been something of a [10]FOSS desk favorite for a while now and the current [11]MX Linux version 23 is no exception. It's based on Debian 12, but doesn't use systemd as its default init daemon and includes some more up-to-date components, such as the latest version of Firefox rather than the ESR release that Debian prefers.
[12]
MX Linux on a Pi 5 – almost indistinguishable from a PC costing 10x more except for Chromium
There's also an [13]MX respin for the Raspberry Pi, and as one of our preferred distros we thought we'd give it a try. It boots to an unusual black-and-white graphical environment for the initial setup process, but this is a one-time only thing. (We actually rather liked it in a retro cyberpunk sort of way, but it's not in the list of themes in Appearance settings.)
[14]Year of Linux on the desktop creeps closer as market share rises a little
[15]Supermium drags Google Chrome back in time to Windows XP, Vista, and 7
[16]Tiny Core Linux 15 stuffs modern computing in a nutshell
[17]KDE Plasma 6.0 brings the same old charm and confusion
Once the initial setup is done, the Pi reboots into a much more normal Xfce desktop that looks almost exactly like the PC edition of MX Linux, complete with the vertical taskbar on the left. (This remains our preferred position, and we like the Docklike Taskbar addon, although the logout button at the top still confuses our muscle memory.)
One of the only visible differences is the [18]RPI-MX Tips link on the desktop, which lists some of the differences, such as the use of Chromium as the default browser instead of Firefox. There's also a link to a 12-minute YouTube [19]intro video , which we found had a quite endearingly improvisational feel, with occasional hesitations. It's an effective reminder that this is a community-driven distro rather than some smooth polished corporate product.
Otherwise, it's still just MX Linux, with the helpful Welcome screen, easy package installers, and so on. There's no Snap or Flatpak support installed. You get kernel 6.1 as standard, and the distro uses about 7.5 GB of SD card space – about 2 GB more than the official Pi OS. It idles at about 800 MB of RAM in use, while the official Pi desktop took about 500 MB. On the other hand, this is a full Xfce desktop with a richer and more customizable environment.
All the hardware worked fine, and the Pi 5's fan almost never made a noise. Wi-Fi worked exactly as expected, internet radio and video worked perfectly with sound from our HDMI display. YouTube caused a CPU load of about 20 percent, so it's perfectly feasible to leave it playing [20]LoFi Girl or something in the background while you work. The machine went to sleep when idle and woke up at a keystroke.
[21]
We did see some small glitches. For instance, waking a sleeping display opened the display properties, and YouTube search didn't work in Chromium, although it was fine in Firefox. Overall, though, it's perfectly usable, and more flexible out of the box than the stock Pi OS.
Bootnote
We recommend that if you want to experiment with different distros for your Pi, don't use the official Raspberry Pi Imager program to write your SD card. With the Pi OS, the Imager helpfully tries to put some settings into the Pi OS for you, such as a username, default Wi-Fi network and password, and so on. The problem is that it doesn't notice if the OS it's writing is not the Pi OS, and tries to modify these settings anyway, even when we asked it not to. When the target's not the Pi distro, this caused problems.
Although it is admittedly one of our go-to examples of application bloat, [22]Balena Etcher is simple, free, works well, and it offers versions for Windows, macOS, and Linux – albeit all x86. (Which is why it's a nearly 100 MB download. It's a JavaScript app so it needs a whole web browser as its runtime, meaning that the package bundles what's effectively a copy of Chromium.) ®
Get our [23]Tech Resources
[1] https://www.theregister.com/2023/11/03/raspberry_pi_os_5/
[2] https://www.theregister.com/2022/03/03/armbian_project_releases_version_2202/
[3] https://www.theregister.com/2023/09/08/linux_on_the_thinkpad_x13s/
[4] https://regmedia.co.uk/2024/03/07/armbian_24-2_xfce_pi5.jpg
[5] https://www.armbian.com/newsflash/armbian-24-2-kereru/
[6] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2ZenywDoFZTNmWSs9I6IZtQAAAA4&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0
[7] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44ZenywDoFZTNmWSs9I6IZtQAAAA4&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[8] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33ZenywDoFZTNmWSs9I6IZtQAAAA4&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[9] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44ZenywDoFZTNmWSs9I6IZtQAAAA4&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0
[10] https://www.theregister.com/2022/08/31/mx_linux_212/
[11] https://www.theregister.com/2023/08/03/mx_linux_23/
[12] https://regmedia.co.uk/2024/03/07/rpi5-mx-desktop.jpg
[13] https://mxlinux.org/blog/mx-23-1-raspberry-pi-os-respin/
[14] https://www.theregister.com/2024/03/06/linux_desktop_share_growing/
[15] https://www.theregister.com/2024/03/06/supermium_chrome_for_xp/
[16] https://www.theregister.com/2024/03/04/tiny_core_linux_15/
[17] https://www.theregister.com/2024/02/29/kde_plasma_60_released/
[18] https://mxlinux.org/wiki/rpi-tips/
[19] https://www.youtube.com/watch?v=xSMCulTtkN00
[20] https://www.youtube.com/watch?v=jfKfPfyJRdk
[21] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33ZenywDoFZTNmWSs9I6IZtQAAAA4&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0
[22] https://etcher.balena.io/
[23] https://whitepapers.theregister.com/
[Author here]
> There are also the specialist distributions such as OSMC for media servers.
Sure there are. My internet radio, which I built myself in lockdown, from a used Pi 3 and a 2nd hand touchscreen, uses one.
(Confession: I can't remember which. I mainly used it for playing BBC 6music in Prague. Now I am back in the British Isles, I just bought a 2nd hand DAB alarm clock and a 2nd hand DAB transistor radio for the office.)
You can use a Pi 4 as a desktop but it requires some patience. The Pi 5, OTOH, is pretty usable as a general-purpose computer. I am just not wildly fond of Raspbian. I prefer Xfce to LXDE, and I preferred LXDE to the Wayland thing in PiOS 5.
I used to run Lubuntu on my first Pi 3, but there is no current Lubuntu for the Pi. (And I don't like LXQt much: broken vertical taskbars.)
So I wanted to try a couple of ready-rolled Xfce distros.
And here we are.
> When it comes to copying onto a card from Linux dd works just fine.
Yeah yeah yeah. "_Real_ programmers use a magnetized needle and a steady hand!"
https://xkcd.com/378/
Go you. Have fun.
I do too sometimes. Over Yule, mildly hungover, working on one of my old laptops, I got 1 letter wrong in the device name and nuked my home partition, with about 2 years' work in a hobby project that, as a result, did not get released in #doscember.
(The drive device names change when booted from USB. >_< )
(P.S. Yes I have backups, but they predated the work in recent days at that point.)
Life's too short. A friendly GUI wrapper makes things not only easier but safer.
Re: Device names
Type '#' followed by the destructive command, proof read carefully in case you any words out then home, delete, enter.
That is nothing like good enough for commands that trash entire drives. 'mount' will tell you what is mounted where. 'ls -l /dev/disk/by-label/' will convert persistent names to device names that change after each power cycle/hotplug.
Next go back in time and give all your partitions names with dosfslabel, e2label and so on. The good news is you can now use persistent names that differ by more than a single letter. The bad news is nothing will boot any more because you changed the names. /etc/fstab understands LABEL= for device names. /boot/firmware/cmdline.txt understands root=LABEL=... When the kernel gets upgraded apt has a record of the previous root=... and regenerates /boot/firmware/cmdline.txt with it to foul up the next reboot. Fix that in /etc/default/raspi-firmware
It is still possible to point GUI image editers at the wrong device. Some of them may do some checks to spot if they are aimed in an obviously bad direction. I worry that the authors of such software are not as paranoid as me, that their detection logic has not been tested on installations customised the way I change them and that when they fix some problem it will make the software do something that surprises me next time.
The wonderful thing about command line software is that if anyone proposes a change in behaviour a hord of rabid grey beards waving clue bats will shout 'That will break my scripts' until the proposer takes cover in a deep cave blocked by a cave in.
Re: Device names
> ls -l /dev/disk/by-label
Holy cow. I do everything by partition label but I had never seen that snippet. THANKS.
Also, GRUB does not "do" partition labels. I edited /etc/grub.d/10_linux and where it sets LINUX_ROOT_DEVICE, I added
LINUX_ROOT_DEVICE=LABEL="`e2label ${GRUB_DEVICE_BOOT}`"
(YMMV for non-Debian-derived distros)
Re: Device names
Fixing problems at oh-dark-thirty:
Peer at the screen groggily.
Is that a # at the beginning of the line?
Great! Safe to type...
speaking of Internet radio & pi
With Logitech sunsetting mysqueezebox.com service, I may deploy Logitech media server on a pi (instead of a vm for LMS, hurriedly set up because of the sunset) to serve my Squeezebox radio player.
Debian
I have not tried Debian on a 5 yet but here is the nasty surprise if you are used to Raspian:
I use a USB to SDHC bridge, install the image with dd, partition, resize2fs the root partition, mount up and restore a bunch of config files from backups.
I use a real swap partition and its existence prevents Raspian from resizing the root partition itself. Debian works differently. It looks for free space at the end of the SDHC card, finds the space I leave so the wear leveling code has plenty to work with and resizes the root partition over and including the swap partition. Things go down hill from there.
I took me a while to find out what was going on from the boot code in the initrd. I should have read the fantastic manual as it is clearly documented in the Debian Image for Pi documentation. Derivative distributions may use the same do-not-resize detector. Once I got that sorted Debian works fine.
Re: Debian
"Right, that's bad. Okay, important safety tip. Thanks, Egon."
I bought a pair of Pi 4 last year. One plays music through its jack socket to the hifi (so no upgrades to Pi 5 for that one) and displays on the 4k television. The other has no display and runs my cameras and alarm.
Being a systemd-hater, I installed Devuan on both, although there is no official distro release. (There are unofficial images.) It looks as though MX might have been a more supported option.
[Author here]
> It looks as though MX might have been a more supported option.
In my humble opinion, as a not particularly devout systemd-mild-disliker, MX is _streets_ ahead of Devuan (or Debian itself) in every imaginable way.
arm64 versions of OpenBSD (and likely FreeBSD) should work too
The more adventurous among us might be tempted to try something like OpenBSD/arm64 (https://www.openbsd.org/arm64.html), or for that matter FreeBSD's offerings.
That might even be material for a followup article.
Re: arm64 versions of OpenBSD (and likely FreeBSD) should work too
[Author here]
> for that matter FreeBSD's offerings.
Funnily enough that was the immediate response I got on Mastodon, too.
I need to refine my FreeBSD 14 skills on bare x86 metal a bit first, I think.
Re: arm64 versions of OpenBSD (and likely FreeBSD) should work too
Installing either OpenBSD or FreeBSD is not as hard as what seems to be the general perception out there.
The hardest part might be to make physical install media if needed. In the OpenBSD case, once you have done the "boot bsd.rd" (or simply waited out the short countdown) bit, you only need to come up with a hostname. The rest is basically pressing Enter at any prompt. Basically, the defaults make sense.
For the FreeBSD part, I must admit my last brush with the FreeBSD installer was when I needed to check something while writing a piece on my M2 MacBookAir. Installing FreeBSD/arm64 in a qemu vm was quick and straightforward. Again, mostly pressing Enter at the prompts.
If you don't want to sacrifice your Pi just yet, both OpenBSD and FreeBSD (or for that matter NetBSD) should install and run well on anything reasonable x86-ish you would have lying around.
Re: arm64 versions of OpenBSD (and likely FreeBSD) should work too
I like the BSDs for their "seriousness" when compared to the Linux more "bazaar" atmosphere, but have had issues with device drivers, especially for WiFi (on x86) and graphics (x86 and Sun SPARC). The graphical backends to GNU Octave were particularly challenging to get along with iirc. I wonder how that works on Raspberry Pi 5 (is its HW currently somewhat "exotic" to the BSDs?). As suggested in the OP, an ElReg evaluation of the situation could be quite welcome IMHO!
What, if anything, on these other OSes is tweaked to use the VideoCore GPU in the Broadcom SoC for desktop acceleration?
Most distros are grim. Their "base" install is basically just a random smattering of packages and whatever cruft they pull in as arbitrary dependencies.
Basically grab the Raspberry Pi OS kernel (vmlinuz, /lib/firemware /lib/modules) and use something like dnf or debootstrap (minbase) to bootstrap your own install. This attempts to keep the general GNU clutter to a minimum.
It still feels like a random mess though. UNIX definitely has the edge here in that the shite that is on disk is *meant* to be there.
mx linux
Since mx Linux was mentioned here a couple of times, I just want to note that I've been checking out mx Linux kde (for a full size PC), since the recent kde neon rollout of plasma 6 has shaken my trust some in neon, such that I'm holding off on updating my main PCs (upgrade to 6 included in updates presented as recommended security updates on the User Edition, not the Testing, Unstable or Dev editions, caused malfunctions and gui issues (on my testing PC), some of which were quickly corrected). I've installed MX Linux kde on a test machine. Light usage was pretty uneventful for about a week, but then the panel started disappearing from my desktop. I do like that mx includes a newer version of Timeshift than is available in the repo used by kde neon. MX Linux has a dev identified as anticapilista, and I may not be able to get comfortable using mx Linux to do work for clients who are pursuing capitalistic endeavors. Didn't want to distro-hop after 4 years with neon, but looking for insurance.
Don't forget Slackware - https://arm.slackware.com/
$ du -h /bin/dd
160K /bin/dd
Just sayin'.
There are also the specialist distributions such as OSMC for media servers.
When it comes to copying onto a card from Linux dd works just fine.