Pi 5's speed makes it a useful and usable general-purpose desktop, with limits.
I bought an 8GB Raspberry Pi 5 as soon as they went up for preorder, just like I have bought every full-size Pi model since the Pi 3 Model B launched back in 2016, including the Pi 3B+, with its better Wi-Fi and more efficient chip, and the Pi 4, with its substantial performance and RAM boost.
The difference is that I didn't really have anything in mind for the Pi 5 when I bought it. But years of Pi shortages made me worried about its scarcity, and I figured I'd buy first and ask questions later rather than want it later and be totally unable to get one. In the end, it will probably knock each of my other Pis down a level in my tech setup: the Pi 5 becomes the retro emulation box, the Pi 4 becomes the multi-use always-on light-duty server (currently running a combo of HomeBridge, WireGuard, and a dynamic DNS IP address updater), the Pi 3B+ joins the Pi 3B as either "test hardware for small one-off projects" or "the retro emulation box I lent to a friend which may or may not have been ruined when their basement flooded."
Before I did that, though, I wanted to take another crack at trying to use a Pi as an everyday general-purpose desktop computer. The Raspberry Pi's operating system has always included many of the tools you'd need to take a crack at this, including a lightweight desktop environment and a couple of web browser options, and the Pi 4-based Pi 400 variant has always been pitched specifically as a general-purpose computer.
But even with 4GB or 8GB of RAM, the truth is that the Pi 4 was still using the equivalent of a budget smartphone processor. It's plenty of power for the kinds of lightweight single-purpose hobby projects that the Pi was always meant for, but it's not nearly enough to make the kind of browser-heavy office work that I do feel responsive or fluid. It felt close, sometimes. But you always spent a lot more time waiting on things than you would on an entry-level Mac or PC desktop.
But maybe the Pi 5 will be better! Looking at the spec sheet, things seem promising: "between two and three times" the CPU and GPU processing power of the Raspberry Pi 4, faster interfaces for storage including the option for an internal PCIe SSD, and support for a pair of 4K displays running at 60 Hz over the board's micro HDMI ports. Considered as a list of high-level technical capabilities, it's at least in the same neighborhood as a Mac mini, though Apple's M2 still has a lot more performance to spare.
My journey started out disappointing, which led me to reset my expectations, and after some adjusting, I eventually got around to being pleasantly surprised. Here's what I discovered.
My hardware
The Pi 5 still ships without any kind of cooler on the SoC, and you can use it that way if you want; for short bursts of activity, it won't get hot enough quickly enough to cause big problems. But this is the generation where a small fan and heatsink has gone from "necessary if you want to overclock a bit" to "necessary to get sustained peak performance at stock speeds." There's a real fan header now and everything. To maximize my odds of conducting a successful experiment, active cooling was a must.
I bought the official Raspberry Pi 5 case and power supply from my local Micro Center, noting that the case came with its own cooler. I had assumed that this would be the same thing as the Raspberry Pi Active Cooler, a fairly substantial bit of aluminum with a fan mounted directly on top and coverage for most of the important chips on the top of the board. Unfortunately, the case's built-in cooler was less robust-looking—one of those cheap stick-on heatsinks for the main SoC, plus a fan mounted above it integrated into the lid of the case rather than attached to the heatsink directly.
The case's built-in cooler is still a heatsink with air moving over it, and it's better than nothing; at stock speeds during regular use, the Pi generally didn't seem to be overheating or throttling. But for the sake of playing with overclocks, I sprung for the Active Cooler, which is not only a much larger heatsink but includes a quieter fan with more fins. I'd only use the Pi 5 with no extra cooling at all if it was mostly being tasked with intermittent light-duty work (and if that's all you're doing, a cheaper Pi 4 may still be a viable option for you).
As for the power supply, I've found past Pis to be finicky about running at full speeds with any kind of generic third-party power supply, whether it's micro USB or USB-C. I didn't want to see the little "low voltage" lightning bolt in the corner of my screen, and I knew the Pi 4 power supply didn't supply as much power as the Pi 5 could use, so I played it safe.
Otherwise, the Pi 5 was going to plug directly into my existing setup: a pair of 4K monitors (one a Gigabyte M28U, the other an Acer B287K—not matching screens but calibrated to be close enough), one with a USB hub with a keyboard, mouse, webcam, and audio preamp connected to it. For storage, I used a SATA SSD in a USB 3 enclosure—the Pi 5 only supports M.2 storage with a HAT attachment that I didn't want to spring for, and a USB-attached SSD is still a good bit faster than a microSD card. If you haven't tried booting from external media on a Pi in a while, you don't need to jump through the hoops you used to—flash an OS image on USB media and the Pi will happily boot from it if there's no microSD card inserted, no extra configuration required.
Setting up and initial frustrations
With my hardware settled, I had to pick out software. For general-use operating systems, the two most viable choices this early in the Pi 5's lifecycle are the official Raspberry Pi OS and a build of Ubuntu 23.10.
For background, I'd say my familiarity level and general comfort with Linux is somewhere in the "advanced beginner" range, at least as long as I stick to Debian-based distros (for example, I know enough to say things like "Debian-based distros"). I am reasonably comfortable installing things via the Terminal, and I'm not put off by interface differences. When there's something basic I want to do, I usually know where to start looking, and as long as the various tutorials and scripts and commands do what they say they're supposed to do, I'm in good shape.
I do hit a wall whenever I'm asked to compile anything on my own—and when things break, I'm less comfortable about troubleshooting and fixing than I am in either Windows or macOS. But in this experiment, I knew I would probably hit a thing or two I couldn't get working, not because they wouldn't work but because I don't really know enough about Linux to make them work.
I mention this because neither of my two OS options was ideal, and I didn't have a lot of success tweaking either OS to do exactly what I wanted it to do, because all of this software is pretty new, and a lot of the forum posts and tutorials out there are too old to work properly anymore.
The main issue with Ubuntu is that neither of its browsers supported video or audio websites that used DRM, which meant that I couldn't listen to Spotify while I worked (there is no app, so using a web app is necessary, which will become a theme of this experiment). The heavier GNOME environment was also clearly taxing the Pi a bit more; the UI was jerkier, and the fan was spinning up more frequently. Trying to install the Widevine DRM software that the Pi OS uses on Ubuntu didn't work for me, so I retreated to the official Pi OS.
But the Pi OS's desktop environment is poorly suited to general-purpose computing in a few ways. It lacks handy window management features like window snapping, so the only way to manage windows is by dragging them around and manually resizing, minimizing, or maximizing. Notifications are also handled poorly, with each notification you get generating a pop-up modal notification in the middle of the screen that won't go away until you close it. It's a lot like trying to use Windows XP again (though the interface for alt-tabbing through windows is nice, at least).
And as with my attempts to install Widevine on Ubuntu, trying to install a different desktop environment on top of the Pi OS didn't go well, whether I tried to install one over top of the existing environment or install one from scratch on top of the command-line-only "Lite" version of Pi OS. All the information I could dig up via searching or looking at the Pi forums was old, and it wasn't clear whether the older tutorials weren't working because of the switch to Debian Bookworm, the switch from X11 to Wayland, the fact that I was using a 64-bit OS instead of a 32-bit OS, some combination of all three, or something else entirely.
A few hours spent trying to make a best-of-both-worlds desktop work had primed me to be frustrated about this project, but by the time I had finally settled on using the standard Pi OS as my desktop (I'd rather have music than window snapping), I had gotten annoyed about a series of monitor-related problems that were the same in both the standard Pi OS and Ubuntu:
One of my monitors (the M28U) could only run at 30 Hz regardless of what cable or HDMI adapter I used or what monitor settings I changed. I'm sure the Pi 5 technically can run two 4K monitors at 60 Hz, but not this one, for some reason.
Using the M28U at 1440p allowed me to bump its refresh rate all the way up to 144 Hz, but the Acer monitor would only let me set its resolution to 4K or 1080p, resulting in a resolution mismatch either way. I ended up settling on 1080p for the secondary monitor because...
Things frequently get choppy in a multi-monitor setup, particularly when you're loading a new app or tab. Don't expect a smooth 60 Hz desktop, even if you're not having the hardware problems I did.
Many of these problems were unique to my setup, and you may not deal with the same problems. But these two monitors also behave perfectly normally with all kinds of Windows PCs and Macs, so who knows what fun display issues you might end up running into in your own setups!
I also tried to use Firefox for a while out of a vague objection to Google and Chromium's browser hegemony; it was clearly slower than Chromium at just about everything, though, and it would regularly lock up the Pi, forcing a hard reboot. The Pi's browsers both come with a uBlock origin ad blocker installed, which I tried to go without for a while. But performance on most sites was so much worse with the ad blocker disabled that I ended up reinstalling it just to try to keep the Pi running tolerably well.
And these are just the issues I had with the software that comes with Pi OS. I burned a couple of hours trying to install the lightweight third-party Maestral client for Dropbox, only to encounter constant errors while trying to install both the Python and Docker-based versions. No official builds of the Linux Slack or Discord apps exist for Arm Linux. No Zoom client, no Skype client. As with Spotify, you'll resort to using most apps inside of a browser window. The box86 project allows you to run x86 Linux apps on an Arm chip, but it can only run 32-bit apps on top of the 32-bit version of Pi OS, so it wouldn't have worked for most of the apps I wanted to use, anyway.
This isn't the end of the world, especially since a lot of these "apps" are just wrappers for each app's web clients. Chromium's ability to create "shortcuts"—browser windows dedicated to specific sites that can be opened and managed independently of the rest of your Chromium windows—helped out a lot, though it's a bit less elegant.
Chromium "apps" do a lot to fill the app gap, though unsightly gigantic window borders make them feel less space-efficient than a native app would.
But the experience was less of using a regular desktop computer with lots of software available and more of using a Chromebook, where the OS itself is mostly just a layer of UI for a browser to run on top of.
Meeting in the middle
By the time I had been failing for a couple of days to get the Pi working exactly as I wanted it to, I was ready to throw in the towel and trash the draft full of irritated notes that I had been taking for the article you're reading now. Better to waste a few hours than risk all the readers calling me an idiot because of my deficient Linux chops (if you've gotten this far and you're mad at me for being an idiot, hello, I'm thinking about you).
But then I opened Chromium and imported my bookmarks (signing into Chromium with a Google account to handle sync was possible once but no longer appears to be) and installed my extensions and signed into all my accounts, and I created shortcuts for Spotify, Slack, Discord, and Dropbox so I could use them as web apps, and I actually started using the Pi instead of handling Firefox-related system crashes or fighting with Linux to make it do what I wanted it to do.
To my surprise, the Pi actually did fine! Not great, but fine. I listened to music. I researched and wrote a few articles. I paid some bills. I installed Audacity (a nearly year-old version, but a functioning native app, at least) and edited, exported, and uploaded some podcasts with files with three or four audio tracks in them. I SSH'd into the Pi 4 as I configured it to take the place of my Pi 3 as a general-purpose network-service box. I bought a few things. I took a couple of Zoom calls. I chatted with friends and coworkers.
In other words, I did manage to use the Pi as a general-purpose multi-monitor computer, and I got by fine for a few days.
That's not to say all of these tasks were accomplished seamlessly or smoothly. Even with my screens set to 1440p and 1080p (respectively), the Pi still frequently dropped frames when I was opening apps or new tabs or even just scooting windows around. Having to wait an extra beat for anything to happen becomes part of your muscle memory as you get accustomed to the system's speed.
You'll also notice that "watching a ton of videos" was not on my list. YouTube videos are generally playable but drop frames, especially if you're trying to watch at 1080p and/or do any other kind of work while watching. Hardware-accelerated video decode has always been a bit of a sticking point for the Pi, and the Zoom calls I took completely maxed out the GPU and nearly maxed out the CPU and still couldn't manage anything approaching a smooth frame rate. I got by, but I couldn't do more than that. As far as I can tell, the Pi includes hardware-accelerated decoding for the H.265/HEVC codec but not for the still-common-at-HD-resolutions H.264 codec, which helps explain why things like YouTube and Zoom stress the Pi out so much.
Overclocking the Pi 5 did improve the situation slightly; following Jeff Geerling's recommendations, I managed to bump the CPU from 2.4 GHz to 3 GHz and the GPU from 800 MHz to 900 MHz after providing a bit more voltage. These settings do require a heatsink at least as good as the official Pi active cooler to work—performance throttled if I did this using only the sticky heatsink and top-mounted fan that came with the Pi 5 case. These overclocks didn't fully address any of the issues I had, but they did improve system responsiveness by a noticeable (and necessary) amount.
Even with the overclocks, doing anything else while playing a non-accelerated video is the fastest way to bring the Pi to its knees, and you'll still notice some jerkiness and hesitation when opening apps, opening tabs, or resizing or moving windows (at least, this was the case on a multi-monitor setup).
A step forward for Arm Linux
If you're looking for the cheapest viable mini desktop, the Pi 5 isn't the first place I'd look. If you're already buying one for some other project and you want to briefly experiment with using the Pi as an everyday desktop, it’s an entertaining diversion. It might be an interesting way for a neophyte to learn the ropes of the Linux world—an audience that the Pi's creators have always had in mind. It could be a decent emergency backup PC if the only one you have goes down for a while or a basic kiosk system where its limited features could be an asset and not a disappointment.
If you’re looking for the cheapest viable everyday desktop computer, though, it’s hard to recommend the Pi over one of the many cheap Intel N100 mini PCs that can be had starting at around $150. This is more expensive than an 8GB Pi 5, but not dramatically so once you factor in the cost of a case, cooling, power supply, and enclosure. (If you’re not familiar with the N100, it’s essentially one of Intel’s 12th-generation Core chips but with only E-cores instead of a mix of P- and E-cores; compared to older N-series Celeron and Pentium processors, performance is surprisingly decent.)
For many, the ability to run Windows on one of those N100 systems will be the biggest asset, since it’s a familiar environment with lots of apps. But even if Linux is your OS of choice, running on an x86 processor opens you up to a much wider world of distros and apps, with a lot less time spent trying to force things to work. Compatibility layers like WINE or Proton give you even more app and game options.
When Pi CEO Eben Upton calls devices like the Pi 4 and 5 "PC-class," he's not wrong, especially in the context of early Pi boards, which were truly impossible to use as regular consumer desktop PCs, even for the most patient users. But the Pi 5 is a decent PC only for a specific niche of computer users: people with relatively undemanding workloads and relatively high levels of expertise. Even with extra power, the limits of the software ecosystem make the Pi better as a lightweight server or as a box dedicated to a narrow range of tasks.
Linux is a teetering stack of independently developed software projects that, on a good day, just barely manage to work together. The Arm version of Linux is that, but with even less support from major companies and third-party app developers. The Pi 5 is an important step toward correcting the situation; along with the Asahi Linux project for Apple Silicon Macs, the Pi is probably the best and most visible hardware pushing consumer Linux forward into a more usable state.
Other ecosystems' x86-to-arm transitions have been jumpstarted by capable hardware; Apple Silicon is the best example, but the Windows-on-Arm ecosystem has been getting incrementally better for a decade, and Qualcomm's upcoming Oryon processors promise even more improvements. The Pi 5 will definitely help the Arm Linux ecosystem improve. But for now, it's still limited enough that I'd look elsewhere for a cheap everyday desktop.
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Recommended Comments
There are no comments to display.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.