The Raspberry Pi OS has officially released its 64-bit version after a lengthy beta and here’s how it looks like:
It looks 100% the same as the 32 bit version. But under the bonnet, there are some things you’d have to be aware of.
Raspberry Pi: choose 32 or 64 bit?
The computer that you are using as your main workstation is very likely 64 bit.
Mine certainly is.
So if most computers run on 64 bit, then the logical conclusion would follow that 64 bit is better than 32 bit, right?
Let me just point out what Raspberry Pi says in their article about the new OS, “Let us know in the comments if your use case benefits (or suffers!) from the move to 64-bit.”
So yes, you can benefit or suffer from using the new Raspberry Pi OS 64 bit.
Benefits of the new Raspberry Pi OS 64-bit
Unleashes the newer Pis’ full potential (theoretically)
In my previous car, there was a speed limiter that governed it to about 210km/h.
Perhaps the engine can do more, but the speed limiter won’t allow it.
So, for many years, the newer Raspberry Pis have had a much more powerful processor that was running in a performance-restricted environment that is 32 bit.
The main reason is practical: a 32-bit OS would run on all their devices, whereas a 64-bit OS would require them to maintain two OSes and could cause customer confusion.
So, 64-bit will absolutely unleash the beast, right?
Theoretically, you should see a performance boost simply by upgrading to a 64 bit environment, and the benefits really accrue to the 8GB Raspberry Pi 4.
Previously, the Raspberry Pi OS used the ARM Large Physical Address Extension to access up to 8GB of memory, which had the limit of allocating each process a maximum of 3GB. With the new 64-bit OS, a single process can take up all 8GB.
The real benefits will accrue to users who are using their Raspberry Pis as servers, Docker or Kubernetes hosts and other high-intensity uses like video encoding.
Perhaps we should also note that the beta of the 64-bit Raspberry Pi OS came out at the same time as the release of the 8GB Pi 4 (May 2020).
So why do I say that these benefits are only “theoretical”? Well, it simply comes down to the other bottlenecks.
If the program you use often doesn’t have a 64-bit version, then you’ll see little benefit because you’ll still have to use the 32-bit version (for example, if you want to use Chromium to stream Netflix or other DRM content).
I also tested a Raspberry Pi Zero 2 with the 32- and 64-bit OS and load times for PiCockpit.com did not change.
What do the 32-bit vs 64-bit Raspberry Pi benchmarks say?
A benchmark study has shown that the Raspberry Pi OS 64-bit is faster than the 32-bit in all tests but one.
Michael Larabel tested this on a 4GB Raspberry Pi 400 and his results show that in graphic manipulation, AI, audio encoding, stress-ng, compression and many more tests, the 64-bit OS overwhelmingly proved better.
His conclusion is that you will see an average of 48% improvement in performance by just doing the exact same thing on the 64-bit OS.
Run 64-bit programs
Another benefit of using a 64-bit operating system on the Raspberry Pi would be to run programs that you wouldn’t be able to run on the 32-bit equivalent. For example, some closed-source programs are only available for arm64 and even software that works on armhf aren’t necessarily optimized for it.
Downsides of using the 64-bit Raspberry Pi OS
Limited support across Pi range
One of the best things about using a Raspberry Pi is that you can take a SD card (with a Raspberry Pi OS installed) from one Pi and place it in another. Everything will work just fine.
Now, with the 64-bit Raspberry Pi, you won’t be able to do this SD card swap on the older Pis (1, 2 and Zero). So that’s one immediate downside. One example where this would be a downside involves the Zero. In the past, you could just do your set up, programming, and whatnot on the Pi 4 and then trasnfer it to the Zero. But if you use a 64-bit OS on the Pi 4, then you can’t use that SD card on the Zero (but you can on the Zero 2 W).
Not “battle-tested” (i.e. could be buggy)
The new Raspberry Pi OS 64-bit does not have the same amount of testing time as its 32-bit counterpart, so it will take some time before it gets to that stage.
You can expect some bugs which don’t exist on the 32 bit, and some of them will remain unresolved until such a time where the user base catches up to it. In other words, a fix that works on the 32-bit OS might not work on the 64-bit OS.
Case in point is Chromium. Yes, there is a 64-bit version of Chromium but you can’t play streaming media such as Netflix or Disney+ because it does not have the WidevineCDM library (for DRM protection). If this is your use case, Raspberry Pi recommends you install the 32 bit version within Terminal using this command:
sudo apt install chromium-browser:armhf libwidevinecdm0
To go back to the 64-bit version, use this:
sudo apt install chromium-browser:arm64 libwidevinecdm0-
How to install Raspberry Pi OS 64 bit?
This step will show you how to upgrade your Raspberry Pi to the new 64 bit Raspberry Pi OS.
First and foremost, you must use one of the compatible boards:
Next, you have to decide how you want to flash your microSD card. My preferred way is to use the Raspberry Pi Imager. However, you can also download the Raspberry Pi OS images here.
The Raspberry Pi OS has two options for the 64-bit Raspberry Pi OS and you can access it by clicking the Operating System button -> Raspberry Pi OS and then scrolling until you see the 64-bit OS.
Now, this leads onto the question about which Raspberry Pi OS version should you install.
If you are using the Raspberry Pi 3, 4, 400 or Compute Modules 3/4, then you would be fine with the regular version of the Raspberry Pi OS.
That leaves the Raspberry Pi Zero 2 W, to which Raspberry Pi’s Chief Product Officer said he would “suggest only the lite version on the Pi Zero 2, 512MB is very limiting for the 64bit desktop OS.”
Can I upgrade my 32 bit Raspberry Pi OS to 64 bit?
Are you concerned about data loss? Or perhaps you just want an easy way to get the 64 bit without having to re-do everything?
The good news is that it is possible.
The bad news is that it’s going to be 100 times harder than upgrading Windows, which really is just following an installer that does everything for you. In this case, you are pretty much going to have to do everything yourself and it’s likely not going to be as good as a clean install.
In order to upgrade from a 32-bit OS to a 64 bit OS, you can try CrossGrading.
The best part of the link above is the “I told you so” paragraph that states, “A full backup is also strongly recommended as this procedure is still very much work in progress. Reinstalling is still the safer option. You have been warned!”
That said, if you are already using a 64-bit Raspberry Pi OS and want to update it, you would only need to run a sudo apt update and sudo apt upgrade to get to the latest version as long as you are using the Bullseye 64 bit release.
How to check if my Raspberry Pi OS is 64 bit?
When your Raspberry Pi OS boots, open a Terminal and run
This prints out the machine hardware name and if it says aarch64, then you have a 64 bit version. If it says armv7l then you have the 32 bit OS.
How do I check if my Raspberry Pi is 64 or 32 bit?
If you have a Raspberry Pi 1, 2 and Zero, you have a 32-bit Raspberry Pi. If you have the Zero 2, Pi 3, 4 and corresponding Compute Modules, you have a 64 bit Pi. See this table for more info:
|Product||Processor||ARM core||Debian/Raspbian ARM|
|Raspberry Pi 1||BCM2835||ARM1176||arm6hf||32 bit|
|Raspberry Pi 2||BCM2836||Cortex-A7||armhf||32 bit|
|Raspberry Pi Zero||BCM2835||ARM1176||arm6hf||32 bit|
|Raspberry Pi Zero 2||BCM2710||Cortex-A53||arm64||64 bit|
|Raspberry Pi 3||BCM2710||Cortex-A53||arm64||64 bit|
|Raspberry Pi 4||BCM2711||Cortex-A72||arm64||64 bit|
What’s the Raspberry Pi OS 64-bit built on?
According to Raspberry Pi, “The upstream of the 32bit OS is Raspbian (which is just a rebuild of Debian for ARM6 with hard float extensions). The upstream of the 64bit OS is Debian. But both of them have our own sprinkled magic to make it Raspberry Pi OS. Including hardware acceleration.”
Alternative 64 bit OSes for the Raspberry Pis
You’re not stuck to using the Raspberry Pi OS. In fact, there are a few operating systems that have 64 bit versions that work well on the Raspberry Pi.
|Operating system||Purpose||Workaround needed?||Website|
|Ubuntu||General use||Only for Pi 4 with 4/8GB of RAM.||https://ubuntu.com/download/raspberry-pi|
|Ubuntu Core 20||IoT, embedded||Yes for Zero 2||https://ubuntu.com/download/raspberry-pi|
|Ubuntu Server 20.04.3 LTS/ 21.1||Server||Yes for Zero 2||https://ubuntu.com/download/raspberry-pi|
|Ubuntu Mate||General use||No||https://ubuntu-mate.org/download/arm64/|
So, should I use the Raspberry Pi OS 64 bit?
The smoothest way to enjoy the Raspberry Pi would be to use the 32 bit Raspberry Pi OS.
Raspberry Pi has put the most time behind that operating system and so it runs the most flawlessly.
If it ain’t broke, don’t fix it.
Generally, for regular desktop usage, you will probably experience some benefit in performance boost. You will be able to benchmark those performance benefits, but whether or not you will be able to perceive it… that’s a different question.
I mean, the last big performance boost that I could perceive was going from a spinny hard drive to an SSD, so that’s the benchmark of what I’d say is “perceivable”.
Raspberry Pi OS 64 bit on the Zero 2
Till now I have been speaking generally. Among all the boards that can support the 64 bit OS, the Raspberry Pi OS 64 bit might not be suited for the Raspberry Pi Zero 2.
In fact, Raspberry Pi’s Gordon Hollingworth recommended that you used the Lite 64 bit version.
Why? The Pi Zero 2 only has 512MB of RAM and that’s a problem. The Raspberry Pi OS 64-bit does take more memory whereas the 32-bit version is a bit more thrifty.
So, I did the exact opposite of what Hollingworth said and installed the non-Lite version of the 64 bit OS. I turned off the swap file by running sudo dphys-swapfile swapoff and I ran free -h in order to gauge my RAM usage.
The results are in:
|Raspberry Pi OS version||Used RAM||Free RAM|
|64 bit Bullseye||247MB||74MB|
|32 bit Bullseye||184MB||79MB|
Perhaps I have a bit of “range anxiety” with the extremely limited memory of the Pi Zero 2.
Chromium still takes forever to load anything unless you do the swap file mod. And while the swap file mod helped reduce load times, it didn’t save any time as compared to the 32-bit Raspberry Pi OS. Here are the results:
|Raspberry Pi Zero configuration||Time to load PiCockpit.com|
|32 bit no swap mod||45 seconds|
|32 bit with 2048MB swap||16 seconds|
|64 bit with 2048MB swap||16 seconds|
Leave a comment below with your questions and let’s have a discussion!