- cross-posted to:
- steamdeck@sopuli.xyz
- linux@lemmy.ml
- cross-posted to:
- steamdeck@sopuli.xyz
- linux@lemmy.ml
YouTube video: https://youtu.be/uScsmjvdwyo
Invidious video from YouTube without YouTube: https://inv.nadeko.net/watch?v=uScsmjvdwyo or https://invidious.nerdvpn.de/watch?v=uScsmjvdwyo
PeerTube, alternative video hosting platform based on Fediverse: https://subscribeto.me/w/isv3e2tfTJyGeAT6RRSR6M
Video description:
It’s clear there are some people who don’t understand Proton. So let’s talk about it. #Proton #SteamPlay #CompatibilityLayer
00:00 Introduction
00:41 The basics of a computer
01:46 What Proton is not
03:04 What is an emulator
04:32 Proton acts like a map
05:25 Proton translates API and system calls
06:18 Proton provides a Windows-like software environment
06:55 Why are some games incompatible?
08:52 Shouldn't we demand native Linux games?
11:07 Conclusion
Another thing that wasn’t mentioned in the video that Proton does is it also – sometimes, depending on the game – checks a list of known requirements for a game and installs them through winetricks, or makes other recommended changes to game files that are known to make the game work.
When Proton is updated and the patch notes mention that a game was fixed, it’s something to do with this part of the process. A certain library, or whatever was missing and Proton installs it for you behind the scenes.
It also runs WINE through Steam’s launcher (aka Steam Linux Runtime) which has some common redistributables (aka Steamworks SDK Redist) built right into it, and it also runs appropriate anti-cheat solutions (aka Proton EasyAntiCheat Runtime or Proton BattlEye Runtime).
I actually didn’t know the Steam Linux Runtime was WINE. Nice. (Note, I’m not the author of the video.)
It is not just WINE. The Steam Linux Runtime is a stack of linux native libraries, binaries and tools designed to give game devs a consistent version of things to develop games against. Recently they moved this to be container based and I believe proton (which contains wine) is run inside this runtime as well.