“Caching FEX code 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 before the first local run of an app.”
It’s a neat trick when you’re trying to get thousands of Windows games to run on processors they were never designed for. And it fits with a broader industry push to eradicate one of PC gaming’s most infuriating problems.
Translate games smoothly
FEX is a crucial piece of Valve’s ambitious effort to free Steam from traditional gaming PCs. Most Windows games are designed 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 given a suitable ARM runtime environment, such as when integrated with Proton ARM, FEX only translates the application’s CPU code,” Griffais explained.
Pierre-Loup Griffais from Steam with Adam Patrick Murray from PCWorld
Foundry
Proton, Valve’s Windows compatibility layer, may switch to native Arm execution at the Win32 API boundary. The operating system and graphics drivers also run natively, allowing FEX to focus on the game’s CPU instructions.