Key Features
1. Advanced Binary Recompiler:
- Supports modern x86(-64) instruction set extensions, including AVX/AVX2, allowing for efficient binary translation.
2. Custom Intermediate Representation (IR) Generation:
- Enables optimized code generation that reduces emulation overhead and decreases in-game stuttering.
3. Per-App Configuration System:
- Offers users the ability to customize performance settings for individual applications, potentially bypassing demanding memory model emulations.
4. User-Friendly FEXConfig GUI:
- Provides an intuitive graphical interface for users to explore and adjust settings easily.
Notable Improvements in FEX 2509
- JIT Enhancements:
- Improvements in the Just-In-Time (JIT) compiler, including better branch target lookup, corrections in zero-extend semantics on CMPXCHG instructions, and optimized handling of x87 floating-point operations.
- Mono Performance Hacks:
- Specific optimizations designed to enhance performance for Mono's JIT, particularly addressing issues related to self-modifying code.
- Game-Specific Fixes:
- Disabling 3DNow! by default for Wine WOW64 binaries to mitigate issues like black screen rendering in games such as Fallout: New Vegas.
- Memory Management Fixes:
- Corrected the size calculation for program break memory allocation, helping to prevent emulation bugs and optimizing the use of virtual address space.
Downstream Package Updates
- Apple Silicon Support:
- Resolved graphical issues with the FEXConfig tool to ensure compatibility with muvm's internal RootFS setup on Fedora Asahi Remix.
- Library Forwarding on NixOS:
- Introduced support for library forwarding, enhancing functionality through a recently merged nixpkgs pull request.
Conclusion
Overall, FEX 2509 provides a refined and enhanced experience for running x86 applications on ARM64 Linux devices, characterized by improved performance and extended compatibility features. Although this release may appear less monumental compared to previous updates, it still delivers vital refinements that contribute to the overall efficiency and usability of the FEX emulator.
For further information, users can read the detailed blog post on the FEX-Emu site
FEX 2509 released
The latest version of FEX (2509) has been released, providing improvements to ensure smooth execution of x86 applications on ARM64 Linux devices. Key features include an advanced binary recompiler, custom IR generation, and a per-app configuration system for optimized performance settings. FEX 2509 boasts various JIT enhancements, Mono performance hacks, and fixes for specific issues like black screen rendering in games. Additionally, downstream FEX packages have been updated to support library forwarding on NixOS and fix graphical tool conflicts with muvm's internal RootFS setup on Apple Silicon users running Fedora Asahi Remix.
