Steam

So how exactly does Steam/Proton emulate things like DirectX on Linux?

Or really any of the usually Windows-centric things like DirectX that results in my games playing on Linux.. I like that it "just works" and all, but I've never really been told how its done.

https://www.reddit.com/r/Steam/comments/1lv7q4s/so_how_exactly_does_steamproton_emulate_things/
Reddit

Discussion

Ketzerfriend

Technically, it doesn't emulate. In fact, Proton was built on Wine, which is a recursive abbreviation for "Wine is not an emulator". It translates library calls into its own. Thusly, it works more like an API than an emulator. Or so I've read.

19 hours ago
tanksalotfrank OP

LOL that's hysterical to learn, thanks for clearing that up for me

19 hours ago
Recipe-Jaded

It doesnt emulate, it translates. It basically takes windows API calls and translates them to POSIX calls that Linux can understand.

19 hours ago
salad_tongs_1
https://s.team/p/dcmj-fn

Quite simple.
Code goes in > Magic Happens > Game plays.

19 hours ago
tanksalotfrank OP

And here I thought it was fairy dust and unicorn hair, silly me!

19 hours ago
No_Whereas_5496

It’s built on WINE and DXVK which translates DirectX calls into Vulkan calls that can run natively on Linux. It does this for the CPU, registry, and memory management side of things through wine itself and “add-ons” to translate graphics api’s like DXVK. Everything is open source, but Valve contributed significantly to its development alongside a company called CodeWeavers (whom Valve also contributed funding towards)

It’s super impressive how it’s able to translate so fast and accurately that it runs something as intensive as a game that could be taking full advantage of your system resources. In my opinion, it’s one of the most impressive pieces of software out currently.

17 hours ago
Wolf68k
:assassinscreed::portal2::steam:

I found this https://www.youtube.com/watch?v=uScsmjvdwyo maybe it can help

19 hours ago
tanksalotfrank OP

Thanks, that explains it perfectly!

43 minutes ago