How-To Geek: “Why You Should Use Proton Instead of the Steam Linux Runtime”

You should really just go play Escape Goat 2

The situation with Windows “API Compatibility” or emulation, however you call it, came to an inflection point when Valve started pushing or reassuring developers that they don’t need to port their games to Linux for them to work well on the Steam Deck. Jordan Gloor at How-To Geek has this article titled “Why You Should Use Proton Instead of the Steam Linux Runtime”:

When you use Steam’s compatibility features to run games on a Linux PC, you may have the option to run it with one of two utilities: Proton and Steam Linux Runtime. Between the two, you should probably choose Proton. Here’s why.

Gloor goes through a few reasons that it might be preferable for Linux gamers to use Proton instead of a native Linux port. Gloor says that the smaller size of the Linux game-playing audience means that the game developer may have spent fewer resources on making the port function well versus the Windows version of their game.

I don’t think Gloor is a bad person, but this is bad advice for both game players and Linux as a whole. Articles like this are disappointing, but they are the natural consequence of what Valve is doing by pushing their Windows API compatibility emulation layer over native Linux ports. It would be interesting if game developers have the option to disable Proton for their games because, and I cannot stress this enough, Windows emulation or compatibility layers truly are a coincidence when they work. Especially with games from smaller developers who do not have fantastic commercial success, I would not expect Proton to be the correct choice or to be surprised when Proton doesn’t work. Valve will most likely not take the time to make sure that, for example, Escape Goat 2 works in Proton. Yes, Escape Goat 2 is a real and very good puzzle game with a native Linux port. There are tens of thousands of games on Steam, it is impossible that these games will all work well in Proton. Linux users should absolutely go with the native port first, when they have the option.