Comment by pjerem
3 months ago
> Emulation overhead is also an issue for Proton on Linux
Nope because Proton is based on WINE, which stands for Wine Is Not An Emulator. Windows executables on Linux are running natively at full speed like any other Linux program.
Wine implements the Windows ABI and is just here to answer the system calls those executables are making.
In fact, most Windows games are running faster under Linux.
I remember running warcraft 3 under Wine in a Lan party.
At one point, during a Dota match, every single Windows machine crashed. And my Linux machine was the only one left in the server.
So not only does it run faster but it's more stable too.
Back in 2005 or so I was playing WoW under Wine, and surprisingly it was faster on my crappy PC at that time, because it used less RAM!
Sorry, but DirectX games don't work on top of the Vulkan graphics API used by Linux without an emulation layer provided by the Proton fork of Wine.
Wine may not be an emulator, but Proton includes a completely necessary translation layer if you intend to play DirectX games on Linux.
On Mac, Apple provides an open source emulation layer, D3DMetal, to translate from DirectX to Metal which is used by Wine.
DXVK, VKD3D, D3DMetal, etc. are translation layers. You're implying they're far more heavyweight than they actually are. The real reason Windows games don't run as well on Macs is that they're usually built for x86_64 instead of ARM.
As someone who has used both Windows and Linux to game on the same x86_64 device, the performance hit with Proton is pretty much negligible (and sometimes games actually run faster on Linux).
> DXVK, VKD3D, D3DMetal, etc. are translation layers.
Rosetta is a translation layer that only operates the first time you run a given x86 app on Mac, and creates an ARM translation that is written to disk and used in the future.
Does that mean it has no overhead?
3 replies →
That's not emulation, it compiles shaders to vulkan. DXVK commonly has a slight performance advantage over DX12 on Windows for some hardware.
> That's not emulation, it compiles shaders to vulkan.
D3DMetal compiles shades into Metal.
So it doesn't introduce overhead?
3 replies →
You have no idea what you're talking about and it's honestly kinda precious.