System76 built the fastest Windows Arm PC

System76 built their first workstation-class Arm PC, the Thelio Astra, and it's marketed for streamlined autonomous vehicle development.

System76 Thelio Astra - Hero with Launch Keyboard

But I'm not an automotive developer, just someone who enjoys Linux, Arm, and computing. So I was excited to spend a few weeks (which turned into a few months) testing the latest Ampere-based computer to come to market.

I initially ran my gauntlet of tests under Ubuntu 24.04 (the OS this workstation ships with), but after discovering System76 dropped in ASRock Rack's TPM 2.0 module, I switched tracks and installed Windows 11—which went without a hitch!

With that, I spent some time comparing this workstation to the current 'best of breed' Windows on Arm PC, the models based on Snapdragon's X Elite chips. And this thing wipes the floor.

Hardware - Ampere Altra (Max)

But before we get into Linux, Windows, benchmark results, and why I'm not running Pop!_OS, we should discuss the hardware.

System76 Thelio Astra - Rear

The base model costs $3,299—which is in line with most x86 workstation-class PCs, at least in the Threadripper and Xeon W range. That'll get you a 64-core CPU, 64GB of ECC RAM, 500 GB of NVMe storage, an Nvidia RTX A400 Workstation GPU, and dual 10 GbE Ethernet.

But the configuration System76 sent me for review had some upgrades:

  • Ampere Altra Max M128-30 CPU (128 Neoverse N1 CPU cores at 3.00 GHz)
  • 512 GB ECC DDR4 RAM
  • 1TB NVMe SSD
  • Dual 25 GbE Ethernet (on-motherboard, Broadcom NIC)
  • ASRock Rack TPM 2.0 module

This upgraded configuration costs around $7,000—which is the starting price of an M2 Ultra Mac Pro workstation.

Note that you can buy every part of this system—aside from System76's case and support—from a retailer like NewEgg (e.g. the motherboard + CPU combo for $2349) should you wish to build a custom arm64 workstation PC.

Everything is built into System76's Thelio case, which is very solid sheet metal with a design similar to the Mac Pro, where the entire shell slides over the top, revealing the chassis within:

System76 Thelio Astra - Open Inside Cooling Zones

There are three distinct cooling zones—and despite having no mesh or holes in the front (it's a solid facade), there is enough airflow for HEDT-class performance. The top contains a custom metal shroud to guide airflow through the Arctic Freezer 4U-M CPU cooler, directing it's airflow over the RAM and motherboard power regulators to an exhaust fan in the back.

The middle section has a wide metal fan bracket which provides a ton of intake for GPUs and other PCIe devices.

The bottom has an additional 140mm intake fan to pull air up to the GPU area and motherboard, as well as the power supply, drawing air from the bottom.

The result is an elegant, if heavy, case, that maximizes airflow while keeping the system very quiet. During long HPL and Cinebench runs, the noise only rose to a low 40 dB range, and with 140mm and 120mm fans, the sound was not unpleasant.

The default fan curve keeps the CPU down to around 60°C fully loaded, so there's even wiggle room if you wanted to adjust it. It should be noted my initial review unit had a bug in the BIOS which resulted in the fan curve not being applied—so my first tests were literally cooking the CPU to thermal limits!

I saw it hit 99°C a few times, with the CPU pulling 250W, and entire system power draw at 450W, then the system would hard lock up until I pulled power!

Luckily, a firmware update fixed that issue universally, and the proper installation of a system76 background daemon allowed me to tweak things further.

There are three aspects of the case design I do not like, however:

  1. The custom case design includes screwless PCIe slot covers—however, these covers are a bit loose, and besides rattling when transporting the computer, they are prone to popping out whenever you loosen the retention bracket that holds PCIe cards in place. Which is highly annoying when adding or replacing cards in the 4 x16 card slots!
  2. There is no front IO with the current Astra design—and only four USB 3.2 Gen 1 Type-A ports on the rear. So in my use, I needed a USB hub (the first time I've had to use one in a while!). It would be nice to have some front panel IO, even if only one or two USB-C ports.
  3. Unlike the Mac Pro, this case has no handles, and the front edge is flush with the surface it's resting on. This can make picking it up, moving it around, and removing the top case a little awkward. It's not a huge deal, but I do love Apple's case design in that regard, considering you might want to put one of these on wheels and move it around a bit.

Linux (and no Pop!_OS... yet)

The primary reason someone would buy this thing is for automotive development. Since most cars and infotainment systems run on Arm chips, building software with an Arm workstation makes sense—it's a lot faster compiling Arm software and running tests on it natively on a monster Arm CPU than even the fastest AMD or Intel CPU with emulation.

The nice thing about System76 selling this machine is you get their excellent support (you can choose from 1-3 years of support at purchase). This is a huge boon to businesses who elect to run open source software, because they get a fully-supported hardware configuration instead of having to figure out compatibility themselves.

And System76 builds Pop!_OS (and a new COSMIC desktop environment), which is meant to ease the adoption of Linux for desktop use... unfortunately, Pop!_OS is not yet fully supported on arm64.

In lieu of that, System76 is shipping Ubuntu 24.04 (or 22.04, your choice), which has great support for Ampere CPUs already, and in my experience, is the easiest Linux distribution to run when working on various hardware configurations. Arm64 driver compatibility is excellent with most anything made in the last 5-10 years, including graphics cards from AMD and Nvidia!

Performance

To see all my benchmark data, see my GitHub issue on the Thelio Astra. But here are a few selected benchmarks I'd like to highlight:

System76 Thelio Astra - HPL Benchmark Results

Besides the 192-core AmpereOne, which I reviewed late last year, no other Arm machine comes close to the overall performance of Ampere's Altra Max—at least as far as multi-core is concerned.

Single-core, the Neoverse N1 cores are getting long in the tooth, but still faster than any of the common SBC cores (like the A76 and A78).

But multi-core, the Thelio Astra takes advantage of all eight DDR4 memory channels available on an Ampere Altra Max CPU, and propels it past the previous champ, the Adlink Dev Workstation. That machine was limited to 6 memory channels, though it did have a bit more panache, courtesy of built-in RGB fans :)

System76 Thelio Astra - Linux Timed Compile Benchmark Results

I benchmarked a number of things with Phoronix Test Suite, and above are some results for the timed Linux compilation benchmark. This machine obviously scores worse than the AmpereOne, but I left in the fastest current Arm SBC I own (an Orange Pi 5 Max), to show the massive difference you get with 128 cores and enough high-speed memory to feed them.

Eagle-eyed readers will note I have not shown any Threadripper or EPYC results, nor anything x86 at all! That's because core-for-core, x86 dominates on many, if not most, benchmarks, especially current-generation core designs like Zen 5. The Ampere Altra is now 5 years old, and though it still has some fight in it, it can't keep up with 'the big boys'.

That is, unless we change the rules of the game...

Windows on Arm and a Cinebench 2024 WR

System76 Thelio Astra - Cinebench 2024 Benchmark Results

Being the fastest Arm PC means it of course obliterates the fastest Mac Pro money can buy—to say nothing of the puny Snapdragon X Elite I tested in the very-short-lived Dev Kit last year.

But this system is also unofficially the fastest 128-core system on the planet, running Cinebench 2024. At least according to HWBot.org.

I've been attempting to submit a result of 5003 cb, but am stymied by a technicality: The Ampere Altra Max is apparently too exotic to exist in most Windows PC hardware databases, so submissions aren't able to be made!

I've been in contact with the authors of CPU-Z, and am hopeful we can get more results for high-end Arm chips into HWBot soon. We'll see!

It is a bit difficult to overclock these chips, but I can coax a little more performance out of them by cooling them better. I was able to increase the score consistently by 2-3% running the fans at 100%... one wonders if more gains could be had!

But I'm burying the lede—full Windows 11 is running on this machine. And not like "spend 6 hours patching things together to get Windows running", but download ISO, plug in USB stick, and install.

It's been possible to install Windows on Arm to earlier Ampere Altra systems, but a rather annoying process involving UUP Dump was required. Now that Microsoft is finally publishing a Windows 11 arm64 ISO, the process has become much easier.

And x86 software that runs in Windows' emulation mode is still limited to using only 64 CPU cores, but native arm64 versions can address all 128 cores on the Ampere Altra Max. Cinebench 2024 had a bug where it would still only address 64 cores on the Arm version, but that has since been fixed:

System76 Thelio Astra - Cinebench 2024 multi 128 core task manager

Productivity

If Windows can run, what about the vast library of software Microsoft's been touting as native on Arm, like on their new AI Copilot+ PCs?

Well, I loaded up a number of apps, and Photoshop worked great right away:

System76 Thelio Astra - Photoshop running on Windows

Everything ran well, including new AI features like generative AI fill, AI-assisted remove and background isolation tools, etc. It was smooth enough I couldn't really tell a difference from working on my M1 Max Mac Studio (where I normally do work on YouTube thumbnails and graphics for videos).

But I quickly ran into issues launching other applications...

System76 Thelio Astra - OpenGL not found in Davinci Resolve

The problem is, any app that requires GPU support or OpenGL has trouble, because even though from what I've heard Nvidia has working Arm drivers for Windows... none have been released publicly. So no matter what GPU you try, you can't get any kind of graphics acceleration working in Windows.

ASPEED's little BMC chip has a built-in VGA controller, and they even have a Windows Arm driver for it... but despite its best effort, it has no 3D graphics rendering capabilities or GPU compute!

In the video embedded later, I also demonstrated running Minecraft and Crysis Remastered in Windows, but both rely on CPU rendering, which is... just not ideal at all. You could play both games if you enjoy powerpoint-presentation-style gameplay.

Linux Gaming with Steam, Proton, and Box86

Luckily, switching back to Linux solves that issue. Games not only run with 3D acceleration, they run smoothly.

Crysis Remastered rendered out smoothly in 'Can It Run Crysis?' mode, Halo 3 ran just as smooth as an Xbox 360, and Doom Eternal—with Ray Tracing enabled—ran well enough to be playable, though the older workstation A4000 GPU I was testing it with is not meant for gaming by any stretch.

System76 Thelio Astra - Doom Eternal on Steam with Proton and Box86

This is not a gaming machine. But I was able to install Box86/Box64 and Steam using Pi-Apps (it's literally one click to get Steam installed!), and then I could play a number of games; almost anything that runs through Proton can play on arm64 nowadays, and Box32 is now trying to fill the gap with more modern Linux distros which are dropping support for 32-bit packages!

Quirks and Downsides

To paint a complete picture of the experience running System76's first arm64 desktop, I also have to run through some of the quirks inherent to the hardware design, and to running Ampere's silicon:

  • Video card support for arm64 is still not perfect; nouveau really has issues, depending on kernel version and card, and even Nvidia's proprietary drivers can cause weird issues, like a blank screen with just a mouse cursor, or an invisible second display, and debugging these problems can become challenging, since the ASPEED BMC also supplies a built-in VGA display... which can sometimes confuse both Windows and Linux when you're sorting out driver issues!
  • AMD GPUs have a text artifacting bug that requires a patch to the amdgpu driver to fix. It didn't seem to break my experience using the machine, but it's just another quirk to deal with on arm64.
  • There are still very few people running arm64 in a 'professional' manner like through this workstation. So you often have to convince people that yes, you're using arm64, but no, you're not dealing with a puny SBC like a Raspberry Pi. It leads to some interesting support tickets, though, especially for Windows devs who were led to believe Snapdragon is the penultimate Windows on Arm processor :)

Video and more

If this blog post wasn't enough, I have a full video where I go even more in depth, and give a better idea of how well games and applications run under both Linux and Windows. I also go into more detail on my GPU upgrades and some of the random bugs I ran into (and how I resolved them with System76's help). You can watch it here:

Thank you to System76 and Ampere for providing the hardware and supporting my three months of testing, leading up to this review. And thank you to Micro Center for providing two workstation graphics cards for more testing.

System76 also recently sent over an Nvidia RTX 4080 Super, and I will be installing that and trying to resolve some lingering issues with Blender and Steam.

My biggest takeaway: Microsoft is missing out on a lotta fun. They need to convince their hardware partners to start supporting Arm64, if they want any chance at catching up to Linux for arm64.

If you're interested in the Thelio Astra, you can configure and buy one on System76's website.

If you made it this far...

If you like the idea of me writing these ad, cookie, and tracking-free blog posts... would you consider sponsoring my work on Patreon or GitHub?

Comments

How are you getting smooth video capture in OBS on linux? I've found it to be quite problematic, even with Pipewire. Lots of audio snaps and crackles and pops.

Jeff, if you were to recommend an ARM PC for gaming under Linux, what specifications/chips/motherboards/etc would you recommend? You pretty much specify that this system is overkill/not necessarily "for gaming", but what would be? It's clear that there are a lot of benefits to moving to ARM and the future is only looking brighter.

Right now outside the Ampere systems, most of the other Arm chips available have even more PCIe bus quirks that make running dedicated graphics (a prerequisite for good gaming) difficult. The Pi 5 is honestly not bad for slightly older games, but even still... a little PC running a generation or two old AMD or Intel chip is going to give even better gaming compatibility and performance.