[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Is an ARM computer a good choice? Which one?



I also have an Acer Chromebook that's aarch64, bought because it was Arm to replace the Pinebook.  Chromebooks are weird but it does a little Debian Bullseye running under Chrome OS.  It runs for days on a battery charge, quite fun compared to the usual Intel/AMD power hungry  beasts.

On Mon, Mar 20, 2023 at 11:21 PM Paul Wise <pabs@debian.org> wrote:
On Tue, 2023-03-21 at 00:34 +0100, Lionel Élie Mamane wrote:

> Would an ARM-based machine be a good freedom-respecting computer to
> run Debian on? I read the Raptor/Power guys saying modern ARM has
> freedom problems in a, but I haven't seen them go into specifics.

It depends on what you mean by freedom-respecting. All of the major
ARM SoC vendors now have libre GPU drivers (inc IMGTEC). There may be
various minor drivers that aren't free though depending on devices.
For example sometimes GPS on smartphones uses a proprietary daemon.

Firmware on the other hand is a different matter and quite varied.

For example, the RPi devices start the VideoCore GPU first, proprietary
firmware then starts the ARM cores, then starts the ARM boot process.
The LibreRPi folks are reverse engineering this firmware and maybe also
the other cores on the SoC, which are all different ISAs. In addition
there is some DRM but that turns out to be easily bypassed.

https://github.com/librerpi/lk-overlay/
https://github.com/librerpi/rpi-open-firmware/blob/master/docs/cracking-rpi4-hmac.txt

On lots of other devices (esp SBCs), the ARM core starts first and its
bootrom loads libre bootloaders like u-boot, which load Linux.

On other devices, especially laptops, use UEFI, which is usually a
vendor fork of TianoCore EDK2, possibly not published. There are some
devices that can run mainline libre edk2+edk2-platforms, but the latter
is not available in Debian yet so you would need to package it.

https://github.com/tianocore/edk2-platforms/

Outside boot firmware, most firmware will be proprietary on ARM, just
as it is on x86 or any other platform except the ones where there have
been intensive reverse engineering efforts like RaptorCS POWER devices.

On mobile devices, look at PinePhone, Librem 5 or MNT Pocket Reform,
other devices have less mainline Linux support or worse freedom issues.

https://wiki.debian.org/Mobile

On laptops, probably the Apple ARM devices are the fastest, but
mainline Linux isn't yet suitable but is gaining ground quickly.
I think there might be some blobs during the boot or something and
the different page size for Apple ARM devices might be a challenge.
Otherwise Lenovo and other vendors have some ARM laptops. Or
there is the PineBook or MNT Reform for more esoteric devices.

https://asahilinux.org/

Not sure about ARM desktops. ARM servers seem problematic, IIRC the
arm64 ones Debian uses for buildds are unstable and the potential
replacements are way too expensive. Not sure of the status here.

> Will popular Debian software "generally work"

There aren't many open bugs tagged as affecting ARM ports and most of
them look like build related failures rather than not working. Probably
folks don't bother to usertag their ARM-only bug reports though.

https://udd.debian.org/cgi-bin/bts-usertags.cgi?user=debian-arm%40lists.debian.org
https://wiki.debian.org/Teams/Debbugs/ArchitectureTags

There are of course various build/test issues on ARM ports too.

https://buildd.debian.org/status/architecture.php?a=arm64
https://udd.debian.org/cgi-bin/ftbfs.cgi?arch=arm64
https://ci.debian.net/status/failing/?arch[]=arm64

> I don't particularly want to get deep into being a porter

Personally I think users of every non-amd64 port should consider doing
porting work to keep their ports viable, since your personal package
set might not be on the radar of vendors like ARM or other users.

In case you do, we now have a document about the different ways to
contribute to creating new ports (it applies to existing ports too).
Some of the steps may be missing for existing ports, for example all
of the ARM ports are missing a page based on the status template.

https://wiki.debian.org/PortsDocs/New
https://wiki.debian.org/PortTemplate

--
bye,
pabs

https://wiki.debian.org/PaulWise


--
-------------
Education is contagious.







Reply to: