20i.com Blog

I ❤️ ARM

A 20i Platform Developer gives his personal opinion on his latest hardware purchase and the future of ARM.

We’re all shopping a little bit more online during lockdown.

I’ve recently replaced my trusty old Google/Samsung Chromebook Pixel 2. After well over 5 years of use, my old faithful finally died.

Chromebook Pixel 2
Old faithful

I was sad to see it go – but I’m not too sentimental about machines. So I replaced it with a much cheaper model, and I hate it.

The device is actually perfect for the Chromebook part of its replacement – indeed I am using it right now (Google Docs, obvs). But it’s the hardware that’s letting it down. The Pixel 2 was a developer device, and as such it was easy to boot from the USB and whatnot.

But before this post becomes a Chromebook-off: it’s not. It’s more that my new device’s developer failings got me searching the internet for something new to play with, and I came across this: PINE64.

Open source hardware

Simply put, it’s an open source hardware/software combination of various flavours of Linux, SBCs (single board computers) and other smaller bits of hardware (eg, cameras).

PINEA64+ Single Board Computer
The PINEA64+’s Single Board

They can be assembled together for whatever purpose you have – much like the Raspberry Pi. Their focus is the ARM64 architecture.

After reading reviews – https://www.jeremymorgan.com/blog/linux/pine64-pro-laptop-review/ being the clincher – I decided to buy myself that laptop (it’s on its way, UK edition).

After playing around a little bit with qemu-system-aarch64 (ARM64 in qemu), I’m now just patiently waiting for my laptop to come.

PInebook Pro
Pinebook Pro laptop

Cupertino bombshell

And then all of a sudden I am reminded of my purchase again! Only a couple of weeks after finding PINE64, Apple announces it is going to ditch Intel for ARM (more precisely, Apple Silicon – licenced ARM). Just like it did PowerPC for Intel back in 2005.

Now this is where I got excited.

I’m not an Apple fanboy (they produce very nice hardware and software, and it’s UNIX under the hood, what’s not to like?), but I like a more open source world (ChromeOS and Linux at home). But when a company the size of Apple decides to drop Intel for ARM, you know they’ve done the math, and it makes sense.

Intel’s x86 architecture is old (well, they both are: 1968 vs 1978) but because x86 never got subject to the low power, high efficiency life that ARM did (plus other bloat), x86 got ‘fat’ and ARM got lean. 💪

So why am I so excited?

I think Apple moving towards entirely ARM compatible Macs and Macbooks will drive the ARM SBC market forward for developers (it’s difficult to develop on architecture X for architecture Y).

Hopefully that will be in a way that will lead to there being releases/hybrids/OS projects of Apple’s collections of OSes finding themselves running on boards like the RockPro64 (inside the Pinebook Pro).

Demand for these boards will go up, prices will come down (even more), components will become cheaper, and the whole ARM ecosystem benefits from having a giant player suddenly on board.

And if you’re a Linux guy (like most people here at 20i), we’re very, very well catered-for when it comes to ARM64 Desktop OSes: Debian and Fedora both have lovely graphical desktops.

Also, don’t forget the world’s fastest computer – is ARM.

Fugaku Supercomputer from Riken
The Fugaku Supercomputer (copyright: Riken)

Servers next?

And that brings us on to servers. We love our current server setup that makes use of x86 Intel processors – they allow us to provide the lightning-fast web hosting we’re known for.

But I’m looking forward to more competition in the market. Who knows what the future brings for ARM?

I can’t wait.

4 comments

  • Nice sentiment and I agree that ARM has a bright future and AWS EC2 Graviton is further evidence of how the industry is moving towards that architecture…but you have to understand that Apples ARM implementation is essential a fork of the ARM Cortex-A9 (they called the A5). However that all changed when they made their own SoC with A6 and made the leap to 64bit which was a by product of making their own SoC with GPU and other features on chip because….well why not whilst you’re re-architecting everything else right?
    This has meant the Apple SDKs are unique to the Apple silicon and is why they’ll not be ported to other ARM CPUs sadly.

    This has given them a huge leap frog to the competition that’s running “traditional” ARM CPUs.

    There’s an article here that’s interesting: https://www.imore.com/mac-moving-apple-silicon-not-arm

  • A snowball’s chance in hell that a future MacOS will ever run on anything other than Apple Silicon.

    Comparing ARM64 to Apple’s custom designs is meaningless. It’s an opportunity for Apple to lockdown their hardware and software stack completely, as per their existing iOS devices.

    The most apt comparison would be booting iOS on ARM64, because, y’know, they’re both ARM. Has that ever happened?

  • “I think Apple moving towards entirely ARM compatible Macs and Macbooks will drive the ARM SBC market forward for developers (it’s difficult to develop on architecture X for architecture Y).”

    What’s the difficulty? Every iOS app (ARM) in the world was developed on a Mac (x86). I’ve never heard of anyone having a CPU architecture issue.

    Compilers work. ARM and x86 are even the same endianness, so even careless low-level programmers (is that an oxymoron?) don’t have to worry too much.

  • Great opinion piece. I recently blogged about this topic too, and touched on some of the same points. I went into a bit of detail on ARM in the server market, specifically with AWS’ graviton processors. You can read more about that here: https://www.shogan.co.uk/arm/this-blog-runs-on-arm-microarchitecture/

    It’ll be interesting to see what happens over the next few years. I think there’ll be a fairly big change for the server market as well as consumers. Also, what will change at AMD and Intel? Will they bring out their own products based on RISC-V, or will they stay with x86?

rh20i

Ricky Hayes is a Platform Developer at 20i.

Visit the 20i main site