Valve Adds FEX Compatibility Layer as SteamOS Prepares for Steam Frame
Valve is adding two new SteamOS compatibility layers for the Steam Frame, starting with FEX for x86-on-Arm emulation.
Proton has been the best-known piece of Valve's Linux gaming strategy, and company efforts in that area date back further than the Steam Deck's release, Ars Technica reports. But for the Steam Frame, Valve is adding compatibility layers that are new to the Steam architecture. Ars Technica describes FEX as the first of those two layers but does not identify the second.
FEX originated as a small cross-platform emulation project in 2018. According to the Fex website, it has grown to include "an advanced binary recompiler that supports all modern extensions of the x86(-64) instruction set." The emulator can also call graphics libraries such as OpenGL and Vulkan to reduce overhead, and it uses "code caching to minimize stuttering as much as possible," according to Steam's developer documentation.
Valve's involvement in FEX predates its current form. Valve engineer Pierre-Loup Griffais told The Verge last year that the company has been funding Fex lead developer Ryan Houdek since the project was just a prototype. At that time, Valve anticipated that "close to a decade of work [would be] needed before [Fex-emu] would be robust enough people could rely on it for their libraries," according to Ars Technica.
The new compatibility layers matter because the Steam Frame runs SteamOS, and FEX is designed to bridge software written for x86 processors and Arm hardware. While Proton was based on the pre-existing Wine conversion tool, FEX represents a different technical approach aimed at instruction emulation and binary recompilation. Ars Technica reports that Valve is relying on both new layers to get more games running on the Steam Frame.