Unlock x86_64 Linux Apps on ARM64: A Step-by-Step Guide to FEX 2605 Emulator

By

Introduction

If you own an ARM64 Linux device—like a Raspberry Pi, a Snapdragon X Elite laptop, or any other AArch64 machine—you may have encountered the limitation of running x86_64 software natively. Thanks to the open-source FEX emulator, now in version 2605, you can bridge that gap. Sponsored by Valve, FEX 2605 brings significant performance improvements and initial fixes for the Snapdragon X2 Elite, making it a practical solution for running Linux x86_64 binaries on ARM64 hardware. Whether you’re a developer testing apps or a gamer exploring titles from the Steam Frame ecosystem, this guide will walk you through installing, configuring, and using FEX 2605 step by step.

Unlock x86_64 Linux Apps on ARM64: A Step-by-Step Guide to FEX 2605 Emulator

What You Need

Before we begin, gather the following prerequisites:

Step 1: Prepare Your System

Start by updating your package list and installing essential build dependencies. Open a terminal and run:

  1. sudo apt update && sudo apt upgrade -y (for Debian/Ubuntu; adjust for your package manager).
  2. Install git, cmake, ninja-build, python3, pip, and a C++ compiler: sudo apt install git cmake ninja-build python3 python3-pip g++
  3. For Fedora: sudo dnf install git cmake ninja-build python3 gcc-c++
  4. For Arch: sudo pacman -S git cmake ninja python python-pip base-devel

Step 2: Clone the FEX Repository

FEX 2605 is a monthly feature release. To get the latest source, clone the official GitHub repository:

  1. git clone https://github.com/FEX-Emu/FEX.git
  2. Navigate into the directory: cd FEX
  3. Check out the latest tag (e.g., git checkout v2605) to ensure you have the stable release.

Step 3: Build FEX from Source

FEX uses a Python-based build system called BuildFEX.py. This step may take 15–30 minutes depending on your hardware.

  1. Run python3 BuildFEX.py --Release --GCC to build an optimized release version (GCC recommended for best performance).
  2. If you have multiple CPU cores, speed up with -j4 (adjust core count).
  3. After compilation, install the binaries: sudo python3 BuildFEX.py --install

Step 4: Verify Installation

Check that FEX is correctly installed by running:

  1. fex --version – should display version 2605 (or similar).
  2. which fex – ensure it's in your PATH.
  3. Test with a simple x86_64 binary (e.g., Hello World compiled for x86_64). If you don't have one, create it on an x86_64 machine or download from a trusted source.

Step 5: Configure FEX for Your System

FEX uses a configuration file to customize settings. Edge cases for Snapdragon X2 Elite users may require specific fixes included in version 2605.

  1. Run fexcfg --init to generate a default config in ~/.fex/FEXConfig.json.
  2. Edit the file to adjust options like CPUModel (set to SnapdragonX2Elite if applicable) or memory limits.
  3. Enable Thunking for improved compatibility with certain libraries: fexcfg --set Thunking true

Step 6: Set Up Rootfs (Optional but Recommended)

FEX can use a root filesystem to provide x86_64 libraries and dynamic linker. You can download a prebuilt rootfs or create your own via fex-rootfs:

  1. Use the built-in tool: fex-rootfs --download --distro ubuntu --version 24.04
  2. Place it in an accessible location, e.g., /opt/fex/rootfs.
  3. Tell FEX where it is: fexcfg --set RootFS /opt/fex/rootfs

Step 7: Run an x86_64 Program

Now you are ready to execute an x86_64 binary using FEX.

  1. Navigate to the binary location.
  2. Run: fex /path/to/your/x86_64-app
  3. If using a rootfs, add --rootfs /opt/fex/rootfs for better library support.
  4. For gaming via Steam, install Steam from the ARM64 repository, then use fex steam to launch it inside the emulator. Note: Performance improvements in version 2605 make this more viable, especially for lighter titles.

Step 8: Troubleshoot Common Issues

Encounter problems? Try these tips:

Tips & Conclusion

Congratulations! You’ve set up FEX 2605 on your ARM64 Linux machine. Here are some final pointers:

With FEX 2605, you’ve unlocked a world of x86_64 software on ARM64 hardware. Whether you’re running productivity tools, development environments, or Linux games, this emulator brings the power of an entire ecosystem to your fingertips. Happy emulating!

Related Articles

Recommended

Discover More

10 Crucial Insights from the Franklin Expedition DNA IdentificationsEugene Braunwald, 'Father of Modern Cardiology,' Dies at 96; One Vision Realized, Another Endures10 Fascinating Details About Stranger Than Heaven: Snoop Dogg, Yakuza Origins, and Musical AdventureBreaking: The 1930s Vienna Circle Offers a Blueprint for De-escalating Online Toxicity — New Historical StudyLinux 7.2 Kernel Advances: DRM Scheduler Goes Fair and AMDXDNA Welcomes AIE4