March 3, 2016

Raspberry Pi 3 Still Essentially a 32-Bit SBC For Now

IMG RasberryPiFoundation copyThe arrival of the $35, wireless-enabled, Raspberry Pi 3, following a similarly 64-bit, $40 Odroid-C2 SBC a few weeks ago, represent a big speed boost for Linux hacker boards but not a sudden switch to 64-bit ARM computing. While the Odroid project offers an Ubuntu 64-bit image for the C2, the default Linux distribution released by the Raspberry Pi Foundation is still 32-bit.

An eventual change to 64-bit ARM firmware is inevitable given the fact that the technology offers significantly improved performance. Pressure will also come from more power-efficient, 64-bit x86 chips. Yet, because of the extensive reworking of code required for the changeover, the Raspberry Pi Foundation will commit only to “considering” a change to 64-bit for the Pi’s default Raspbian distribution in the coming months.

The Raspberry Pi 3 advances to Broadcom’s new quad-core, Cortex-A53 BCM2837 SoC. To ease backward compatibility, the SoC is architecturally quite similar to the BCM2836 of the year-old, quad-core Cortex-A7 Raspberry Pi 2. The Pi 3 delivers 50-60 percent higher performance in 32-bit mode versus the Raspberry Pi 2, claims the Pi Foundation. This is a result of the higher 1.2GHz clock rate, up from 900MHz, as well as other Cortex-A53 improvements.

The BCM2837 is paired with the same Broadcom VideoCore IV GPU found on the Pi 2, although clocked at a higher rate of 400MHz. So, don’t expect any 4K video, let alone high-end VR or deep learning projects from the Pi’s third generation. The Mali-450 equipped Odroid-C2 does, however, support 4K video decoding.

In his Pi 3 blog announcement, Raspberry Pi Trading CEO Eben Upton suggested that open source sensibilities may have trumped multimedia craving in the decision to stay with the VideoCore IV, although cost may also have had something to do with it. “VideoCore IV 3D is the only publicly documented 3D graphics core for ARM-based SoCs, and we want to make Raspberry Pi more open over time, not less,” wrote Upton. (Raspberry Pi Trading is commercial arm of the Raspberry Pi Foundation, and is the principal liaison with manufacturing and distribution partner Element14.)

Aside from the new SoC, the other big Pi 3 news concerns the addition of a Broadcom wireless chip enabling 2.4GHz, 802.11n WiFi and Bluetooth 4.1 BLE. This convenience helps make up for the Pi’s lower clock rate compared the 2GHz quad-core, Cortex-Amlogic S905 SoC found on Odroid-C2. The C2, however, lacks wireless and costs $5 more.

There has been considerable debate as to whether it’s better to have onboard wireless or let hackers choose their own wireless options via USB or Ethernet adapters. Of course, cost is the main consideration, and the dropping price of wireless chips was likely the deciding factor. Cost was further reduced because the Broadcom BCM43438 chip and its single antenna were soldered directly onto the board, rather than using a module approach. Considering the backlash from the lack of availability of the $5 Raspberry Pi Zero, which is now being sold for $45, the Pi Foundation perhaps decided that skipping WiFi in order to drop the price to $30 was not worth the trouble.

Other than the new processor and wireless capability, the Pi 3 is identical to the Pi 2, with the same dimensions, 1GB of RAM, and 40-pin expansion connector. The only layout change is a slight shift in the placement of the LED. You will, however, need to purchase a more robust 2.5A power supply.

Hardkernel, whose family of low-cost, Pi-compatible Odroid boards has proven to be one of the Pi’s biggest rivals, has followed the Pi Foundation’s lead in emphasizing backward compatibility. Aside from the processor update, the Odroid-C2 had relatively modest changes compared to the Odroid-C1+.

The Slow Road to 64-Bit

Aside from avoiding headaches for app developers, the main reason the Pi Foundation is taking its sweet time in moving Raspbian to 64-bit is that performance would likely suffer with only 1GB of RAM. An eventual 64-bit Raspbian release will likely be matched with an option for 2GB RAM. 

Odroid-C2-hardkernel copyThe Odroid-C2 already has 2GB of RAM, which is also available on the $29 “Plus” version of Pine64’s Pine A64, a quad-core, Cortex-A53 Allwinner A64 SBC with a 40-pin Pi-compatible connector. The PineA64 will soon start shipping to Kickstarter backers, and Pine64 is processing new orders for shipment starting in May.

The $15 version of the Pine A64 with 512MB RAM is sold out, but there’s also a $19 version with 1GB RAM that also moves up to Gigabit Ethernet. As with the Odroid-C2, wireless is an extra-cost option, and despite the Pine A64’s larger dimensions, even the top models are limited to dual USB host ports instead of four on the C2 and Raspberry Pi.

The only other 64-bit ARM hacker boards currently shipping are more expensive 96Boards-compatible SBCs, both of which have onboard wireless. These include Qualcomm’s quad-core, $75 DragonBoard 410c and the octa-core, $99 to $129 HiKey.

The move to 64-bit may be slowed by an increasing focus on lightweight Internet of Things projects for the Pi. Element14, for example, announced some IoT accessories for the Pi 3, including a PiFace add-on and a collaboration with IBM and EnOcean on a IoT Starter Kit endpoint-to-cloud framework for the SBC.

ARM certainly believes the change to 64-bit will be a lengthy process. In recently announcing a 32-bit only ARMv8 Cortex-A32 chip aimed at IoT duty, ARM stated: “We can expect a significant number of embedded devices to remain 32-bit for the foreseeable future.”

Still, even if Raspbian and most other Pi-compatible distros take their time moving to 64-bit, we can expect to see some Pi-compatible 64-bit Linux builds in the coming months. One of the first out of the gate will likely be version of Arch Linux ARM, which has run in 32-bit mode on the Pi, but inherently supports ARMv8, 64-bit operation.

Several 64-bit ARM capable Linux distros have become Pi 2 compatible over the last year, including Ubuntu, and more recently, Fedora. These projects may also decide to release a 64-bit image for the Pi 3 if they feel the RAM limit is not prohibitive.

Another possibility may be the Chromium OS project -- the 64-bit ready progenitor of Google’s Chrome OS. A subproject called Chromium OS For All SBC recently expanded beyond the Pi 2 to support the Raspberry Pi Zero, the Chip, and the 64-bit Pine A64. The SBC versions, however, are 32-bit for now.

Finally, the Pi 3 may also accelerate Android’s slow path to the Pi. Even in 32-bit mode, the resource-hungry Android should run much better on the faster Cortex-A53 hardware.

[Editor's note: This article was updated March 7 to reflect the fact that Odroid-C2 does ship with an ARM 64-bit Ubuntu distribution. We apologize for the error.]