rethinking the use of ubuntu 20.10 on a raspberry pi 4

Yesterday I wrote about how I was staying with Raspbian/Raspberry Pi OS 64-bit because it was, essentially, “smoother” to work with. Then I pulled out my 2GB and 4GB Raspberry Pi 4 little systems and attempted to start an update of the Raspbian OS 32-bit. It’s been a good six months since I worked with those little boxes, and I felt it was time to bring them up to date. I powered up the 4GB system and attempted a standard update (as full root) with apt update && apt upgrade -y. And it failed. For whatever reason apt couldn’t reach the Raspbian servers. After several more attempts and subsequent failures I shut it down. Since I’d already gone to the trouble to populate and initialize another µSDXC card with Ubuntu 20.10, I quickly swapped it onto the 4GB system and powered it back up again. It booted without issue, and to see if I could reach Ubuntu’s update servers, went through the same apt dance. It succeeded, updating Firefox in the process.

I know that getting the software ready for the Raspberry Pi is a huge volunteer effort. I get that, and I certainly appreciate that. But when the servers are unavailable for whatever reason, it tends to cast a pall over the OS. I checked to see if there were any messages about the Raspbian infrastructure being down or just having problems, and found nothing on the usual web sites and forums.

It’s at this point I have to ask myself if I should move on. I left Arch Linux precisely because it would not remain sane if left alone for long periods of time between updates. When my Arch installs essentially committed suicide when attempting an update, I made the decision to move to Raspbian, and never looked back. I might complain about the ages of some of the tools on an Raspbian OS, but I’ll take old and reliably working over new and busted ever single time. Now it’s reliably working Ubuntu updating over hit-or-miss working Raspbian. This is the older 32-bit version, not the 64-bit version that’s still in beta.

One strong point in Ubuntu’s favor is that it’s supported by a business, Canonical, that is totally devoted to OS development and support. The Raspberry Pi Organization is trying to support hardware and the surrounding ecosystem as well as its own OS. Now that Canonical has demonstrated their ability to support the Raspberry Pi, and now that the Pi is using hardware that can in turn support contemporary Ubuntu on ARM64, it might be a good time for the Raspberry Pi Organization to strike a formal deal with Canonical and let Canonical supply the ARM64 OS. This would allow the Raspberry Pi Organization to better concentrate their resources instead of spreading everything and everyone so thin. Ubuntu 20.10 still has some performance issues on the desktop, but at this point I’ll accept that because of the reliability of the operating system and its update servers.

If you think I’m being to harsh with Raspbian, here’s another interesting data point to consider. My most popular blog post for 2020 is “disable chromium update dialog on raspbian buster” ( /2020/04/11/disable-chromium-update-dialog-on-raspbian-buster/ ), a problem with Chomium that I wrote about back in April of this year, complete with work arounds.The ultimate fix is to recompile Chromium and rebuild its package, followed by a push out to the update servers. But it would appear that hasn’t happened, not if the continuing interest I keep getting on that article is any indication. And there are other little annoyances that would benefit from a similar refresh as well.

The only problem with switching to Ubuntu is support for older 32-bit hardware. There’s an awful lot of that out in the Real World, embedded in many commercial products as well as personal projects. Those will still need OS support that Ubuntu won’t be able to provide. Perhaps the practical solution is for the Raspberry Pi Organization to hand off 64-bit support to Canonical, while they go back and support just the older 32-bit hardware.

I will admit that my use of this hardware is not quite the norm for others. To me this is a hobby, so I tend to try and keep up with software updates, though not on the absolute bleeding edge. As a hobbyist I can afford to live with the kinks that new features can introduce, as long as I can get some reasonable feature. As of this point in time, I’ve been incentivized as it were to migrate to Ubuntu, at least for the latest Raspberry Pi hardware. Another adventure; we’ll see how that works out for me.

ubuntu 20.10 on a raspberry pi 4 8gb

Summary

Canonical finally released a reasonably tuned version of Ubuntu 20.10 for the Raspberry Pi 4, 4GB and 8GB versions. I installed it on my 8GB board and gave it a small whirl as it were. Based on my initial experiences, while Ubuntu for Raspberry Pi is much polished over any other released version, it won’t replace Raspbian/Raspberry Pi OS, 64 bit.

Installation and Startup

This version of Ubuntu was installed on a SanDisk 128GB µSDXC card (V30, XC I, U3, A2). It was well more than enough room, and it was certainly inexpensive enough. On first boot, Ubuntu automatically resized the file system to use all the available space, which is to be expected these days

Ubuntu 20.10 fully recognized my LG display. Settings | Displays shows it as an LG Electronics 29″ monitor with 2560 x 1080 (21:9) resolution. This beats Raspbian in a way, as you have to make a minor tweak to Raspbian after first boot to remove outer black bands and fill the entire display. Every other version of Ubuntu for Raspberry Pi would not properly work with my LG monitor, and as a consequence it was always blacked out after first boot.

Initial Usage

One of my long-running peeves with all Linux distributions is the inclusion of bloat in the form of unneeded applications, especially games. I used to be able to go in before installation and deselect a lot of that, but with Ubuntu for Raspberry Pi, you get it all, whether you want it or not. Raspbian by comparison is tight in that you get only what you need. You can install more later on if you wish, but you don’t have to go hunt down the superfluous bits and delete them. Since this was meant to be a quick peek at Ubuntu, I skipped this phase and moved on.

I was surprised that the GCC tools weren’t installed. Performing apt install build-essential got me what I needed. I also had to install git and curl (for installing Rust). I have yet to understand why these are not installed with the base, as we’re not asking for much, either in tools or disk space..

I also installed Visual Studio Code, which is now fully available as a package for AArch64/ARM64 from Microsoft. Go to the download page ( https://code.visualstudio.com/download ), look in the middle for Linux, and select ARM 64 for the .deb packaging. I am no longer attempting to build VSCode on any of my ARM64 systems any more. And when it is fully installed, it identifies itself as Visual Studio Code, not some janky weird name.


With VSCode in my arsenal of development tools, I no longer have a need for either Vim or Emacs. I can install the extensions I care about and move on with my life.

All of this is applicable to Raspbian OS as it is to Ubuntu for Raspberry Pi.

Operations and Final Thoughts

There’s no getting around that Ubuntu for Raspberry Pi is a formidable distribution when it comes to working in a powerful development environment. All the tools are up-to-date, at least as far as the release date for Ubuntu 20.10. These tools are far more up-to-date than what is stock on Raspberry Pi OS. So there’s that.

But when it comes to day-to-day usage, Ubuntu for Raspberry Pi has an aggravating slowness to how it operates. Startup of any application is noticeably laggy, enough to be annoying after a time. Moving windows around on the desktop is choppy at best. Raspbian, by comparison, is every bit as snappy as Ubuntu on regular x86-64 hardware. Everything starts quickly and the desktop is smooth. Raspbian is fast enough to be transparent in use and to just get out of my way. Ubuntu for Raspberry Pi, not so much.

And this Ubuntu, similar to Ubuntu releases on on other ARM64 boards (such as nVidia’s Nano and Xavier boards) has a much larger memory footprint than Raspbian. Memory is fixed on all these boards, such that I pay attention to how much I have to give to the OS before I even get started with my application usage.

Ubuntu 20.10 for Raspberry Pi is a compelling offering, especially if you’re an Ubuntu power user on other hardware and want to maintain the same working environment across all your different machines. While it won’t currently replace Raspbian 64-bit on my Raspberry Pi, it’s so very close to being able to do so. If the next release can pick up performance and reduce resource usage, then it will stand as a true alternative to Raspbian. And that’s when I’ll make the move over Ubuntu on my Raspberry Pi 4 devices.