VOOZH about

URL: https://www.phoronix.com/news/FEX-2506-Released

⇱ FEX 2506 Makes Big Improvements To Its JIT For x86_64 Binaries On ARM64 Linux - Phoronix


👁 Phoronix

FEX 2506 Makes Big Improvements To Its JIT For x86_64 Binaries On ARM64 Linux

Written by Michael Larabel in Linux Gaming on 4 June 2025 at 08:41 PM EDT. 10 Comments
FEX 2506 released today as the newest version of this open-source emulator for running x86/x86_64 binaries on AArch64 (ARM64) Linux systems.

FEX 2506 continues churning along for making it very viable and even speedy to run x86/x86_64 binaries on ARM64 systems whether it be big systems like the Ampere Altra powered System76 Thelio Astra or smaller platforms like AArch64 SBCs like the Raspberry Pi.

With FEX 2506 they pulled off quite a feat in being able to reduce its Just-In-Time (JIT) time by 25% thanks to sharing code buffers between threads. This long goal has finally been achieved to yield a big speed-up for their JIT:
"neobrain’s change here is a fundamental shift to how FEX does its code JITing. In particular, all JIT code gets written to a shared code buffer region and if one thread has JITed the code, then all threads can reuse it. This means in an ideal case only one thread ever JITs code and all other threads benefit from it. In addition since code is now shared between threads, if a thread exits then none of that JITed code is lost anymore; a new thread can reuse it.

This change has some serious knock-on effects; Memory-usage is lower, total time spent in the JIT is lower, and it preps FEX to start caching code to the filesystem for sharing between multiple invocations of an application! So not only will memory usage of applications be lower, allowing more games to run on platforms with less RAM, but they should be faster as well since JIT time is lower and L2/L3 cache is hit less aggressively.

A pedantic edge case game called RUINER improved from around 30FPS to 60FPS due to how it constantly JITs code due to threads being created and destroyed quickly! In other games tested by neobrain, we also see significantly less time spent in the JIT."

This JIT improvement alone makes FEX 2506 quite a big milestone. FEX 2506 takes things further though by also providing a number of other JIT optimizations, addresses a "nasty" race condition, and brings various other fixes.

👁 FEX logo


Downloads and more details on the open-source FEX 2506 emulator release via FEX-Emu.com.

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.