ubuntu 24.04 on a raspberry pi 5 — report #1

I decided to fully switch over to Ubuntu 24.04 Sunday evening after booting it for the first time and finding absolutely nothing wrong with the installation. These next few reports will combine some of the earlier report posts I wrote concerning the use of Ubuntu 23.10 on the same Raspberry Pi 5 hardware.

Bottom line: The execution of Ubuntu 24.04 on a Raspberry Pi 5 with 8 GiB of memory is superb. It runs smoothly and snappily off of a 128 GiB SanDisk Extreme PLUS V30 microSDXC card.

A fresh Ubuntu 24.04 installation on a Raspberry Pi 5

Sometimes it’s good to just start with a clean sheet installation and not wait for a distribution to be ready for a safe update. I’d been on Ubuntu 23.10 for Raspberry Pi 5 since it was released last October, having chosen it over the official Raspberry Pi OS release. Over the past eight-or-so months I’ve tinkered and installed packages, in part to try and fix an issue, and in part just to see if I could built atop those packages. Some things worked and some things did not. Some solutions were not an ideal solution, an example being the rpi-imager tool. I misread how to install it via apt and instead downloaded source and built it directly.

Here’s a punch list of what I did after a clean Ubuntu 24.04 installation.

  • Installed gnome-tweaks
  • Installed papirus-icon-theme, and used gnome-tweaks to select Papirus icons for my desktop.
  • Installed python-is-python3 so that typing python invokes python.
  • Found and destroyed the EXTERNALLY-MANAGED file under /usr/lib/python3.12.
  • Installed python3-pip to get pip.
  • Installed python3-lgpio.
  • Installed python3-gpiozero
  • Installed btop, curl, and vim.
  • Installed fonts-powerline and python3-powerline
  • Installed raspi-config.
  • Installed git.
  • Installed rpi-imager.
  • Pip installed gpiozero
  • Pip installed luma.led-matrix
  • Purged/removed the package brltty.
  • Purged/uninstalled shotwell.
  • Purged/uninstalled rhythmbox.

Using pip:

  • Installed powerline-status.
  • Installed luma.led_matrix.

It appears that accessing GPIO and SPI functionality has advanced to the point where a udev rules file isn’t needed anymore. You will, however, need to run sudo raspi-config and enable the SPI functionality, then reboot the Raspberry Pi to fully enable that functionality. The same holds true for I2C.

For development tools, I did the following:

  • Installed Rust from the Rust website using curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh. That’s why you should have installed curl earlier. You should maintain your own copy of Rust because the version shipping with an Ubuntu LTS release, which this is, will be stuck at release 1.74. The current release from the website is already at 1.78, and you need that release if you’re going to do any advanced work, such as writing Rust-based drivers for current Linux kernels starting at version 6.8, which just so happens to be the kernel Ubuntu 24.04 LTS is running on.
  • Install the Hack Nerd font following the instructions here: https://gist.github.com/matthewjberger/7dd7e079f282f8138a9dc3b045ebefa0 . Once the Hack Nerd fonts are installed, then go into Terminal’s Preferences, select the default profile under Profiles, click the Custom font checkbox, then select Hack Nerd Font Mono. Based on the screen I use for my Raspberry Pi I chose a size of 14 points.
  • I downloaded the Visual Studio Code .deb Arm64 file from https://code.visualstudio.com/download and then used apt to install the package directly.
  • With VSCode and Nerd Fonts installed, you can configure VSCode to use those Nerd Fonts by following these directions: https://code.visualstudio.com/docs/terminal/appearance#_custom-glyphs . I would strongly advise you use “Hack Nerd Font Mono” for both the editor and the terminal.

Also, as a Public Service Announcement, do not install the Gnome Shell Extension Manager. It has a noticeably negative impact on desktop performance. Even disabling the manager doesn’t reduce the impact, only a complete removal/purge of the manager will bring back performance.

I am quite pleased with the polished performance of Ubuntu 24.04 on the Raspberry Pi 5 with 8 GiB. Unless you have a specific use case for Raspberry Pi OS, I heartily recommend Ubuntu 24.04 LTS.

 

loading microsdxc cards using raspberry pi imager on ubuntu 23.10

The Raspberry Pi Imager doesn’t come pre-installed on Ubuntu, nor does it appear to be available in any of the Ubuntu repos. So I downloaded the source from its GitHub location ( https://github.com/raspberrypi/rpi-imager ), followed the directions on the GitHub readme, and built and installed a copy of my own.

Raspberry Pi Imager

Once installed the application is available via Show Apps. I pinned mine to the dock. As you can see, when started the user interface that is presented is extremely straight forward.

Some problems do exist with this application under Ubuntu at least. Whether they also appear under Raspberry Pi OS I can’t say for certain. Note that the text showing the selections in the middle of the application are dark and barely readable.

I didn’t build and install the Raspberry Pi Imager just to build and install it. I wanted to directly copy bootable images of Ubuntu 24.04 for the Raspberry Pi and Raspberry Pi OS, just to see if they would boot. As it turns out, my first attempt to put Ubuntu 24.04 on the Raspberry Pi failed. I had downloaded an image file from the Ubuntu website itself, and that’s what was copied over to the microSDXC card I was using for my tests. It failed to fully install, for reasons I don’t quite understand. So then I rebooted back into Ubuntu 23.10, and allowed the Raspberry Pi Imager to download and install the latest copy of Raspberry Pi OS. That booted successfully, although a quick check of available applications showed that Raspberry Pi OS is still as sparse as ever. Then I rebooted back into Ubuntu 23.10 and allowed the Imager to download its own copy of Ubuntu 24.04 and copy that onto the microSDXC card I was using. That version succeeded in booting, and I spent enough time looking around to appreciate that it was complete and worked well enough on the Raspberry Pi 5.

Ubuntu 24.04 on Raspberry Pi 5

As you can see I managed to tweak it to my tastes, such as installing Papirus Icon Theme (which required Gnome Tweaks), as well as reducing the size of the dock and minor changes to the shell. I even found a wallpaper in the Ubuntu delivery that I liked and installed it. I may move over to this version of Ubuntu, if I can figure out how to get Ubuntu 24.04 to automount the older 23.10 microSDXC card so I can do a fair bit of copying over. Yes, I can manually mount the card, but I’d prefer it do it automatically like I know it can, as I can get Linux Mint to do it without issues.

Correction

I wrote at the top I couldn’t find the package for the Imager to install. Turned out I didn’t try hard enough, or something. Anyway, you can install package rpi-imager, version 1.8.5, via apt.