Running DOOM on ARM? Old hat. Running Doom (2016) on an ARM SBC? Well, that’s a bit more interesting, and [Interfacing Linux] shows us how with this handy guide, and in a video embedded below.
The ARM SBC in question is the Radxa Orion O6, which claims to be the world’s first open source ARMv9 motherboard. It has a 12-core ARM9.2 SoC from Cix, and crucially for gaming, a PCIe x16 slot to fit a graphics card. There’s onboard graphics in the SoC, of course, but that’s only going to cut it for old DOOM, not Doom (2016).
Obviously there is no ARMv9 build of this nine-year-old classic. Thus, a certain degree of hacking is required. An x86 emulation layer called FEX is used to run Steam, which includes the Proton compatibility layer to sit between the Linux system and the Windows system calls the games are making.
So, again: Windows games, running via a compatibility layer on a Linux system running on an x86 emulator, running on another Linux system, running on ARM hardware. Yeah, we’d call that a hack, and just possibly cursed. The amazing thing is that it works. As long as you use a PCI 3.0 graphics card, anyway; apparently newer ones don’t work, or at least not the one [Interfacing Linux] had to try. (Some report better luck with newer NVIDIA cards.) Which is a pity, because every game tested is GPU-throttled on this system. Considering the CPU should be handling all the emulation, that just goes to show how GPU-heavy even 10-year-old games are.
[Interfacing Linux] seems to enjoy running things where they should not; we just wrote up their SteamOS console.
This isn’t the first time a Radxa board has shown up on Hackaday either, but they don’t seem to be nearly as popular as the fruit-flavoured competition for the sort of projects we usually see. If you’ve got a good project using one of these powerful ARM boards– or anything else, don’t hesitate to send us a tip!
I don’t care too much about Linux support here,
but sort of an ARM reference motherboard that gets popular could be an enrichment to all of us. Thumbs up!
Windows IoT, 11 or RISCOS could benefit from it, too, maybe.
This could be an alternative to using Raspberry Pi, a popular but weak ARM “board”.
“Raspberry Pi, a popular but weak ARM “board” ” Disagree.
Popular, fun, supported, documented, get the job done “board”(s) is more like it. Just say’n. :)
And of course Linux is the obvious OS of choice when running on any ARM, Risc-V… and x86_64 desktops/servers/laptops/etc. too IMHO :) unless you need a small real-time kernel (like freeRTOS) for some special project.
Of course you disagree. You always do/did. :)
IMHO: The Raspberry Pi was designed as a experimental board, sort of an cousin to the Arduino Mega.
It wasn’t originally designed as a PC motherboard, however.
The original use case was to run Linux in an embedded environment, not in a general-purpose computer with a desktop OS that acts as a daily driver.
This board here is like an PC/AT compatible x86/x64 microATX mainboard, in terms of its purpose.
Or, maybe, comparable to the older AmigaOne mainboards with Power PC processors.
If this motherboard caughs on, in short, others might follow.
The Raspberry Pi is (was) nice, but barely compatible within its own series.
Self-booting projects had to support each model especially.
The Pis also contain proprietary code blobs in their graphics chip, if I remember correctly.
Or let me put it this way, Linux needs no new permanent home.
It wanders around and shares bed with everyone.
Binary compatibility is secondary, I mean.
Not so with, say, RISCOS (ARM only), Windows 11 (x64, ARM) or macOS (x64, ARM).
Thes OSes are looking for a new home platform, basically.
Windows/macOS because their x64 days are numbered and because they have their own x86/x64 emulation keeping care of existing applications.
RISCOS is running fine on Raspberry Pi,
but would benefit from a full-scale desktop computer with expansion slots and classic ports (RS-232, LPT).
That way, RISCOS would regain computery things lost since days of Arthur, Archimedes and RiscPC.
But why use ARM which is controlled by a single corporation when you can use open-source RISC-V CPUs that can be made by anyone.
Realistically, because ARM licenses(at least for various IP blocks, architecture licenses are a different matter) appear to get handed out for a relative pittance by the standards of anyone actually considering the costs of spinning an IC; and the currently available RISC-V hardware appears to be either very special purpose or frankly kind of anemic(and the actual implementation of the ISA is often totally proprietary; not that it necessarily matters given the sort of tools and expertise needed to modify a piece of silicon after the fact).
Unless you are pretty specifically talking about what FPGA softcore to use, or are in the markedly different position of deciding to design a SOC rather than looking for a system to buy, the fact that the ISA is open source is several steps removed from you.
More depressingly, there’s also the (increasingly pervasive) ‘hardware root of trust’/’security engine’ that seems to be an increasingly standard feature; sometimes architecturally integrated, sometimes kind of tacked on with control over just a handful of chokepoints in the boot process: it’s depressingly likely(especially outside of PCs, where there are strong vendor incentives to care about minimizing compatibility-related support costs and much weaker ones to care about someone’s vision of an inescapable ecosystem of trusted computing) that the question of who owns that subsystem is the question of who owns the computer.
There are several companies making motherboards for Ampere CPUs if you want a high end ARM workstation or server.
There doesn’t seem to be much in between the cheap single board computers and high end workstations though.
+1
That’s what I meant by reference platform.
The Raspberry Pi caused competitors such as the good old Orange Pi.
Maybe this, err, “entry class” ARM motherboard can do similar wonders.
Maybe it’s just naive thinking, but being optimistic is worth a try. :)
Pick a better company, Radxa are awful at support and some of their stuff has had zero, nada, nothing other than the stuff that was published at launch.
Maybe the Raspberry Pi foundation could do a better job…
This is what I thought too but really it’s more they are bad at documenting what’s available, most of it is hidden on Github without any links to it on their website.
I have the Rock 5B+ and there’s more available on Github than they list on the device page and when digging deeper it’s like this for most of their hardware. Much development goes on in the background.
It’s honestly kind of a hard niche to justify. Ampere basically exists because of hyperscaler interests(both the not-strictly-technical ‘show of viability when talking to Intel or AMD about discounts’ and technical details like its large pool of single-threaded cores with relatively stable clocks being good vCPU material); and single-socket Ampere boards are cost effective and have something vaguely approaching mature firmware(in terms of things like booting an OS not being a heroic porting adventure; or there being about 6 vendor-validated PCIe devices that actually work) because of the shot at the hyperscale market justifying a lot of the R&D and rough edge smoothing.
SBCs, for their part, are sensible both because they start meaningfully smaller than PCs do; and because they can draw on the wide variety of ARM application processors that get stamped out in enormous volume; just put on boards that aren’t actively hostile to I/O.
In the middle, though, life is tough. turns out a lot of the more middling ARM designs aren’t necessarily any better in efficiency terms than x86s(especially if you want a desktop-tier memory controller and PCIe root complex); and the most credible ARM entrants are either Apple, who will sell you a pretty compelling mac mini but has negative interest in being part of some sort of tinkerer’s matx ecosystem; and some Chinese outfits whose work appears good enough to be interesting; but whose sovereignty-focus makes availability and compatibility pretty secondary.
I have one of these boards on the way.
My main interest is in the NPU (which is advertised as capable of 35 TOPS).
By the sounds of it though, the support for it isn’t quite there yet (last I checked, you had to sign up to get access to the SDK).
Some good content here for those interested:
https://forum.radxa.com/c/orion
This article makes it seem like PCIe 3.0 is the bottleneck, however it isn’t a terrible one, maybe 2%-10% depending on the game and resolution. The Radxa board does seem to be “limited” to PCIe x8 4.0. and given this is ARM emulating x86 we are talking about the bottleneck is likely to be in the drivers, some call that has a negligent overhead on real hardware going 10x slower may not seem too bad, but if the driver makes that call thousands of times it adds up.
Yah, thats an RX570, x8 PCIe isn’t going to hold it back much, it’s not exactly a speedy card as is, maybe 20% faster than the RX6400, an entry level laptop chip that has only PCIe 4.0 x4 (AKA the same maximum bandwidth as 3.0 x8 ). Also the RX6500XT has the same die and bus limitation and is faster than the RX570
I did this on a SolidRun LX2K a few years back and got an article published on here I was unaware of for years LOL. As long as you have a decent clock speed and a supported GPU, you can run some bonkers AAA titles on these things. I hope to get one of these soon to see what the Orion O6 is capable of…
https://www.youtube.com/watch?v=OQrDQmONm6s