Key facts
- Valve developer Pierre-Loup Griffais said on September 27, 2026 that FEX code caching is now active in the Arm build of Proton Experimental and should improve the slowest frame times, particularly on repeat runs.
- A title running at 60 frames per second gets about 16.7 milliseconds per frame, so if FEX translates unfamiliar code during play the extra work can consume the frame budget and cause a hitch.
- FEX developers shipped a persistent on-disk JIT cache in September that stores translated code between sessions so it can be reused rather than recompiled.
- PCWorld says there is no broad independent testing measuring how much the new FEX cache helps gameplay on various Arm chips, and Valve has not publicly demonstrated its planned Steam Pre-Caching integration.
Pierre-Loup Griffais of Valve said on September 27, 2026 that Proton Experimental for Arm now runs FEX code caching and should deliver better 1-percent-low frame times, especially on repeat runs.
FEX translates x86 code into Arm instructions, so Windows games can run on Arm chips, because Arm processors use a different instruction language than the x86 chips most Windows games target. At 60 frames per second, a game receives roughly 16.7 milliseconds for each frame, so translating unfamiliar code mid-play can consume that budget and cause a hitch.
The feature arrived in Proton Experimental, a compatibility tool on Steam that is separate from numbered Proton releases and is not the default version a game selects; players must choose it deliberately. Valve ships SteamOS and Proton on separate tracks, which is why the code cache came through Proton rather than a SteamOS update. XenoSpectrum says the change has not reached all stable Proton users and does not affect Steam Deck the same way because the Deck uses an x86-64 processor.
Griffais told PCWorld: “cached code is available even prior to the first local run of an application.” PCWorld reports there is no announced timetable or published performance data for the planned integration of FEX code caching with Steam’s Pre-Caching feature, so it remains a future plan rather than a scheduled release.
Valve spent nearly a decade supporting FEX until PC games can run with little translation overhead. FEX developers shipped a persistent on-disk just-in-time (JIT) cache in September, saving translated code between sessions for reuse instead of recompiling it. An October update added a configurable 1GB default cache cap, cleared old caches after FEX updates, and introduced an optional memory buffer for frequently used code.
On the Steam Frame, Proton connects the Windows API and DirectX to Linux-based SteamOS, and FEX turns x86 or x86-64 CPU instructions into Arm64 executable instructions. PCWorld reports Griffais said FEX handles only CPU code in a proper ARM environment such as Proton ARM, with the operating system and graphics drivers running natively while Proton moves to Arm at the Win32 API boundary. PCWorld says he described translation overhead as modest, particularly when graphics performance limits games. XenoSpectrum says the cache handles only CPU-side translation, so Proton’s Windows API layer and DirectX-to-Vulkan conversion are still required.
The Steam Frame virtual reality headset runs on a Snapdragon 8 Gen 3 Arm64 system-on-chip with a SteamOS build based on Arch Linux. Valve said that the Steam Frame’s final launch date slipped because of a memory shortage crisis driven by AI data center overprovisioning. Online hints about Lepton, which handles Android games on the headset, first surfaced in 2025.
Valve’s documentation describes the Steam Frame as running on the Snapdragon 8 Gen 3 Arm64 chip under SteamOS natively, and shipping probably means Windows x86 goes through Proton and FEX. A standalone Windows game on a Steam Frame that launched at $1,059 is running through exactly the path Valve just changed.
Griffais warned that Arm graphics processors differ greatly from the desktop GPUs PC games target, which can add performance costs with newer graphics features, and said CPU translation can affect battery life and power consumption. PCWorld says no broad independent testing measures how much the new FEX cache helps gameplay across Arm chips, and Valve has not shown its planned Steam Pre-Caching integration publicly.
Asset streaming, CPU bottlenecks, or poor optimization can still cause hitches in Arm games, so the FEX cache will not remove every source of stutter. Microsoft and Nvidia addressed shader stutter in October through Advanced Shader Delivery, which lets supported games use hardware-compiled shaders instead of compiling them locally, while Intel developed a Graphics Shader Distribution Service. FEX is not interchangeable with those GPU shader systems.
In September, the FEX development team’s FEX-2609 release described the disk caching mechanism and said no mechanism then existed for capping cache size or purging old entries automatically. XenoSpectrum says FEX-2609 cache issues including unlimited growth and invalidation failures are unconfirmed in Proton Experimental, and Griffais’s post does not explain how Valve manages the cache. The FEX project says its cache has no size limit, no way to remove stale entries, and sometimes fails to invalidate when file contents change.
XenoSpectrum says Griffais’s post does not specify how anyone calculates 1-percent-low frame times or the conditions under which anyone measured improvement. During a game’s initial launch, translated code used later in the same session can come from the cache rather than retranslating it, while code running for the first time is not yet in the cache.
The cache applies to one binary only and games cannot share it across different games. A May 21, 2026, pull request called CodeCache: Implement lazy code loading merged because eager full-cache loading created undesirable disk IO compared to no cache, and it stays off by default behind EnableLazyCodeCachingWIP.
Another pull request, CodeCache: Accept multiple threads in SaveData, opened May 17, 2026, and was last updated May 22, 2026, but it remains open with no further activity. FEX is the FEX-Emu/FEX project, released under the MIT license and written in C++. FEX was first created on March 6, 2020, and lists 8,177 stars.
Indie Kings describes the project as healthy and actively developed, which keeps abandonment risk low. Griffais said Valve does not want PC gamers to appreciate x86-to-Arm translation engineering; it wants them to never need to think about it. Valve’s documentation says many developers can run Windows x86 games through Proton and FEX instead of building dedicated Arm versions for Steam Frame.





Join the discussion