Getting 3x the performance from Single Player Tarkov on Linux
A brief summary of my experience with linux gaming, Lutris, and translation layers
TLDR
Assuming that you can get SPT running on Lutris, all you need to do is switch from WINE3D3 to DXVK.
First, ensure that you have
nvidia
,lib32-nvidia-utils
, andvulkan
installedOpen the wine configuration menu from Lutris:
- Finally, add the following DLL overrides:
That’s it. That’s all it took for me to go from ~30fps, to 120+ for SPT.
How
The main issue arises from how wine handles Window’s DirectX: by default it uses WINED3D, but we really want DXVK.
WINED3D is made to be extremely stable and support a wide variety of programs, while DXVK is more experimental and written by the wizards at Value.
By overriding the DLL preferences, we essentially tell wine that we specifically want to translate them, rather than allowing wine to swap them out for WINED3D.
Conclusion
This problem was actually a massive pain to deal with mainly because the system was ‘working’, so there’s no magical log file or guide that says: ‘WARNING, even though you think you are using DXVK, you are actually not!’.
In general, gaming on linux is a lot like this; you either find the magical words that makes it work, or you get nothing at all. My advice for anyone out there doing something similar would be to actually learn about what each program is doing, then try and find exactly what part is not making any sense and to then work backwards to a solution.