MCPcopy Create free account
hub / github.com/FEX-Emu/FEX

github.com/FEX-Emu/FEX @FEX-2509.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release FEX-2509.1 ↗ · + Follow
12,028 symbols 17,909 edges 663 files 416 documented · 3% updated 2d agoFEX-2607 · 2026-07-04★ 7,691208 open issues

Browse by type

Functions 4,151 Types & classes 7,877
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

中文

FEX: Emulate x86 Programs on ARM64

FEX allows you to run x86 applications on ARM64 Linux devices, similar to qemu-user and box64. It offers broad compatibility with both 32-bit and 64-bit binaries, and it can be used alongside Wine/Proton to play Windows games.

It supports forwarding API calls to host system libraries like OpenGL or Vulkan to reduce emulation overhead. An experimental code cache helps minimize in-game stuttering as much as possible. Furthermore, a per-app configuration system allows tweaking performance per game, e.g. by skipping costly memory model emulation. We also provide a user-friendly FEXConfig GUI to explore and change these settings.

Prerequisites

FEX requires ARMv8.0+ hardware. It has been tested with the following Linux distributions, though others are likely to work as well:

  • Arch Linux
  • Fedora Linux
  • openSUSE
  • Ubuntu 22.04/24.04/24.10/25.04

An x86-64 RootFS is required and can be downloaded using our FEXRootFSFetcher tool for many distributions. For other distributions you will need to generate your own RootFS (our wiki page might help).

Quick Start

For Ubuntu 22.04, 24.04, 24.10 and 25.04

Execute the following command in the terminal to install FEX through a PPA.

curl --silent https://raw.githubusercontent.com/FEX-Emu/FEX/main/Scripts/InstallFEX.py | python3

This command will walk you through installing FEX through a PPA, and downloading a RootFS for use with FEX.

For other Distributions

Follow the guide on the official FEX-Emu Wiki here.

Navigating the Source

See the Source Outline for more information.

Core symbols most depended-on inside this repo

Shape

Class 7,728
Method 2,461
Function 1,690
Enum 149

Languages

C++95%
C3%
Python2%

Modules by API surface

ThunkLibs/libGL/libGL_interface.cpp3,178 symbols
ThunkLibs/libvulkan/libvulkan_interface.cpp1,409 symbols
ThunkLibs/libasound/libasound_interface.cpp1,281 symbols
FEXCore/Source/Interface/Core/OpcodeDispatcher/Vector.cpp247 symbols
ThunkLibs/libXext/libXext_interface.cpp184 symbols
FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp169 symbols
FEXCore/Source/Interface/Core/OpcodeDispatcher.h146 symbols
ThunkLibs/libdrm/libdrm_interface.cpp131 symbols
FEXCore/Source/Interface/Core/OpcodeDispatcher/AVX_128.cpp116 symbols
FEXCore/Source/Interface/IR/IR.h91 symbols
Source/Tools/LinuxEmulation/LinuxSyscalls/x32/Types.h85 symbols
FEXCore/Source/Interface/Core/Interpreter/Fallbacks/F80Fallbacks.h82 symbols

For agents

$ claude mcp add FEX \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page