FEX-2607 drops with aggressive x87 optimizations and Snapdragon X2 Elite bring-up
FEX, the x86-to-ARM64 binary recompiler that's quietly becoming the backbone of PC gaming on ARM Linux, has shipped its July release. The new tag, FEX-2607, isn't a massive overhaul. It's a deep cleanup. And that's exactly what makes it interesting.
If you haven't followed FEX closely, here's where it stands: seven years ago, Valve needed a way to run x86 Windows games on its upcoming ARM-based Steam Deck through Proton. Engineer Ryan Houdek (GitHub handle Sonicadvance1) built a prototype. The project forked, went open source, and somehow escaped Valve's internal labs entirely. Today it's sitting at 7,642 GitHub stars and 14,493 commits. The community has kept it alive far beyond its original purpose.
FEX doesn't interpret x86 code. It translates it to ARM64 at runtime using a custom intermediate representation, which means the output is closer to native than anything QEMU usermode or box64 can usually muster. It also handles the x86 Total Store Order memory model, which ARM doesn't natively provide. That's why it matters for gaming. Games that touch x87 floating-point math, atomic instructions, or complex vector ops tend to break on straightforward emulation. FEX eats those for breakfast.
The math path gets a serious overhaul
The headline here is x87 optimization. The x87 floating-point unit is a stack-based relic that doesn't map cleanly to ARM's register file. FEX has been working a "reduced precision" path that sidesteps the worst of the inefficiency. The results in this release are concrete:
- ATAN, FYL2X, FSCALE, and F2XM1 instructions saw 2–4x improvements.
- SIN, COS, and TAN operations are now inlined into the JIT, averaging a 3.7x speedup.
- The slow path — when FEX can't fully optimize stack usage — dropped ARM instruction counts dramatically. Half-Life went from 169 to 72. Oblivion from 3,165 to 1,743. Psychonauts from 5,270 to 2,809.
That's not theoretical. Those games run on Steam Deck, on Asahi Linux on M-series Macs, and on Snapdragon laptops trying to run Proton builds. The difference between a 30fps stumble and a locked 60fps often comes down to whether the math path is choking.
Memory isn't the enemy anymore
The other big win is quieter. The team enabled dynamic L1 lookup caches by default and disabled L2 caches, which sounds like a minor toggle until you realize what it did to a specific title: ENDER LILIES ran at 409MB before, 6MB after. Transparent Huge Pages awareness cut iTLB misses in half. Thread-pool allocator fixes stopped certain games from ballooning into single-digit gigabytes just to load a texture.
If you're running FEX on an 8GB or 12GB device, those numbers aren't academic. They're the difference between a game launching and a hard crash.
Snapdragon X2 Elite gets first-class support
The release also documents active work on Qualcomm's Snapdragon X2 Elite. The team's been wrestling with hardware-specific RNG (RNDRRS), cycle counter rates, SVE2/SME virtualization quirks, and new atomic operation behaviors unique to that SoC. There's also early Feat_MOPS support for Samsung's Exynos 2600.
On top of that, there's a lot of SVE256 work happening under the hood — handling SSE insertions for a long list of scalar and vector operations, trimming unnecessary moves, and fixing instruction counts across the board. If you've ever tried running x86 games on SVE-capable hardware and watched it stutter through instruction translation, you'll recognize the shape of this work.
Where the project actually is
FEX has been monthly for a while. Sixty-three releases since the first commit. The roadmap is narrow: memory reduction, Wine integration through ARM64EC/WoW64, new ARM extensions, and container compatibility for Docker users who actually want to run FEX in isolation.
The core team is small. The contributor list is longer than you'd expect for a project that started as a Valve prototype. Houdek still owns the vast majority of commits, but lioncash, alyssarosenzweig, skmp, and neobrain have each contributed over 800 commits. The Discord and GitHub discussions stay active, which is how these projects survive past the initial hype cycle.
FEX-2607 is available now on the GitHub releases page. The project runs on Arch, Fedora, openSUSE, and Ubuntu 22.04 through 25.04. It's MIT licensed. If you're running x86 binaries on ARM64 Linux and you're not using FEX, you're probably using something slower.
