video games

Can Every Game Run on the Steam Deck?

Reader Sketch has pointed to this developer-focused video where Valve says “Our goal is for every game to work by the time we ship Steam Deck.” I think that’s a great goal, but I am also vehemently against the “compatibility layer” emulation solution because it devalues the Linux platform.

People who play games don’t care or need to care about the distinction between native and emulated platforms until they run into the limitations of emulation and that’s OK. I just do not expect Valve to be able to emulate “every game” as well as playing it natively. To be fair, they only said that their goal is for the games “…to work” which isn’t a guarantee of perfection.

Valve has also said they’re talking with anti-cheat developers to get multiplayer games like Destiny 2 and PUBG working with their emulation layer:

For Deck, we’re vastly improving Proton’s game compatibility and support for anti-cheat solutions by working directly with the vendors.

My old colleague from Atomic Gamer, Foffers. has written up his impressions of the Steam Deck announcement and is also concerned about the compatibility:

But this also means that if you want to use any Windows-based tools to assist with your games – like Wabbajack, for example, to install a Skyrim modlist – that’s out of the question as well, and this is not to mention any games running outside of Steam. So Overwatch over in the launcher? A game that has some timed exclusivity on Epic Games Store? Something classic from GOG? None of that is happening on the Steam Deck, not how it’s currently set up. Yes, you can link those games to launch from Steam over on a Windows-based Steam install, but that won’t be happening on the Steam Deck unless Valve partners with those companies to work with Proton via a new solution.

Foffers has a lot of experience with other handheld computers, like the GPD Win series and the One XPlayer. I highly recommend reading his impressions of the Steam Deck.

For what it’s worth, I put in a $5 deposit on the Steam Deck. It should be perfect for what I want to use it for, but I am very disappointed that Valve seems to have given up on porting games to Linux. They seemed very serious about it 7 years ago at Steam Dev Days when they gave out a free development box

linux video games

Cheese’s Thoughts on Steam Play (Proton)

Josh “Cheese” has a ton of thoughts on the latest developments with Valve’s Proton Windows pretendulation software for Linux gaming through Steam. Cheese is always good reading, but he provides some especially useful historical context for this conversation.

I am still extremely concerned for where Linux gaming is going with Valve-controlled pretendulation as the default mode for new and old games, instead of native ports. It isn’t something many people playing those games will care about, if the pretendulation is good enough for them.

linux video games

Windows Pretendulation Is Bad Even When Valve Does It

Valve’s Pierre-Loup A. Griffais announced that they’re including their brand new fork of the WINE Windows pretendulator in a new beta product for Steam. They call it Proton. WINE is an open-source Windows API emulation layer that lets Linux users play Windows games without rebooting into Windows. I call this process “pretendulation” because it isn’t emulating the entire operating system, but it is still far from native.

That sounds good, more games for Linux, right?

Well, when I started writing about Linux gaming 18 years ago there was a commercial, closed-source, fork of WINE called WineX. WineX had a lot of fans, it was developed by people who had been working on Wine, which was a more generalized product for Windows software, to target game software. These developers of WineX (later called Cedega) did a good job at writing the software, but it had a number of issues.

One of those WineX issues was that Windows compatibility is a moving target. Any progress the WineX developers made to support new versions of Microsoft’s DirectX game software programming interface were usually still years behind where modern games were. If the latest Battlefield game came out and it only worked with DirectX 8 and WineX was still on 6 or 7, it was going to be a while until they could support that new game.

Even though new DirectX versions are less of a headlining feature in Windows these days, compatibility with a wide range of games is going to be a problem for Valve’s Proton as well. 

Any emulation, or translation, layer, is also going to introduce some amount of performance overhead. You can’t emulate a PlayStation 3 or Dreamcast at full speed on a lot of expensive computers today, but you can buy the original console for $50 that plays those games perfectly. The same issue happens with emulating Windows APIs under Linux. Some games will only have a very small hit to performance, but others might be more of a problem and you won’t get the same framerate that you do under Windows.

So there are compatibility and performance issues, that’s it, right? Nope, there’s one more technical hurdle. When something breaks, you’re not going to know if it’s the game or the emulation layer. I imagine this will infuriate some developers.

Valve claims that games they’ve tested and whitelisted in this beta have an almost identical gameplay experience to Windows, and they acknowledge the performance overhead. Valve doesn’t acknowledge the negative effect this will have on real native ports of games. Back in those WineX days there were some developers and publishers who cancelled their plans for native Linux ports because Windows pretendulation was “good enough” for them, even when Wine or WineX didn’t provide a great experience for players.

“Good enough” Windows API emulation eventually turned into developers porting their games with Wine wrapped up into a library, giving Linux players some of the half-assed ports they have today.

One additional issue that wasn’t a problem with WineX, these improvements to Wine are only designed to work with games on Steam. You won’t be playing Battlefield  5 with Proton. Although Valve’s fork of Wine is open-source, unlike the old WineX fork which had its source closed behind an agreement that the executives at Transgaming later deleted and refused to acknowledge.

Proton is an interesting technology, but a bad thing for anyone who loves Linux gaming and wants native ports of games brought to Linux.