Steam Frame changes the game for Windows emulation
Valve surprised everyone this week by announcing three new pieces of hardware: A new Steam Controller, a mini PC that will forever be called the GabeCube, and a new VR headset called the Steam Frame.
While the controller and mini PC will undoubtedly be great for emulation and the VR headset looks like an interesting entry-level device, the most significant detail for me was a mere footnote on the official product page.
Tucked away in the specs sheet, Valve revealed that the Steam Frame will be powered by a Snapdragon 8 Gen 3. This is a powerful 2023 mobile chipset found in flagship Android phones like the Samsung Galaxy S24 (with a modified āG3 Gen 3ā version powering gaming handhelds like the KONKR Pocket FIT).
Valve later clarified that the headset will run a new version of SteamOS, designed explicitly for Arm-based chipsets like the 8 Gen 3, which is capable of both streaming games from a PC and running PC games directly on the device.
Until now, SteamOS was purely an x86_64 Linux affair. To enable Windows games to run on the Linux-based SteamOS, Valve invested heavily in the development of a gaming-focused translation layer, called Proton, starting in 2018.
Based on Wine, it translates Windows system calls, libraries, and drivers to their Linux equivalents. After years of development, performance is nothing short of remarkable. Just look at how well games run on a relatively underpowered Steam Deck for proof.
Utkarsh Dalal, the creator of GameNative, a project that brings your Steam library to Android via emulation, made it clear that Valveās contributions to the Windows emulation scene with Proton were far-reaching.
āIād say that Valveās role in developing Proton has been a necessary prerequisite for Windows gaming on Android,ā he told me. āMany of the advancements that have made PC gaming possible on Android ⦠come from Steamās active, open-source development of Proton.ā
However, an additional step is required to get games running on Arm-based Android devices. Not only do Windows calls need to be translated to Linux, but x86_64 Linux calls also need to be translated to ARM64.
This means yet another translation layer. There are several options here, but Valve has committed to using an open-source translation layer called FEX.
Launched in 2019 by Ryan Houdek (Sonicadvance1), FEX was designed for performance and game compatibility. It was not made with Android in mind, but it was only a matter of time before it made its way into the worldās most popular operating system.
After nearly seven years of consistent improvements, FEX is now used by several Windows emulation tools on Android, including GameHub and Winlator Bionic forks like GameNative. Others still use alternatives like Box64, which has more mature support for Android, but lower peak performance for the most demanding games.
Itās worth mentioning that FEX scales with raw CPU performance, so improvements made for the Snapdragon 8 Gen 3 on the Steam Frame should apply to other mobile chipsets. Granted, real-world emulation performance also depends on graphics drivers and other factors.
In any case, combined with improvements made to hardware, drivers, and of course, Proton, these ARM64 translation layers created the ecosystem necessary for Windows emulation on Android to flourish.
In an interview with PCGamer, Valve estimated that thereās still a 15% overhead in performance with the Arm translation layer on Qualcommās chips. Thatās actively being chipped away at, and with the added attention from the gaming giant that is Valve, it might not be long before we see huge gains in performance.
GameNative developer Utkarsh Dalal echoed this sentiment, writing:
āx86-64 translation is currently the biggest bottleneck for performance when playing PC games on Android ⦠so if we have a Proton moment for FEX, it could open up a world of possibilities.ā
Zooming out a bit, Steamās focus on Arm could have even broader implications. For starters, itās not hard to imagine a slimmer, more affordable Arm-based Steam Deck thatās capable of playing even more games than the current model.
This year also saw the release of the first official third-party SteamOS handheld, the Lenovo Legion Go S. Aside from the Steam client itself, the core operating system is free and open-source, so the door is theoretically open for Arm-based SteamOS handhelds.
But that doesnāt mean that Chinese gaming handheld OEMs like AYANEO or AYN will launch a new device with SteamOS pre-installed anytime soon.
Valve still requires OEMs to buy a license for SteamOS, since itās closely tied to the proprietary Steam client, as well as logos and trademarks belonging to Valve. Android games are also massively popular in the Chinese market, so we may never see Chinese OEMs abandon the platform.
A more likely outcome is that Steam releases an Android-based client for its storefront. Valve has already committed to adding Android APKs to Steam, and the Steam Frame will be able to load many APKs out of the box.
But that may take years, and thereās no need to wait. Many users are already accessing their Steam libraries via apps like GameNative or GameHub. These use an open-source Java version of SteamKit, called JavaSteam, to connect to Steamās servers and download games and cloud saves, just like a Steam Deck.
But this may not last forever. GameNativeās Dalal writes that āValveās approach to this seems to be indifference - theyāre not shutting it down, but theyāre not actively promoting it either.ā
Still, Valve-supported improvements to Windows emulation on Arm in any capacity are a rising tide that will lift all boats. Even boats that arenāt Steam-powered.
GameHub also supports emulation of DRM-free games from GOG, although this was removed for the Play Store version due to permission restrictions. GameNative will also add this functionality soon.
If Valve commits to ARM the way it committed to Proton, the entire handheld landscape stands to change. The lines between platforms are blurring, and we all stand to benefit.