Run x86-64 Linux applications on an ARM64 device such as a Raspberry Pi or ARM-based laptop
Play x86 Windows games on an ARM64 Linux system by combining FEX with Wine or Proton
Configure per-application settings in FEXConfig to reduce translation overhead for specific games
Automatically download the required x86 RootFS for your Linux distribution using FEXRootFSFetcher
Requires an ARM64 device running Linux and an x86-64 RootFS, FEXRootFSFetcher can download the RootFS automatically for common distros.
FEX is a program that lets you run software originally built for x86 processors on a different type of processor called ARM64. If you have a device powered by an ARM64 chip, such as many modern single-board computers or newer laptops, FEX acts as a translation layer so that programs compiled for the older x86 architecture still work on your hardware. It handles both 32-bit and 64-bit x86 programs. One of the more practical uses is running Windows games on ARM64 Linux by pairing FEX with Wine or Proton, which are tools that translate Windows software calls into ones Linux understands. FEX adds the x86 translation on top of that, covering both layers at once. For graphics-heavy applications, FEX can pass graphics API calls directly to the host system's own graphics libraries, such as OpenGL or Vulkan, instead of emulating them. This reduces how much work the emulator has to do and can improve performance in games and visual applications. To further reduce stuttering during gameplay, FEX includes an experimental code cache. When it encounters new instructions to translate, it can store that translated work so it does not need to repeat it each time. There is also a per-application configuration system, which means you can adjust specific settings for individual games or programs, for instance turning off certain memory model checks that slow things down but are not required by a particular application. For people who prefer not to edit settings files by hand, a graphical tool called FEXConfig is included. It provides a point-and-click interface to explore and change FEX settings. FEX requires an ARM64 device with at least ARMv8.0 hardware and a Linux operating system. It has been tested with Ubuntu 22.04 through 25.04, Arch Linux, Fedora, and openSUSE. It also requires an x86-64 RootFS, which is a collection of Linux system files matching the x86 architecture. FEX includes a tool called FEXRootFSFetcher that can download the appropriate RootFS automatically for many distributions.
← fex-emu on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.