Software 44273 Published by

The FEX-2604 update delivers significant memory savings by enabling Dynamic L1 lookup caches and optimizing Transparent Huge Page usage, which helps systems with limited RAM like those with 8GB or 16GB. Performance sees a major boost for games using x87 transcendental operations as SIN, COS, and TAN functions are now inlined within the JIT for an average speed increase of 3.7 times. Several critical bugs have been resolved including a workaround for Docker seccomp filter crashes and a fix for a pseudo-memory leak in the thread-pool allocator that previously ballooned resource usage during heavy threading. Advanced users can now utilize a new FEXGetConfig option to visualize memory alignment faults on ARM hardware, providing better insight into emulation performance gaps compared to native x86 behavior.



Fix Memory Leaks And Speed Up Games With The FEX-2604 Release

The latest update for the x86 emulator brings significant memory optimizations that matter most on systems with limited RAM. Users running FEX on older hardware or in Docker containers will notice better stability and lower overhead thanks to these changes. This report breaks down what actually changed in the FEX-2604 release without the corporate fluff.

Why The FEX-2604 Release Matters For Memory Constrained Systems

The developers behind this update realized that memory usage was becoming a bottleneck for many users running emulation on standard hardware. They have enabled the Dynamic L1 lookup cache and disabled the L2 lookup caches by default to cut down on overhead significantly. This specific change can save hundreds of megabytes which is vital for anyone running 8GB or 16GB systems where every bit counts. There was also a pseudo-leak fixed in one of the thread-pool allocators that used to balloon memory usage when games created many threads simultaneously. A test with ENDER LILIES: Quietus of the Knights showed consumption dropping from 409MB down to just 6MB for this specific pool during heavy load. The team also addressed Transparent Huge Pages which can cause issues when set to always mode on Linux distributions like ArchLinux. FEX now actively asks for THP buffers based on use case which reduces RAM usage for sparse buffers while cutting iTLB misses in half for the JIT code buffer.

Performance Gains In The FEX-2604 Release For Specific Games

Emulation often suffers when instructions jump out of the JIT to run helper functions which slows things down significantly during execution. This release optimizes x87 transcendental operations like SIN, COS and TAN so they no longer require a jump for reduced precision paths. These three operations see an average speed increase of 3.7x which makes games that hit these math routines feel much snappier on supported hardware. Titles like Bayonetta and Fallout: New Vegas benefit from this optimization making them more playable on a larger set of systems than before. There are other performance tweaks such as replacing a code invalidation mutex with a faster hand-rolled implementation to reduce contention. The team also wired up FEAT_MOPS support for newer SoCs like the Samsung Exynos 2600 and rearranged Arm64EC dispatcher code to reduce overhead further.

Docker Issues And Debugging Tools For Advanced Users

A user tinkering inside a Docker environment uncovered a crash caused by broken syscall results from the seccomp filter rules within that container runtime. The issue stems from how arguments smaller than register size are zero extended which caused valid data to return errors like -EPERM unexpectedly. This release includes a workaround for that specific instance while noting that Docker needs to audit their filters for a real fix in the future. A new option in FEXGetConfig allows users to show fault granularity to visualize memory alignment issues on ARM hardware directly from the command line. The green indicators show byte-aligned accesses that do not fault while red markers indicate where backpatching or signal handling is required for safety. This test helps determine if future hardware might fix the performance gap between x86 and ARM regarding unaligned access faults in the emulation layer.

Release FEX Release FEX-2604

Read the blog post at FEX-Emu's Site! We were a little bit late this month for this release. Turns out getting distracted trying to hunt bugs for a week does that. Let's jump in to what has changed...

Release FEX Release FEX-2604 ยท FEX-Emu/FEX

That wraps up what is new in this month's build so users can decide if it fits their setup better than the previous version.