This is not FEX. This branch is FEX as Madeira left it at
ac555dd8, its last MIT-licensed commit, with fixes taken from FEX-Emu/FEX and changes for running FEXCore inside AnyPS5's macOS runner. The backported commits keep their authors and name their FEX-Emu commit. The commits starting withApple:andAnyPS5:were written with AI assistance: FEX-Emu and Madeira do not accept such code, so they are not contributions to either project and are not to be submitted there.
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.
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).
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 | python3This command will walk you through installing FEX through a PPA, and downloading a RootFS for use with FEX.
Follow the guide on the official FEX-Emu Wiki here.
See the Source Outline for more information.