FEX-Emu 2212 Improves x86_64 Game Support On Arm, Now Supports Older Radeon GPUs

Written by Michael Larabel in Linux Gaming on 6 December 2022 at 06:16 AM EST. 2 Comments
FEX-Emu is the open-source software project working on speedy x86/x86_64 software emulation on AArch64. FEX-Emu is one of the leading options for running x86 binaries on 64-bit Arm and has matured enough for allowing Linux games and Steam Play titles to run on Arm. FEX 2212 is out as the newest shiny feature update to this promising software.

FEX 2212 is another significant step forward for this emulator allowing impressive x86/x86_64 binary support on 64-bit Arm Linux systems. With FEX 2212 there is support for older Radeon GPUs, the start of AVX emulation support, SGDT emulation support to get games relying on Denuvo copy protection to get working a bit further along, and various other enhancements.

FEX 2212 has begun work on emulationg Advanced Vector Extensions (AVX) and for that relies on the Arm processor supporting SVE 256-bit operations. While AVX emulation is important, the only Arm processor currently having this SVE 256-bit support is the Neoverse-V1. So this AVX emulation is more forward-looking for future Arm chips where SVE 256-bit support becomes more widespread. The AVX emulation is also only a partial implementation at this point.

For further improving the FEX outlook for gaming, the 2212 release adds support for SteamID based configuration files. FEX 2212 also implements SGDT instruction support. In turn this allows games relying on the controversial Denuvo software to "get slightly further before they horribly crash."

Also improving the FEX for gaming experience is no longer advertising the PCLMUL instruction if the cryptographic extension is not supported on the host. This fixes Steam running on the Raspberry Pi where as it would crash otherwise when hitting OpenSSL.

OLder ATI/AMD Radeon GPUs should now work with FEX 2212 for those Arm boards out there with PCI Express slots.

FEX 2212 has also improved its ioctl emulation code that in turn allows the Radeon DRM driver to work with this emulator. Using the newer AMDGPU kernel driver for GCN 1.2+ graphics cards (or GCN 1.0/1.1 experimentally) has already been supported while for pre-GCN 1.2 (or pre-GCN if using the experimental AMDGPU 1.0/1.1 support), the Radeon DRM driver is now supported for using older graphics cards.

FEX 2212 also now generates register access IR operations directly for around a 12% reduction in JIT compilation time and makes this emulator more responsive.

FEX 2212 also brings optimizations to reduce stutters, improved file I/O for applications, faster start-up time, and other improvements.

Downloads and more details on this big update via GitHub and FEX-Emu.com.
Related News
About The Author
Michael Larabel

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.

Popular News This Week