fex-emu/fex

A fast usermode x86 and x86-64 emulator for Arm64 Linux

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 51 minutes ago
Added to GitGenius on September 8th, 2026
Created on March 6th, 2020
Open Issues & Pull Requests: 240 (+0)
GitHub issues: Enabled
Number of forks: 342
Total Stargazers: 7,930 (+0)
Total Subscribers: 61 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 8.6 hours
Mean response time: 160.7 days
90th percentile: 612.5 days
Tracked items: 344

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 51% of open issues come from outside the core team, a mix of external reports and the maintainers' own roadmap. 46% of tracked open issues have had no activity in three months. Only 8% of issues opened in the past year have been closed. Three people close 79% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 128
New in 7 days: 10
Closed in 7 days: 3
Avg open age: 484 days
Stale 30+ days: 99
Stale 90+ days: 85

Recent activity

Opened in 7 days: 7
Closed in 7 days: 2
Comments in 7 days: 1
Events in 7 days: 2

Top labels

  • Game related (67)
  • Library forwarding (32)
  • ml-report (17)
  • android-wastelands (12)
  • Performance (8)
  • bug (8)
  • CPU emulation (7)
  • Investigation (5)

Detailed Description

FEX is a fast usermode x86 and x86-64 emulator for ARM64 Linux.

FEX solves the problem of running x86 applications on ARM64 Linux systems by translating x86 instructions to ARM64 at runtime. It works as a usermode emulator, meaning it runs applications without requiring full system virtualization. The tool supports both 32-bit and 64-bit x86 binaries and can be combined with Wine or Proton to run Windows games. To reduce emulation overhead, FEX forwards API calls to host system libraries such as OpenGL and Vulkan rather than emulating them. An experimental code cache minimizes stuttering during gameplay, and a per-application configuration system lets users tune performance characteristics for individual games, including the option to skip expensive memory model emulation. A graphical configuration tool called FEXConfig provides an accessible way to explore and adjust these settings.

FEX is suitable for ARM64 Linux users who need to run x86 applications, particularly gamers using Wine or Proton. It requires ARMv8.0 or newer hardware and has been tested on Arch Linux, Fedora, openSUSE, and Ubuntu. An x86-64 RootFS is necessary to run applications; the project provides a tool called FEXRootFSFetcher to download pre-built filesystems for many distributions. The README positions FEX alongside qemu-user and box64 as similar tools in this category.

Development activity shows consistent engagement with the codebase. The project maintains an active wiki with setup guides and development documentation. Pull requests receive timely review and feedback from maintainers. Issue discussions demonstrate responsiveness to user reports and feature requests. The codebase reflects ongoing optimization work, particularly around the code cache and per-application configuration features. Documentation is kept current across multiple languages to serve a broader user base.