Skip to content

Chain of Hacks Enable Operation of New Armboard in Doom Game

Guide on Running Doom (2016) on an ARM Single-Board Computer (SBC), Demonstrated by Interfacing Linux, with an embedded video showcasing the process.

Uninterrupted Series of Cyber Attacks Allows Innovative Arm Board to Execute Doom Game
Uninterrupted Series of Cyber Attacks Allows Innovative Arm Board to Execute Doom Game

Chain of Hacks Enable Operation of New Armboard in Doom Game

The Radxa Orion O6, a powerful ARM Single Board Computer (SBC) featuring a 12-core ARMv9 CPU from CIX and 16 GB RAM, has recently become a popular choice for gaming enthusiasts seeking to push the boundaries of what's possible on an ARM-based system. In a unique setup, Doom (2016) can now be run on the Radxa Orion O6 using an x86 emulation layer and compatibility layer. Here's a step-by-step guide on how to achieve this.

### Hardware and Software Setup

The Radxa Orion O6, with its PCIe Gen 4 support, allows the addition of a discrete GPU like an AMD RX 570 via an M.2 PCIe slot to boost gaming performance. The board supports an external PCIe GPU, which is essential to run games like Doom with decent graphics performance.

### Step-by-Step Process

1. **Update BIOS and Install Linux** Start by updating the Radxa Orion O6 BIOS to the latest version for best hardware support. Then install a compatible Linux distribution like Ubuntu ARM on the SBC.

2. **Setup FEX-Emu (FEX) for x86 Emulation** Install and configure FEX on your Radxa Orion O6. FEX is an ARM dynamic binary translator that lets you run x86 Linux applications on ARM hardware by converting x86 instructions on-the-fly. This layer is crucial for running Doom's x86 game binaries on the ARM CPU.

3. **Install Steam and Proton** - Proton is a compatibility layer that allows running Windows games on Linux by integrating Wine and additional Vulkan/DXVK translation. - Install Steam for Linux on your Ubuntu ARM system, then enable Proton for running Windows versions of games. - Launch Doom (2016) through Steam with Proton enabled. Proton handles Windows->Linux translation, while FEX emulates the x86 CPU instructions on the ARM CPU.

4. **Launch and Play** Using this "double layer" approach, Doom (2016) runs: x86 instructions are emulated by FEX on ARM, and Windows API calls are converted by Proton to Linux. Performance depends heavily on GPU and PCIe bandwidth.

### Important Notes and Limitations - This approach is complex and experimental. It requires a powerful ARM SBC like Radxa Orion O6 and a PCIe GPU. - You may face performance bottlenecks from emulation overhead, PCIe bandwidth constraints, and driver maturity. - Keep your system BIOS, Linux kernel, FEX, and Proton updated for best compatibility.

### Summary Table

| Component | Purpose | Notes | |----------------------|-------------------------------------------|-----------------------------------------| | Radxa Orion O6 | ARM SBC hardware | 12-core ARMv9 CPU, 16 GB RAM, PCIe Gen 4 x8 | | PCIe GPU (e.g. RX 570)| Graphics acceleration | PCIe Gen 4 x8 slot via M.2 | | Ubuntu ARM | Operating system | Linux ARM64 base | | FEX-Emu | x86 instruction emulation on ARM | Required to run x86 game binaries | | Steam + Proton | Windows game compatibility on Linux | Converts Windows API calls to Linux |

This combination enables Doom (2016) to run on an ARM SBC by translating both CPU instructions and OS calls, making it a novel but viable method to play this game on the Radxa Orion O6. For detailed installation commands or troubleshooting, refer to the walkthroughs available from interfacinglinux.com and related YouTube videos linked to this setup.

Despite the CPU handling emulation, the GPU remains a significant factor even for 10-year-old games like Doom (2016). Doom (2016) requires a graphics card as the SoC's onboard graphics are not sufficient. The Radxa Orion O6, while not as popular as certain "fruit-flavoured" competition for the projects usually seen on Interfacing Linux, has made an appearance on the site. Steam includes the Proton compatibility layer to enable Doom (2016) to run on the Radxa Orion O6. Interfacing Linux welcomes tips for good projects using powerful ARM boards or any other projects.

  1. To fully optimize the graphics performance of Doom (2016) on the Radxa Orion O6, consider adding a discrete GPU like an AMD RX 570 through the M.2 PCIe slot, as the O6's PCIe Gen 4 support ensures adequate graphics performance for gaming.
  2. Open source technology plays a crucial role in this setup, as the FEX-Emu (FEX) tool, a dynamic ARM binary translator, is essential for running x86 Linux applications like Doom (2016)'s game binaries on the ARM-based Radxa Orion O6.
  3. The Data-and-Cloud-Computing ecosystem intertwines with this project, as Steam and Proton, an open-source compatibility layer, collaborate to facilitate the running of Windows games like Doom (2016) on Linux platforms, such as the Radxa Orion O6, allowing gamers to push the boundaries of ARM-based systems in the realm of technology and gadgets.

Read also:

    Latest