Has it really been that long? Apparently so. Valve originally announced their rebranding of Steam Play with Proton back on August 21st, 2018. Seems like a good time for a quick reflection being halfway to a decade old now with the tech that gave rise to the Steam Deck.
Games have to talk to your operating system to have it tell your GPU to draw lots of funny pictures that come together to make up the graphical portions of the game. Game developers do not want to do this directly, because talking directly to the OS is hard. As such, games talk to graphical APIs like Vulkan or DirectX to do the hard bit for them.
For years almost all games used DirectX, which is made by Microsoft. This gave Windows a virtual monopoly on PC gaming because they weren’t about to let their competitors use their API. Then Vulkan came out, which was designed from the beginning to be OS-agnostic, sending us to the promised land of games that could (with some other efforts) run on any machine, anywhere.
When developers need to draw graphics on the screen, they use an API like Direct3D (or DirectX) or Vulkan to accomplish it. Direct3D only works on Windows. Vulkan works on many operating systems. Vulkan replaced OpenGL.
DXVK translates DirectX calls, which only work on Windows, to Vulkan calls, which will work on Linux and other operating systems. It’s so good at this that it’s better than commercial game engines like Unity. DXVK is a separate project from Wine. Wine also uses wined3d to convert older Direct 3D calls to OpenGL calls, for the same effect.
Lastly, there’s VKD3D, which is Wine’s own Direct3D12 ➜ Vulkan compatibility layer. Valve forked this and created VKD3D-Proton, which is specifically designed for games, as opposed to general software.
still dont understand, eli5 please?
Games have to talk to your operating system to have it tell your GPU to draw lots of funny pictures that come together to make up the graphical portions of the game. Game developers do not want to do this directly, because talking directly to the OS is hard. As such, games talk to graphical APIs like Vulkan or DirectX to do the hard bit for them.
For years almost all games used DirectX, which is made by Microsoft. This gave Windows a virtual monopoly on PC gaming because they weren’t about to let their competitors use their API. Then Vulkan came out, which was designed from the beginning to be OS-agnostic, sending us to the promised land of games that could (with some other efforts) run on any machine, anywhere.
When developers need to draw graphics on the screen, they use an API like Direct3D (or DirectX) or Vulkan to accomplish it. Direct3D only works on Windows. Vulkan works on many operating systems. Vulkan replaced OpenGL.
DXVK translates DirectX calls, which only work on Windows, to Vulkan calls, which will work on Linux and other operating systems. It’s so good at this that it’s better than commercial game engines like Unity. DXVK is a separate project from Wine. Wine also uses wined3d to convert older Direct 3D calls to OpenGL calls, for the same effect.
Lastly, there’s VKD3D, which is Wine’s own Direct3D12 ➜ Vulkan compatibility layer. Valve forked this and created VKD3D-Proton, which is specifically designed for games, as opposed to general software.
Yes, it’s a bit confusing.