FEX-emu – Run x86 applications on ARM64 Linux devices

fex-emu.com

284 points by open-paren 9 days ago


open-paren - 9 days ago

> 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.

Used by the new Steam Frame (https://store.steampowered.com/sale/steamframe) which is an ARM64 Snapdragon 8 Gen 3 that will run PC and PCVR gaming titles.

cultofmetatron - a day ago

I'n incredibly impressed by valve's commitment to playing the long game. It makes sense to have the frame by arm since the system is lighter and its clear this is just the trojan horse to get arm linux into every gamer's house. I wouldn't be surprised if we end up with an arm steamdeck 1-2 version from now when the tech is ready.

Venn1 - a day ago

I tried out FEX on a modern ARM board with a discrete GPU. Really impressed with the performance.

https://interfacinglinux.com/2025/06/30/fex-emu-gaming-on-th...

fooblaster - 21 hours ago

How does fex deal with the fact that the memory model on arm is weak and x86 is total store ordering. It seems like would need to hammer performance by putting memory barriers everywhere to handle all cases. Perhaps fex only works when there are well defined mutexes it can gain visibility into? anyone know?

yakaccount4 - 20 hours ago

I believe a lot of the folks working on FEX are also core contributors to Dolphin, the Wii/GC emulator.

hydroreadsstuff - 11 hours ago

Some companies like to stress the efficiency or performance of Arm SoCs, but really this is a hedge against more expensive x86 hardware. AMD has increased prices of mobile SoCs radically recently. I'm looking forward to having more affordable SoC options for laptops, handhelds and desktops, perhaps from Mediatek or other lower-cost vendors.

The history of the PC is one of commoditization. A fractured multi-polar landscape is detrimental to the ecosystem/productivity and should ultimately fail.

x86 emulation is an important puzzle piece, and I'm happy Valve recognizes this and sponsors it.

skywal_l - 15 hours ago

Presentation at FOSDEM2022: https://archive.fosdem.org/2022/schedule/event/fex/

A little old but still interesting.

pona-a - 13 hours ago

How is it different to box64? I couldn't really find much online comparing these two except a brench by box64 themselves.

VikingCoder - 10 hours ago

So, can you run Steam and games on a Raspberry Pi 500?

jasonjmcghee - 20 hours ago

Curious how this will impact the major games that are incompatible due to denuvo type stuff

nullbyte808 - 21 hours ago

Now we just need a decent ARM Linux laptop.

cubefox - 16 hours ago

One problem I see is that (e.g.) Qualcomm Adreno GPUs don't even run most Windows games well when executed natively under Windows, due to games only being optimized for GeForce and Radeon. I assume this problem only gets worse when trying to run DirectX games through some sort of translation layer with FEX/DXVK.

alan-jordan13 - 7 hours ago

[dead]