|
|
Subscribe / Log in / New account

Building an ARM64 laptop

By Jonathan Corbet
September 15, 2017

Open Source Summit
Processors based on the 64-bit ARM architecture have been finding their way into various types of systems, including mobile handsets and servers. There is a distinct gap in the middle of the range, though: there are no ARM64 laptops. Bernhard Rosenkränzer and a group of colleagues set out to change that situation by building such a laptop from available components. He showed up at the 2017 Open Source Summit North America to present the result.

He started by addressing the question of why one would want to build an ARM64 laptop in the first place. The ARM architecture is known for low power use — a useful feature in a laptop in its own right — but there is more to the ARM story than that; the ARM64 chips are fast and can beat single-core Intel Core-M processors on some benchmarks. An ARM64 laptop may not be good for fast kernel builds, but it can do what most people need, and it can do the kernel builds too in the end. ARM processors need no fans, meaning that the resulting laptop is lighter and will not burn the user's legs. There is little or no malware targeting ARM64 systems, for now at least.

Some of the motivations for this device may not resonate for people outside of the ARM ecosystem; Rosenkränzer talked about the ability to do native ARM64 builds rather than cross-compiling on an Intel system, for example. This system is also good for testing ARM64 hardware in the desktop setting — something that isn't really happening. An advantage that many users will appreciate, instead, is the potential to build a more open system. ARM64-based systems don't need any "secret BIOS" or mysterious management engines. That potential isn't fully realized yet, though, because a binary-only bootloader is still needed.

Given that there is value in an ARM64 laptop, he asked, why is nobody doing it? He didn't really answer the question, but did note that there are a couple of Chromebooks based on ARM64 chips. They are a good start, but Chromebooks are not a good substitute for a general-purpose desktop Bernhard
Rosenkränzer system. Their storage is limited, there is no SATA port, the keyboard is minimal, and the 12-inch screen is small. The pi-top is an interesting system, great for embedded use, but is also not well suited to desktop use.

It would be nice to avoid building an entire laptop from scratch, so the idea of replacing the insides of an x86-based system with an ARM64 board has some appeal. It can be done, he said, but this method doesn't scale. There is also the problem that no two laptops are the same inside, so this solution would be tied to a specific laptop model.

In the end, they went back to the pi-top, which does have some advantages. It's not bolted shut, so it's easy to modify. The display is connected via HDMI, and the touchpad is a USB device, meaning that they can be plugged into a different board with relatively little trouble. So could the Raspberry Pi processor in the pi-top be replaced with something more powerful? The answer is "yes", with the proviso that the power supply must be modified to be able to drive a more power-hungry processor. They used a Mediatek X20 board to build a proof-of-concept laptop. It works, but it still lacks adequate storage and has too little RAM.

To do this right, he said, requires a board with a fast ARM64 processor, at least an A72. Naturally, it should have a GPU that does not require binary-only drivers, so no Mali or PowerVR graphics. It needs a SATA or M.2 port so it can provide a decent amount of storage, and enough USB ports that some of them can be made available to the user. Lots of RAM is needed, HDMI output would be nice. And, of course, the board providing all of this needs to be affordable.

Such a board is not really available at the moment. The 96Boards systems are short on storage options. Only the DragonBoard 410c has open graphics, but lacks RAM and has an underpowered (for this task) CPU. The Tegra boards are more capable, but they are expensive and he does not trust NVIDIA to keep them open. The Banana Pi and ODROID boards lack performance. The i.MX8 might be interesting, he said; it has a Vivante GPU that can be driven by the free etnaviv driver, but it's not yet available.

An alternative might be to use a networking board; the MacchiatoBIN has some appeal, for example. It has a quad A72 processor, DDR4 DIMM memory, three SATA connectors, and a PCIe port that can be used for a graphics card. Unfortunately, that PCIe port lacks an aperture large enough to run a proper graphics adapter, so it won't work either.

Finally, though, they found the OpenQ 820. It has a four-core CPU, an Adreno 530 GPU that is "mostly supported" by the freedreno driver, 3GB of RAM, 32GB of UFS storage to hold the operating system, and two PCIe slots. Naturally, there is a snag: it only runs Android and doesn't support "real" Linux. But, Rosenkränzer said, they don't plan to use any of the Android binary-only drivers, so perhaps it could be made to work.

Getting there took a bit of effort. The bootloader for this system wants Android sparse filesystem images; fortunately, the Android Open Source Project has the tools needed to create those. In particular, its make_ext4fs tool can be made to do the job after a few patches are applied; the modified version can be found on GitHub. With that work done, they have an ARM64-based laptop that can boot and run. After fixing a few freedreno bugs, they have KDE running on it, and all of the operating-system packages have been ported. Battery support is still missing, so the laptop must stay plugged in, but that support is almost ready.

As always, there is more to be done. They would like to get away from using the pi-top HDMI interface; if they switched to MIPI the system would use less power, provide higher resolution, and have the HDMI port available for external connections. The problem is that MIPI displays only come in small sizes for now. They would also like to have a better case; the board doesn't quite fit in the pi-top case. Manufacturers are not cooperating, though; they want million-unit volume before they put any effort into it.

The cost of the system is about $600; there are hopes that it can be lowered in the future. Rosenkränzer also hopes that future boards will work better for this application, though he couldn't talk about any specific possibilities on the horizon. He concluded by saying that it's always likely to be some work to make a system. Nobody is trying to build commercial ARM64-based laptops, so it is unlikely that any boards oriented toward that use will appear in the market.

[Thanks to the Linux Foundation, LWN's travel sponsor, for supporting your editor's travel to the Open Source Summit.]

Index entries for this article
ConferenceOpen Source Summit North America/2017


to post comments

Building an ARM64 laptop

Posted Sep 16, 2017 3:56 UTC (Sat) by pabs (subscriber, #43278) [Link] (1 responses)

Here is another ARM64 laptop:

https://www.pine64.org/?page_id=3707

Another company that has been trying to make an ARM64 laptop:

http://wiki.vero-apparatus.com/

Building an ARM64 laptop

Posted Sep 16, 2017 4:37 UTC (Sat) by bero (subscriber, #89787) [Link]

The Pine64 is another Chromebook-like device: good as a portable thing to check your email and browse the web, limited in what else it can do (only 16GB storage and a slow SD card slot).

Vero-apparatus looks more interesting for our purposes, but seems to be based on a SoC that is all but abandoned by its maker. I hope it will become viable at some point (having multiple options is always good) - but doesn't seem to be there just yet.

Building an ARM64 laptop

Posted Sep 16, 2017 15:47 UTC (Sat) by hook (guest, #62261) [Link] (1 responses)

There is also this DIY OSHW laptop made by Olimex:
https://www.olimex.com/Products/DIY-Laptop/
https://olimex.wordpress.com/2017/02/01/teres-i-do-it-you...

Admittedly, it is not shipping yet, but it was showcased already at FOSDEM:
https://olimex.wordpress.com/2017/02/07/fosdem-and-teres-...

and the ARM64 board is already available as well:
https://olimex.wordpress.com/2017/06/05/a64-olinuxino-ope...

Building an ARM64 laptop

Posted Sep 16, 2017 17:03 UTC (Sat) by Henning (subscriber, #37195) [Link]

The Olimex laptop is unfortunately another one which fails on the ground that the article brings up. Too little storage (4Gb eMMC), no SATA and I would probably say just too low on the specs in general. It also seems to use a GPU that require proprietary drives to do anything decent.

Building an ARM64 laptop

Posted Sep 17, 2017 0:28 UTC (Sun) by rsidd (subscriber, #2582) [Link]

For quite a while I used an Android tablet with a Linux chroot and a keyboard-case as my "laptop" (it's still my spare machine). Worked fine for my needs. I don't need binary compatibility with x86, so an arm-64 laptop would be a great idea. Unfortunately the market really seems too small.

Building an ARM64 laptop

Posted Sep 17, 2017 5:57 UTC (Sun) by marcH (subscriber, #57642) [Link] (5 responses)

> ARM processors need no fans, meaning that the resulting laptop is lighter and will not burn the user's legs.

This is backwards. Fanless laptops (and smartphones) are the ones burning legs and hands since they have no other way to dissipate heat. This has nothing to do with the processor architecture; there are many fanless Intel SoCs too.

Building an ARM64 laptop

Posted Sep 17, 2017 9:34 UTC (Sun) by excors (subscriber, #95769) [Link] (2 responses)

See also Nintendo Switch, which has an ARM64 SoC (Tegra X1) and a fan. And that's running at half the X1's maximum CPU frequency, and a third of its maximum GPU frequency.

It seems modern SoCs are far too powerful for sustained use - it's vital to have a good thermal design and then you'll probably still have to throttle it severely. That power is great for burst performance, which helps with typical usage patterns on smartphones, but perhaps not so much for laptops. But none of them should burn the user unless the device is incompetently designed.

Building an ARM64 laptop

Posted Sep 17, 2017 17:22 UTC (Sun) by anton (subscriber, #25547) [Link]

The more powerful smartphone SOCs cannot sustain the performance in smartphones because they cannot dissipate the generated heat. That should be a smaller problem for laptops, which have a much bigger case for dissipating the heat. I have also seen reports of Intel-based laptops not being able to sustain the performance because of lack of heat dissipation, but my own experiments with a Lenovo E31-80 showed that it can sustain the two-core turbo of 2700MHz for at least 10 minutes.

Building an ARM64 laptop

Posted Sep 17, 2017 19:59 UTC (Sun) by marcH (subscriber, #57642) [Link]

Fanless or not, most modern SoCs support peak performance that cannot be sustained over long periods of time and has to be throttled down eventually for thermal reasons. Simply because not all but many many jobs are short, so why not complete them faster and sooner.

> But none of them should burn the user unless the device is incompetently designed.

I think "burn" was meant metaphorically :-) The only thing I meant is: when there's no fan (no convection) then the only way the heat can be dissipated is through the case (conduction). The main article seems to have it backwards; maybe because it was trying to make a... "different" point about performance per watt.

You're being a bit harsh with "incompetently": it takes a lot of complex engineering to extract the most power from a SoC, especially a fanless one, while staying right at the limit before users feel uncomfortable and complain. Example:
https://software.intel.com/en-us/articles/2-in-1-tablet-m...

Building an ARM64 laptop

Posted Sep 18, 2017 5:19 UTC (Mon) by autious (guest, #114303) [Link] (1 responses)

Considering ARM's lower energy use, i could imagine that dissipating the heat generated on a high-end smart phone over the surface of a laptop might be enough to stay fan less without excessive heat?

I'm curious how big the difference in wattage actually is, but a preliminary googling didn't give me any useful results.

Building an ARM64 laptop

Posted Sep 18, 2017 9:49 UTC (Mon) by marcH (subscriber, #57642) [Link]

> Considering ARM's lower energy use,

This world is a bit more complicated than simplistic statements like this.

The ARM ThunderX has a 100W TdP. The x86 Quark D1000 can go configured as low as 1.6mW.

> dissipating the heat generated on a high-end smart phone over the surface of a laptop might be enough to stay fan less without excessive heat?

Yes, but no one is going to underpower a laptop with the TdP of a smartphone. That would be just a waste of ability to dissipate power and limit the performance for no good reason.

If low skin temperature is more important that performance then you can just reconfigure the performance settings, no need to design crippled hardware to stay cool.

Building an ARM64 laptop

Posted Sep 17, 2017 7:44 UTC (Sun) by jani (subscriber, #74547) [Link] (2 responses)

My pet peeve, I wish people would stop using "MIPI" in reference to displays or connections. It's an organization that develops interface specifications. They have several display interface specs, among a plethora of other specs. We don't call Display Port "VESA displays" either.

In this case, they're referring to MIPI Display Serial Interface, or just DSI for short.

Building an ARM64 laptop

Posted Sep 17, 2017 19:43 UTC (Sun) by marcH (subscriber, #57642) [Link] (1 responses)

I find "MIPI Display" to work well, it's a very good trade-off between correctness, terseness and understandability, googlability,..

> We don't call Display Port "VESA displays" either.

Well this wouldn't work because - unlike MIPI - VESA has done more for "displays" than just DisplayPort.

Consistency doesn't matter to branding.

"DisplayPort" managed to create a well known brand out of common nouns by merely dropping the whitespace between the two words. Again it's non-ambiguous, terse and understandable (no acronym). So well done and be it.

Building an ARM64 laptop

Posted Sep 17, 2017 22:25 UTC (Sun) by dtalen (subscriber, #86448) [Link]

In this case it may matter, however. MIPI developed both CSI and DSI standards, so it's ambiguous to just say "MIPI." Bridge chips exist for both standards so it's useful to clarify which you're talking about.

Building an ARM64 laptop

Posted Sep 17, 2017 13:31 UTC (Sun) by ardbiesheuvel (subscriber, #89747) [Link] (2 responses)

The MacchiatoBin firmware can easily be tweaked to get a 512 MB PCIe window for 32-bit MMIO and a 4 GB window for 64-bit MMIO, so if the limited BAR space was the only thing preventing you from using it, you may want to reconsider.

Building an ARM64 laptop

Posted Sep 18, 2017 2:40 UTC (Mon) by pabs (subscriber, #43278) [Link] (1 responses)

Is the firmware open source?

Building an ARM64 laptop

Posted Sep 29, 2017 13:55 UTC (Fri) by StefanBr (guest, #110916) [Link]

It can hardly be more closed than the abysmal clusterfuck of Qualcomm bootloaders/firmware.

Depending on the used processor, necessary firmware files are either not distributable at all (older processors), distributable under problematic terms, or "not yet" distributable [1].

Even if you have everything needed to start the board, you have to load some persistent binary blobs which are totally out of your control. Access privileges of e.g. the RPM are not documented.

The graphics are actually the *only* IP block which has a free driver. The audio DSP
can not even be used with the undistributable binary blobs, not even to speak of a free driver.

So if the reason for *not Intel* is freedom, then you should also say *not Qualcomm*.

[1] https://github.com/96boards/documentation/wiki/DragonBoar...

Building an ARM64 laptop

Posted Sep 18, 2017 5:13 UTC (Mon) by autious (guest, #114303) [Link]

I've long thought that an ARM64 laptop has potential. I'd love to get one that has a higher end ARM64 CPU with a massive core-count and decent graphics.

Building an ARM64 laptop

Posted Sep 21, 2017 13:33 UTC (Thu) by b3nt0box (subscriber, #98698) [Link]

The usual PC vendors will be producing ARM64 Snapdragon based laptops within the next 9 months or so. Microsoft announced an initiative with them to produce laptops with ARM procs and LTE modems. Who knows what hoops you'll have to jump through to get another operating system onto them, but I can only imagine it will be a matter of hours after they go on sale that someone will have Linux running on them.


Copyright © 2017, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds