After what felt like a very quick month, it’s time for another FEX release. We’re busy writing improvements for next month’s release already, so let’s not distract for too long and smash through these changes!
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.
On the technical side, FEX features an advanced binary recompiler that supports all modern extensions of the x86(-64) instruction set, including AVX/AVX2. The heart of this recompiler is a custom IR that allows us to generate more optimized code than a traditional splatter JIT. A comprehensive system call translation layer takes care of differences between the emulated and host operating systems and implements even niche features like seccomp. A modular core enables FEX to be used as a WoW64/ARM64EC backend in Wine.
Try it outNews
FEX 2607 Tagged
Time certainly goes by quicker than you’d expect. We even managed to skip last months release because we were busy doing other things. Let’s take that as an example and fly through the changes that we did over these past two months!
FEX 2605 Tagged
We’re not even going to do an intro this month, we got ourselves some new hardware this month to play with let’s go!
