Table of Contents
RPi5 Desktop
The Raspberry Pi model 5 arrived in 2023, and although it has the same form-factor as the 4B (the 'B' indicates it has an ethernet socket), and remains the size of a credit-card, it is a significant improvement.
Well, I say improvement, but that depends on what you are looking for. The RPi4 is a very capable machine, and at 5.1v @ 3amps (15.3 watts) very cheap to run 24/7. The RPi4 CPU runs at 1.5Ghz, the RPi5 at 2.5Ghz (5v@5amps = 25 watts). In addition, there are other improvements that accumulate, giving the RPi5 a 2-3x CPU uplift in performance, the GPU gets a boost and so on. In fact, it sounded so impressive, I thought I'd try making a desktop computer out of one.
The Kit
A quick visit to The PiHut showed that there is already a growing ecosphere of add-on devices. I grabbed an RPi5 with 8Gb memory, a power supply, a “Pineboards HatDrive! Nano”, a 256Gb SSD in M.2 format, and an RPi5 case.
The HatDrive! Nano is small and includes a 3amp buck converter, and this allows not only the use of the 256Gb M.2 SSD, but it can all fit inside the official RPi5 case. The picture shown here is everything except the power supply and with the lid of the case taken off so you can see how compactly it all fits together. I even found enough room to squeeze a large heatsink and fan in there.
Installing the OS
The Raspberry Pi systems usually have an operating system flashed to an SD card (the same sort as you put in your phone to give yourself more space for all those pictures you keep taking). An SSD plugged into a USB port offers not only a massive boost to read/write speeds over an SD card, but more stability and longer life too. The RPi3 introduced the capability to boot straight from a USB drive, opening the gate to both HDD and SSD.
Getting the operating system on an SD, or a USB-SSD or USB-HDD is fairly straightforward: Take the storage device to another computer where you've installed the Raspberry Pi Imager, and flash the operating system of your choice on to it - then plug it back into the RPi and switch the power on.
However, to do that with an M.2 SSD, you need a cradle to take the SSD and make it visible to the computer where you'll be doing the flashing, and I don't have one those, but luckily the Raspberry Pi has a solution at hand.
If you boot with the Pi without a device with a boot partition attached to it - as is the case with my NVMe SSD (which was unformatted), then the Pi will attempt to bring the Raspberry Pi Imager software down from the internet. To do this, it needs to be attached to the local network by ethernet. After that, it works like any other flash install - select the type of device (RPi5) and OS to install, and the medium to install to - the NVMe drive. Configure with a default user and password and go and make a cup of coffee. All done, and when the RPi reboots, it is ready to go.
So now that it's running, there are just a few configuration options to deal with. At this point it has been using an ethernet cable, but I'll not be using that where the Pi is going to be running, so I set up WiFi.
Next I installed some necessary software: The programming languages Go (golang), Rust and PHP. A small web server so I can do localised testing of web-based code; SublimeText - an excellent programmer's editor.
I then moved the RPi5 (after powering it down again) to my secondary desk and plugged it into the KVM so it now shares a monitor, keyboard, mouse and couple of USB ports with my development rig.
Testing
As part of the testing, I changed the desktop. If you use a Windows or Apple machine, this might need a bit of explanation.
With an operating system with a GUI front end, there are several layers:
- The kernel (this handle all the low-level stuff)
- The operating system (which handles input/output on disks, keyboards, mice etc, and organises the filesystem)
- The windowing system - you can't see this, but it provides a consistent interface for the desktop
- The desktop - this is the collection of windows etc. you actually see
It's more complicated than that, but that's the essential stuff. On Windows and Mac systems, you get one desktop and although you can personalise it a bit, you're stuck with the one desktop.
On Linux and other unix-style operating systems, the windowing system is either X11 or Wayland, but there are dozens of different desktops. All my Linux Mint systems use Cinnamon, but the RPI5 uses (by default) PIXEL, which is based on LXDE. I changed the desktop to use the Cinnamon desktop and rebooted - and voila! It doesn't look exactly the same as my other, more powerful machines, but it's close enough.
Cinnamon is very configurable, but out of the box it looks very familiar to anyone coming from a Windows machine.
I then cloned some git repositories I have on a local ForgeJo and on GitHub. These are code in either Go or Rust, so need to be compiled and assembled. This worked and did so very fast, so I cloned a few repos belonging to other people that were substantially larger and had many dependencies and built them.
I have to say that the combination of the RPi5 and onboard SSD (read/write speed 850MB/s) plus the 8Gb memory makes this a very usable desktop machine.
Summary
Because the RPi5 doesn't (yet) come in a model with 1 or 2Gb of memory, it doesn't come cheap, but it is still a lot cheaper than most of other computers with similar capabilities. It also has the same usage patterns as the previous RPi models, so it can be used in AI, Machine learning, robotics, learning electronics, programming, scientific research networking and teaching the basics of Office Suite Software (word-processing, spreadsheet, database, presentation).
Raspberry Pi SOCs (system on a chip) SBC (single board computers) have been a delight in their intended market - schools - where affordable (and easily and cheaply replaceable) requirements are a must, and have been taken up by hobbyists for all sorts of unusual and interesting projects. The RPi5 is a powerful addition to the stable, and I am very happy that it is powerful enough to do some serious development work on.
Discussion