FEX Awaits The Linux Kernel To Align With Windows & macOS On ARM Register Usage
FEX 2611 is out for running Linux (and Wine) x86/x86_64 games/applications on AArch64 Linux. FEX 2611 brings JIT improvements while also waiting for the Linux kernel to align with the AArch64 specification and Windows on ARM and macOS Apple Silicon behavior around a particular register's usage...
FEX, a project aimed at improving emulation on ARM systems, is awaiting the Linux kernel to align its use of a specific register with that of Windows and macOS. This register is necessary for faster emulation of certain instructions such as RDPID, RDTSCP, and CPUID, which are currently disabled in FEX when running under WINE due to compatibility issues.
The Linux kernel has treated this register as hardcoded to always be zero and reserved for future use, a decision that has been in place for 15 years since ARM64 was introduced. While this approach ensures future-proofing, it also hinders performance and correctness when using FEX under WINE. By setting this register to the core index, similar to Windows, FEX could potentially reap the benefits of improved performance and correctness, addressing the challenge of games that are starting to mandate these instructions.
Written by urgent.news from Phoronix's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.