How is running a game with proton different in Steam and Lutris?
I have had numerous cases where a non-Steam game would run perfectly through Steam with Proton but the same game wouldn't even launch through Lutris, even though I used the exact same Proton version. How are they different? Is there anything that Steam does in the background that Lutris won't?
I'd love if anyone could shed some light on this for me.
Proton is basically just a version of Wine but Steam has other runtime apps like Pressure Vessel that work together making the game run. Don't know if Lutris has anything else than managing and running the apps in the Wine prefix with specified Wine version. This is as deep as my knowledge goes.
Proton is Valve's version of wine running inside a container specifically made for Steam, while Lutris is only using wine.
And the versions being used by Lutris and the version being used by Steam are not the exact same thing. If you use GloriousEggroll for example there is the proton-ge-custom repo for Proton, which is the one Steam uses, and the wine-ge-custom repo that Lutris uses.
I'm not even sure that the latest "GE-Proton8-14" and "Wine-GE-Proton8-14" are actually equivalent to each other. They were released two weeks apart and might be based on slightly different wine and/or dxvk versions since they are using whatever the bleeding edge git commits are, rather than actual stable releases (i.e. using commit #ABCD1234 instead of release version 1.2.3)
I know that wine and proton are not the same thing, which is why I specifically ran my tests with the Proton Experimental version that is downloaded through Steam in both launchers. I tested it again with GE-Proton8-14 and the results were largely the same: Most games ran just fine, but some wouldn't launch in Lutris and would instead work through Steam.
Proton isn't meant to be run outside of Steam at all. If you are running games in Lutris you need to use the "lutris-GE-Proton8-14" you can find in the Lutris wine version manager. There is actually a huge bold disclaimer about that on the proton-ge-custom repo I linked in my last comment. Proton (and Steam) bundles a bunch of libraries together while Lutris uses whatever versions your system has installed.
I think it is to do with the files steam adds, not just proton.
To get a pirated copy of a game to work I created a compat folder for steam games, put the whole game in there, then ran it from lutris and it worked. (I can’t remember exactly how I created the compat folder but I can update this comment later when I’m at pc if you can’t figure it out)
When running from lutris without the folder structure of steam compat files it had many visual glitches.
When running from steam it tried to attach some steam processes which didn’t work for the pirated game.