System76 unveils ARM Ampere Altra workstation

System76, purveyor Linux computers, distributions, and now also desktop environments, has just unveiled its latest top-end workstation, but this time, it's not an x86 machine. They've been working together with Ampère to build a workstation based around Ampère's Altra ARM processors: the Thelio Astra. Phoronix, fine purveyor of Linux-focused be

https://www.osnews.com/story/140961/system76-unveils-arm-ampere-altra-workstation/

#Hardware

System76 unveils ARM Ampere Altra workstation – OSnews

@osnews PSA from an owner of a custom Ampere Altra workstation: gpu/graphics choice is limited and affects OS choice! There is a reason System76 chose a NVidia gpu.

The Ampere Altra has a PCIe bug that causes problems with AMD gpus and the linux amdgpu driver, requiring an out-of-tree linux kernel patch that is sporadically maintained and unlikely to ever be upstreamed. (chimera-linux.org is the only distro that ships with this patch applied) The amdgpu drm driver maintainers have expressed no interest in working around this bug within the driver itself either.

Remember that this driver ends up in FreeBSD and OpenBSD too! Personally a Polaris generation gpu has worked with stock OpenBSD 7.6 kernel because the kernel handles device memory mapping differently than linux and doesn’t seem trigger the PCIe bug. With a newer Navi 2nd gen gpu, the bug interrupts firmware loading in stock OpenBSD. It can be worked around, but:

There is also an issue where Vega and newer gpus require cpu hardware floating point math in the kernel driver code which wasn’t supported on arm64 until drm in Linux 6.2. The most recent releases of FreeBSD and OpenBSD are either on an older drm than that, or haven’t ported the hardware floating point code within the kernel driver on arm64 yet. So even if you get the Navi firmware to load, you don’t get any farther than that (Display Core requires the fpu code).

Nvidia supports arm64 with their closed source driver and is unaffected the PCIe bug (or works around it, depending on what you read, but the code is secret so 🤷) but no BSD for you! They only have Linux arm64 drivers. The older cards supported by nouveau will also get you nowhere on BSD.

Also note that Nvidia DOES NOT ship an arm64 option rom GOP driver for EFI console graphics on any of their cards. Your motherboard/platform could provide an emulator in the UEFI firmware to use the x86-64 GOP driver (my Asrock motherboard doesn’t.) Polaris AMD gpus didn’t include arm64 GOP in the rom, but the 2nd gen Navi DOES. So you can get boot console on it but only working OS graphics on patched linux 🫠

#bsd #openbsd #amdgpu #amdgraphics #linux #arm64 #armlinux #nvidia #nvidiagpudisplaydriver #ChimeraLinux #amperecomputing #amperealtra

@methoxyf @osnews Thanks for the excellent reply! I've added a link to it as an edit to our story!

@thomholwerda @osnews Thanks! It should also be noted that the q64-22 (what I have too) is a 64 core with max 2.2 GHz clock. It will idle clock down to 1.0 GHz for power efficiency. But it does not boost ABOVE 2.2Ghz for single- or few-core loads like some Intel Xeon workstation CPUs do when there is thermal headroom, i.e. Turbo Boost. This is a true server cpu designed for multi-core workloads.

That said, it still makes a cool workstation imho

@methoxyf @osnews good news is that i own that same hardware so i don't plan to stop maintaining/applying the patches :p

(but yeah, pcie on arm is a neverending cursed story, and the amdgpu kernel driver quality being pretty bad and regressing all the time is no fun either, i have an intel dgpu working almost perfectly with the little issue that it kills the compositor after about 1 minute of operation)

@q66 @methoxyf @osnews Do you have a git branch or someplace where you're maintaining the patch (and/or documenting how you have the Intel GPU working?). I have a few AMD cards, and an Intel Arc A750, would like to test them in the Thelio Astra.
@geerlingguy the patches chimera is applying to the linux kernel are in https://github.com/chimera-linux/cports/tree/master/main/linux-stable/patches
cports/main/linux-stable/patches at master · chimera-linux/cports

Chimera ports collection. Contribute to chimera-linux/cports development by creating an account on GitHub.

GitHub
@methoxyf @osnews Upstream Linux really ought to just take the patch. Yeah, the hardware is broken, but if one needs emulation as a workaround then so be it.