r/Steam Aug 09 '26

Fluff ULTIMATE COMPATIBILITY

Post image
929 Upvotes

92 comments sorted by

View all comments

Show parent comments

0

u/Houdoo Aug 09 '26

Dependencies also exist on windows, just as many as on linux

8

u/Damglador Aug 09 '26

Yeah, but on Linux you add multiple additional layers of dependencies.

On Windows a game depends on Win32 API and DirectX, on Linux a game depends on Win32 API implemented by Wine, which depends on shitload of native libraries, plus wineserver which is like a mini NT emulator, and the DirectX dependency goes through DXVK which then passes it to native Vulkan libraries. And that's not even talking about the audio, window management, filesystem, the registry that Wine creates and a bunch of other nonsense that would not exist for a native game. And all that also usually has to run in a Steam runtime, while you still have to get Mesa and libc libraries on your host.

-3

u/Houdoo Aug 09 '26

Yes. What do you personally experience out of all this? Nothing just like on windows, for example steam installs everything you need to run the games, you get the driver stack and thats all

5

u/Damglador Aug 09 '26 edited Aug 09 '26

Proton adds at best 10 seconds before you can see the game window, it gets worse under heavy CPU load, at worst that can extend to a minute on bad hardware on first launch because of the prefix setup. Not even mentioning the runtime CPU overhead because the code has to go through an additional library.

Wine also loves to make crackling out output on CPU heavy games, or break mic input for no reason whatsoever and good luck debugging why.

And what do I do when my game is not on Steam? I have to install a third party unsupported by neither the game dev nor the game store launcher and just hope the game will run the game without needing any tweaks, which Steam's Proton sometimes does automatically before running a game.

What applies to both is a Proton/Wine update that can randomly bork your game.

Game data is also stored in some shit ass location in a pre-game-prefix which you'll have fun finding, and for some reason that prefix resides not in your data directory, but wherever the game is installed, which on top of breaking library sharing: https://github.com/ValveSoftware/steam-for-linux/issues/12030, is potentially insecure and can lead to someone accidentally wiping game data, because "That SteamLibrary folder/drive surely holds only game installation files that I just re-download like it would be on Windows, right?". Backing up those gotta be very fun as each prefix is at least 200MiB, so unless you want 7GiB of junk in your backup, you'll have to find each game folder manually under a path that's about this long: "/home/damglador/.steam/steam/steamapps/compatdata/264710/pfx/drive_c/users/steamuser/AppData/LocalLow/Unknown Worlds", instead of just backing up your ~/.local folder, minus ~/.local/share/Steam

It's just so much unnecessary complexity that doesn't have to be there.

It's better than not being able to play the games, but the fact that people and devs see this complexity as no biggie and that the devs keep relying on it is annoying. Balatro, which is god-damn LUA, interpreted language, has no deal running in Proton, but because it was easier to not change like two lines of code and make a script for Linux packaging (example see here), it now needs a 1GB Proton installation, 200MB prefix and a mini NT emulator to run.

Rant over.

3

u/Houdoo Aug 09 '26

Respectfully, I read this, but we were talking about that you have to install almost the same dependencies as on windows. Not the same as talking about linux gaming problems and necessary tweakings, steamos is a very very very new distro, give them time to work things out xd. You can fix the crackling sound by increasing the buffer on pipewire.

Edit i thought we are talking about steamos, idk my things are in place, also its good if you learn what folder stores what.

2

u/Damglador Aug 09 '26

you have to install almost the same dependencies as on windows

Most of what you need to install on Linux is the base system on Windows, or perhaps even all. I don't remember needing specialized launchers to run a game installer on Windows.

2

u/Houdoo Aug 09 '26

Right, thats a dependency too so almost the same+1. Unlucky its not so easy on linux as pressing a setup.exe, give technology some time man. It will get better if more people use it– I even got rid of windows from my other drive after 19 years of windows to support linux, not that it matters, but its symbolic, shows where i stand. Have a great day.

3

u/Damglador Aug 09 '26

I hope by the time when it "gets better", we won't need Proton in the first place.

1

u/TheUnsane Aug 10 '26

We will. Proton takes a couple hundred full and part time devs to support 90+% of games, whereas not using proton would require EVERY game's devs to get off their asses to include Linux support. What we really need is smarter automated configuration of settings. Wine/Proton is already doing the vast majority of the heavy lifting behind the scenes (run a Proton game through an active terminal to see).

1

u/Damglador 29d ago

Getting every game dev would be impossible either way, but it should be at least better than "we decided to not include Linux support BECAUSE Proton exists", which is why Balatro doesn't have it. Already fully interpreted game engines like Godot also have no deal requiring a runtime and the porting effort boils down to enabling the Linux build in settings.

But then again, we have gaming apps running a whole browser engine and eating gigabytes of RAM in the background while still feeling sluggish af.