Ever since Valve’s introduction of Proton — a compatibility tool in Steamfor Linux that lets you install and play games designed exclusively for Windows — I’ve wanted to examine how a variety of games perform under both Windows 10 and Linux.
This is the beginning of that exploration. I plan to evaluate a lot more games, different system configurations and keep tabs on the progress of Proton and Linux driver performance going forward.
There are two main questions I want to answer through this little experiment:
- Valve’s Proton uses DXVK to translate the Windows DirectX API to Vulkan on the fly. Does this really yield unacceptable performance drops compared to the same games on Windows 10?
- Can native Linux ports of games like Dirt Rally, Dawn of War IIIor Rise of the Tomb Raider perform on par or better than their Windows counterparts?
Let’s start by testing three Windows games running on Steam Play, then three separate games that have native Linux ports and wrap up with Unigine OpenGL benchmarks across both Windows and Linux. All tests were done using identical hardware — in this case my favorite little NUC:
Intel Hades Canyon NUC (i7-8809G + Radeon Vega M Graphics)
YOU MAY ALSO LIKE
Have I mentioned I love this little PC? Anyway here are the important details for this system:
- Linux OS: Pop!_OS 18.10
- Kernel: 4.20.12
- Windows OS: Windows 10 version 1809
- Linux Graphics Driver: 18.2.8 / Vulkan Version: 1.1.70
- Windows Graphics Driver: Radeon Software 18.9.1
- Steam Proton Version: 3.16-7
Windows Vs. Steam Play (Proton)
This first batch of benchmarks looks at the average framerates for Strange Brigade, Hitman 2 and F1 2018 on Windows 10 (their native versions) and then through Steam Play on Linux. Remember, these are not Linux native ports and are enabled for immediate installation on Linux through Steam’s built-in Proton tools.
I chose quality settings that seemed sane for the PC’s capabilities, which continue to impress me. The target was 1080p/60fps.
In F1 2018 we see Windows with only a 5% performance advantage, which is negligible given run-to-run variance. At most we see Linux only trailing by 8% with Strange Brigade.
Despite being chalked up as a “loss” for Linux, it’s actually a win in multiple ways. First, these games wouldn’t even run in Steam until the middle of 2018. While it’s been possible to run them through PlayOnLinux and Lutris, Valve really simplified the process and made everything automatic; basically as easy as installing and running the game under Windows.
Second, the performance is impressive when you consider what’s happening behind the scenes. Proton is effectively a fork of WINE, itself a compatibility layer which combined with DXVK translates DirectX API calls on the fly to an API that Linux understands.
Considering that these games aren’t designed to even run on any OS but Windows, I’m actually pleased with a less than 10% performance difference.
Windows Vs. Native Linux Ports
Now let’s check out a few games that have been ported directly to Linux by Feral Interactive. These same titles are of course on Steam for Windows. Does the performance gap differ?
It looks like Rise of the Tomb Raider is still perfectly playable (consider again that this is effectively an integrated graphics card solution), but the Windows version sees about 12% higher average framerate.
Warhammer 40K: Dawn of War III suffers even more compared to its Windows counterpart, but can still hit almost 60FPS at high quality settings on this little machine.
The script gets flipped with Dirt Rally, which uses OpenGL. With the settings cranked up to Ultra, Codemasters‘ punishing racer performs like a dream on Linux, flying past Windows by about 14%. (By the way, I’ve just started playing Dirt Rally 2.0 on this same machine, and it runs flawlessly.)
That prompted me to see how well a couple pure OpenGL benchmarks would do on both operating systems.
OpenGL: Unigine Valley & Superposition
In the demanding Superposition benchmark, Linux takes OpenGL and races past Windows by about 21%, and in the lighter Valley benchmark it also snags a victory by 9%. Now, this may be a pointless argument because Windows games will almost always utilize DX11, DX12 or Vulkan, but it’s still interesting to see.
Based on this sampling of 6 six games, it’s fair to say that Windows 10 will generally extract more performance out of your gaming hardware. It’s equally fair to say that across multiple graphics APIs, Linux can stay competitive. From this initial examination, we can debunk that myth of Linux gaming performance being so far behind Windows that it’s not worth bothering.
Do I need 66 FPS if I’m getting 60 FPS? Nah.
This is 1080p though. I’m going to check out these same titles on much higher-end hardware next time, and at higher resolutions. Stick around to see if the same patterns emerge.