Ask HN: ARM-based Linux laptop business?

17 points by mr_puzzled ↗ HN
This is at the "is this even possible" stage. So the end goal would be to build a completely FOSS laptop using Risc V with zero proprietary blobs but after briefly exploring Risc V, the ecosystem is still way too early to build anything for consumers/enterprises as someone new to the space. So that's why I want to start with ARM.

Note that I have zero experience doing any of this. My questions:

- How well does linux run on ARM based processors? Will the existing x86-64 software/packages run by recompiling from source or are there any additional complications in porting software over. Will KDE/Gnome run out of the box? How is GPU support? Looking at Raspian, the situation seems encouraging.

- How do I go about learning about the hardware and software areas of building an ARM based laptop? Recommended resources?

- How is ARM based processors' security track record compared to intel and amd's lineup? My brief googling suggests it's better and ARM does not force the usage of a ME/PSP.

- Imagine I could buy a thinkpad x1 carbon like system with an ARM based cpu, install ubuntu and start using it like how one would use the x86 version. Would this even be possible? What are the potential speedbumps?

- How do I actually design a laptop? Maybe start with an off the shelf solution like clevo?

Any and all advice is welcome. I know I am grossly unqualified to do any of this, so please be kind.

14 comments

[ 3.1 ms ] story [ 48.4 ms ] thread
1) You need to decide whether you're building a laptop to play with or to sell. Consumers in the main don't care about FOSS, RISC, ARM, blobs, etc. Most of the netbooks were returns.

2) I get the impression from your lack of focus that you're either ADD or bipolar. Work on that before starting a business, which will consume 100% of your available energy.

You might mean well, but I find your second point to be inappropriate. I don't think a qualified medical professional would arrive at those mental health outcomes solely based on a short post about Linux + ARM laptops. The lack of focus you perceived seems pretty standard for the "hey, I want to do this, but I'm not sure how!" state.
There are plenty of design services in China. I would probably try getting in touch with the people building the Purism laptops and phones.
Look up the Novena laptop project. It was an ARM-based, completely open source laptop created around 2015 by Andrew “bunnie” Huang and others. He wrote about his experience in designing and manufacturing it in his book “The Hardware Hacker”.
Something close to what you have in mind is the Novena built by Bunnie Huang (if you haven't heard of him, he's a reputed guy in the DIY electronics and reverse engg space). There are extensive hardware and engineering details about it in his blogs[1] and wiki[2].

Ben Heck did a 3-part video series actually building one[3]. You might find all three links useful for the hardware and build aspects.

Pinebook is another laptop-friendly board [4].

One difference I can think of is that x86 architectures tend to be modular and standardized. You can look at any x86 laptop PCB and guess the buses and standards being used between components like CPU, chipset, RAM, GPU, and peripherals. In contrast, every ARM vendor seems to have its own proprietary architecture and everything - even the GPU - is hidden inside a single system-on-chip. This is one reason for those blobs - only the vendor knows how to interface to those internal details.

Another difference I've noticed is that popular peripheral interfaces like SATA and PCIe are rare in the ARM world. Some Odroid boards support SATA hard disks, but I have not come across any popular board that supports PCIe. ARM boards tend to use flash or eMMC - performance is always better with eMMC. If you want an x86 like experience, go with a board that supports atleast eMMC if not SATA.

An entirely different approach may be looking into ARM server architectures. I don't know anything about them, but I'd expect them to be a lot more standardized than embedded boards.

If I were doing this for myself and didn't want a Novena, I'd buy an existing pre-built board like Odroid or i.MX6 board and build a laptop body around it. I can't think of any good approach for blob-free, except tedious reverse engineering.

[1]: https://www.bunniestudios.com/blog/?tag=novena

[2]: https://www.kosagi.com/w/index.php?title=Novena_Main_Page

[3]: https://www.youtube.com/watch?v=WaOP1orfeqI

[4]: http://wiki.pine64.org

RISC-V cores available today are at the same performance level as low to mid-end Android phones. That's also enough for a decent laptop, assuming you're not trying to set any performance records.

Access to a GPU is far more important for consumer devices than anything to do with RISC-V vs ARM in the CPU core(s).

As are things such as DDR RAM controller, ethernet, WIFI, and USB.

That's assuming you want to develop an SoC for your laptop.

If you want to use an existing SoC then possibly one of the best bets at the moment would be to use the Amlogic S905 quad core 1.536 GHz ARM A53 used in the Odroid C2. It was designed for set top boxes rather than phones or PCs, but as a result it has very good graphics and video support.

I don't know where you can buy the raw chips, but there a lot of pretty cheap boards and devices using them on aliexpress e.g. https://www.aliexpress.com/item/MECOOL-M8S-Plus-DVB-T2-TV-Bo...

For what it is worth ARM is proprietary and has binary blobs. The Raspberry Pi depends on them. RISC V is a different and open source architecture with the potential to build systems without dependencies on closed source. From a practical standpoint, RISC-V is probably still a bit away from forming the basis of a practical laptop.

Making a Linux laptop is orthogonal to RISC-V (or ARM or Intel). It's going to cross shopped against Microsoft and Google and Apple. Even with open microcode, the big feature difference is at the operating system...people buy software first and hardware second (at best). If you have a solution to the problem of selling Linux, pivoting to different hardware like RISC-V becomes a purely logistical matter. If you don't have a solution to selling Linux laptops, then it doesn't matter what hardware it runs on. If the goal is to get beyond one and done Kickstarter scale, then sustainable sales of Linux is the hard problem. Good luck.

I think you can play with this first

https://pi-top.com/products/pi-top

my 2 reasons of not using arm based linux laptop:

1. no sublime text aarch64 build (this is my major text editor)

2. trackpad driver is too bad on linux.

What will be the advantage of an ARM based laptop?
Hi I don't know much about computers or prrograms. My laptop was hacked. I been trying to look for clues and Mibbit is in alot of the logs ,info could it be used to hack.
I have been thinking about making such a laptop as well. Some random notes:

1. IMHO, most software is crap that is only tested on i7's with 16GB of RAM. It will likely be slow on everything that has lower specs.

2. ARM =/= RISC V. ARM is a company (which has its own family of ISA's), RISC V is an open ISA. I think ARM is more mature. Anyway, you'd probably want a relatively high-end ARM processor (see point 1).

3. Perhaps a good point to start is the raspberry pi. There are plenty of tutorials on building an OS on it. This also helps you to understand the GPU.

4. One problem is that repositories for package managers focus on x86 (or x86_64) binaries. The ARM repos contain less binaries, so your favorite software may not be in there.

5. It seems that there are not many 64-bit OSes for ARM. I have tried installing Arch Linux on a chromebook and it works pretty well. Potential problem: it's hard to find the right drivers, if they even exist.

6. You probably need a degree in electrical engineering to design a laptop motherboard. I don't know about manufacturing it (or rather: getting someone to manufacture it for you), but it's probably nontrivial.

7. Bringing up Linux on a new motherboard is hard (from what I heard - I have never attempted something similar).