“FEX code caching is vital for frame time consistency,” Valve software engineer Pierre-Loup Griffais told PCWorld in an interview. “In the future, it will also be integrated with Steam’s Pre-Caching feature, so that cached code is available even prior to the first local run of an application.”
That’s a nifty trick when you’re trying to make thousands of Windows games run on processors they were never designed for. And it dovetails with a broader industry push to stamp out one of PC gaming’s most infuriating problems.
Translating games without the hiccups
FEX is a crucial piece of Valve’s ambitious effort to break Steam free from traditional gaming PCs. Most Windows games are built for x86 processors from AMD and Intel. Arm chips speak a different instruction language, so FEX translates x86 code into Arm instructions as games run.
Fortunately, FEX doesn’t have to translate everything.
“When provided with a proper ARM execution environment, such as when integrated with Proton ARM, FEX only translates the CPU code of the application,” Griffais explained.
Steam’s Pierre-Loup Griffais with PCWorld’s Adam Patrick Murray
Foundry
Proton, Valve’s Windows compatibility layer, can switch to native Arm execution at the Win32 API boundary. The operating system and graphics drivers run natively, too, leaving FEX to concentrate on the game’s own CPU instructions.