Having trialled a beta version over the last year, Raspberry Pi has now opened up its 64-bit OS more widely. The company now offers the new OS to those who need the extra functionality that 64-bit provides but said it will continue to support 32-bit as long as it can, so that both beginners and advanced users can choose what option they want to use.
The Armv8-A architecture, which encompasses the 64-bit AArch64 architecture and associated A64 instruction set, was first introduced into the Raspberry Pi line with Raspberry Pi 3 in 2016. Gordon Hollingworth, Chief Product Officer of Raspberry Pi, said, “From that point on, it has been possible to run a full 64-bit operating system on our flagship products, and many third-party operating systems are available. However, we have continued to build our Raspberry Pi OS releases on the 32-bit Raspbian platform, aiming to maximize compatibility between devices and to avoid customer confusion.”
Speaking to embedded.com, Hollingworth said that beginners and developers now have options. He commented, “We will continue to support 32-bit as long as we can, but people have the option to choose. They can choose 64-bit if that is the functionality they need, but 32-bit is still good for beginners.” He also emphasized that the idea is to deliver an OS that just works. “I try to provide an OS that beginners can use.”
The table below helps towards understanding the architectures of the products in the Raspberry Pi portfolio. Using arm6hf (Raspbian’s derivative of armhf with ARMv7-only instructions removed but floating-point instructions retained) provides an operating system which will run on every device it has ever manufactured, all the way back to 2011.
Hollingworth said, “But we’ve come to realise that there are reasons to choose a 64-bit operating system over a 32-bit one. Compatibility is a key concern: many closed-source applications are only available for arm64, and open-source ones aren’t fully optimized for the armhf port. Beyond that there are some performance benefits intrinsic to the A64 instruction set: today, these are most visible in benchmarks, but the assumption is that these will feed through into real-world application performance in the future.”
But that is not the case, as while 64-bit gives you double the address space and theoretically means the compiler can be more efficient and the code can run faster, in practice that isn’t the case. Hollingworth said a more theoretical concern is that 32-bit pointers only allow you to address 4GB of memory. “On Raspberry Pi 4, we use the Arm large physical address extension (LPAE) to access up to 8GB of memory, subject to the constraint that any process is limited to accessing 3GB (we reserve the top 1GB of the virtual address space for the kernel). Very few processes require more memory than this: happily Chromium, which is probably the most memory-intensive application in Raspberry Pi OS, spawns a process per tab. But some use cases will benefit from being able to allocate the entire memory of an 8GB Raspberry Pi 4 from a single process.”
The 64-bit version of Chromium, installed by default, has no version of the WidevineCDM library and therefore, it is not possible to play streaming media such as Netflix or Disney+. But this can be fixed by switching to the 32-bit version with simple instruction in the terminal window, and can similarly switch back to 64-bit as needed.
The 64-bit Raspberry Pi OS can be downloaded here.
- Raspberry Pi designs its own MCU along with $4 board
- Sfera Labs launches I/O module based on Raspberry Pi RP2040
- Tesla Model X hacked with $195 Raspberry Pi based board
- The top single-board computers in 2021
- Mikroe sensor click board can take the pressure for $25