Patreon Logo Support us on Patreon to keep GamingOnLinux alive. This ensures all of our main content remains free for everyone. Just good, fresh content! Alternatively, you can donate through PayPal Logo PayPal. You can also buy games using our partner links for GOG and Humble Store.
We use affiliate links to earn us some pennies. Learn more.

With the upcoming new Steam Frame hardware from Valve, they want to get as many games as possible running - and there's multiple ways for developers to do it.

This documentation actually went up last month, but it's a good reminder of all the work that goes on behind the scenes with Valve's hardware to make the experience as smooth as possible for both players and game developers. With the Steam Frame, Valve are clearly suggesting that developers stick to one version of their game - which currently for a lot of VR titles means just optimizing the Windows version.

Taken from the Steamworks page:

We think customers are better off if a developer can focus on the one best version of their game, rather than making and maintaining many separate builds-- especially if one build ends up as a second-class experience missing some testing or updates. We've spent a lot of effort making it as easy as possible to run that best version on Steam Frame. For most developers that probably means running Windows x86 via Proton and FEX.

For VR developers that have already spent the effort to make a mobile optimized version of their game for other hardware (typically Android Arm64), we think it makes sense to run that version on Steam Frame.

Steam Frame natively runs a Snapdragon 8 Gen 3 (Arm64) chip on SteamOS (Linux Arch-based) and includes a range of compatibility layers for other Operating Systems and architectures.

Windows via Proton

Windows games can be run via Proton. Proton is a compatibility layer that allows Windows games to run on Linux by using a modified version of Wine and a collection of high-performance graphics API implementations such as dxvk which translates DirectX to Vulkan (Steam Frame's native graphics API).

Android via Lepton

Android games can be run via Lepton. Lepton is a compatibility layer that allows Android games to run on Linux. It is implemented as a container to minimize overhead.

x86 via FEX

x86 (32-bit and 64-bit) via FEX. FEX translates x86 compiled games to Arm64 instructions, but forwards API calls to native host system libraries like OpenGL or Vulkan to reduce emulation overhead, and leverages code caching to minimize in-game stuttering as much as possible.

All makes sense to me. If you already have an existing version of your game that runs elsewhere, just ensuring it works well in one of their compatibility layers would save developers a lot of time. Valve are being smart with this, after years of building up the likes of Proton and directly funding FEX to get as many games running on SteamOS Linux as possible. We've come a very long way since the original Steam Machine failure with its lack of games.

Valve's little note about other builds often being a "second-class experience" also split a few old wounds. Remembering some of the earlier days of Linux gaming where we had a bunch of ports that were repeatedly missing features (like cross-platform multiplayer, or patches being weeks and even months later - or not getting them at all).

As long as the price is right, I think the Steam Frame really will shift the industry due to how accessible and open it will be. Something I touched on in another recent article.

Article taken from GamingOnLinux.com.
13 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly checked on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly.
See more from me
All posts need to follow our rules. Please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Readers can also email us for any issues or concerns.
6 comments Subscribe

benstor214 7 hours ago
This documentation actually went up last month[…]
And this part shows that Liam is a pro.
In the meantime, a whole cohort of YouTubers, Redditors and Discorders want to make you believe that Valve put this up just a few days ago, only because one of them happened to stumble upon it a few days ago.

I was reading this on Christmas Eve, and I am certain it was up way before then…
syylk 6 hours ago
*A few old still not entirely closed wounds.
doragasu 6 hours ago
User Avatar
They must trust FEX a whole lot if they are not encouraging devs to make an ARM build...
Ardje 5 hours ago
The most important game I want to run on it is a 3D desktop that can run a bunch of *readable* wezterms and maybe a few browsertabs.
I am still between xreal glasses on my steam deck and a steam frame...
The steam frame will be a desktop replacement, so if either the frame or the deck breaks, I can still use the other.
In the end I might stream desktop from my cluster. But for travel: deck+xreal or frame...
I reckon the deck+xreal is more expensive than the frame.
san 5 hours ago
  • Supporter
Liam, do you happen to know if they make a distinction for stand-alone optimized games and games to stream for best possible graphics?

The former would be great to have on Frame when traveling, while the latter would be great when at home.

As an example, VR devs often released ARM64 optimized titles for the pico/meta platforms at the cost of graphical fidelity. On Steam these titles would be released targeting higher specs and thus a better experience.

Although I understand their concern about bad ports, there are cases, especially for VR where I think it would make sense to have both.
hell0 2 hours ago
Quoting: doragasuThey must trust FEX a whole lot if they are not encouraging devs to make an ARM build...
They only need to trust it more than they trust game devs to do a good job porting to an unknown architecture on an unknown platform.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon Logo Patreon. Plain Donations: PayPal Logo PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register