Two big bits of news for Steam Play Proton today with two new versions getting released so let's take a look and see exactly what's new for the Windows compatibility layer.
Firstly, NVIDIA announced back in August that DLSS would come to Proton in September for DirectX 11 / 12. Well, their date was a bit off there it seems but Valve / CodeWeavers managed to pull in DLSS support for at least DirectX 12 in Proton Experimental as of September 30. To enable it you need to set PROTON_ENABLE_NVAPI=1
, which you can do as a Steam launch option for games like PROTON_ENABLE_NVAPI=1 %command%
(right click -> properties -> launch options).
Additionally this Proton Experimental release also fixes crashes in Project Wingman, Satisfactory and other Unreal Engine 4 games using the Vulkan renderer.
On top of that Proton 6.3-7 is also officially out now which includes these improvements:
- The following games are now playable:
- Life is Strange: True Colors
- Quake Champions (broken after a game update)
- Divinity Original Sin 2 (broken after a game update)
- eFootball PES 2021
- EVERSLAUGHT VR
- WRC 8, 9 and 10
- Fix Logitech G920 mapping for F1 2020.
- Fix Resident Evil Village display settings.
- Improve Forza Horizon 4 windowing.
- Update DXVK to v1.9.2.
- Update vkd3d-proton to include the latest development work.
Details can be seen on the official changelog any time.
If you need to learn more about Proton be sure to check out our Beginner's Guide.
I mean, we all want a better performance when possible, and DLSS sounds like a good idea to enable by default?
How do we know when to set PROTON_ENABLE_NVAPI=1? Or maybe rather, when should we not do it?
I mean, we all want a better performance when possible, and DLSS sounds like a good idea to enable by default?
You can set it as default, it doesn't seem to have any affect on games that don't use DLSS.
Can add it to your user_settings.py without worry.
youed add it like this. "PROTON_ENABLE_NVAPI": "1",
For GE at least.
When available.
So for experimental should be under $HOME/.steam/steam/steamapps/common/Proton - Experimental/user_settings.sample.py
add above to it and rename to user_settings.py.
Be warned you may need to make that change each time experimental updates.
(example is with arch, directory structure may be different for your preferred OS)
Last edited by RossBC on 1 October 2021 at 10:55 am UTC
(Epic Version, through Steam)
Steam version: 'PROTON_ENABLE_NVAPI=1' (sic) is enough.
Non-Steam Game, running inside steam: To do so, you either need to edit it into the user_settings.py file or use "Steam Tinker Launch"
Last edited by RossBC on 1 October 2021 at 12:01 pm UTC
How do we know when to set PROTON_ENABLE_NVAPI=1? Or maybe rather, when should we not do it?
I mean, we all want a better performance when possible, and DLSS sounds like a good idea to enable by default?
That switch does not just "enables" DLSS, but makes an alternative nvapi.dll/nvapi64.dll implementation visible to the game. NVAPI is NVIDIA's library for all kind of things, from display and power management to D3D9/11/12 extension methods. It is similar to AMD's AGS library but way bigger. That alternative implementation (DXVK-NVAPI) implements only a few methods (among others for supporting DLSS) of that huge API. Most games can cope with the fact that some (most) NVAPI methods are not implemented, but there are probably also games that don't handle this nicely and will just bail out.
Additionally, DXVK spoofs an AMD card by default (there is a DXVK configuration switch to disable this). For nvapi (and thus DLSS for D3D11), DXVK needs to report an NVIDIA card no longer as an AMD card but now as NVIDIA. Some games might choose a different path when seeing NVIDIA instead of AMD, this might make some edge cases visible, which aren't handled yet.
To answer your question, having NVAPI enabled all the time (esp. with AMD spoofing off in DXVK) is a bit more living on the edge, at least currently :)
Last edited by jens on 1 October 2021 at 12:44 pm UTC
Can play with maximum everything and extreme weather, ash all the nice stuff.
Haven't tried it with ray tracing but that needs VKD3D_CONFIG=dxr to work .
I should really disable, the video card spoof, dlss might appear running me5 with vkd3d. will give it a shot anyway.
edit: aright DXVK_CONFIG_FILE="where ever you put your dxvk.conf file"
needs to have :- dxgi.nvapiHack = False
In it.
DLSS options will appear under the Display tab NOT the Graphics tab.
Last edited by RossBC on 1 October 2021 at 2:26 pm UTC
Just to be clear, this still only works if you have a video card that supports it (RTX 20 or 30), right?
Yes correct.
DXVK-NVAPI mostly just forwards to DXVK/VkD3D-Proton, a bit of magic happens there, but the actual magic still happens in the CUDA kernel in the NVIDIA driver which, well, requires a recent NVIDIA card.
Last edited by jens on 1 October 2021 at 7:43 pm UTC
I have been holding out for prices to drop in order to get a 30 series NVIDIA GPU however I have just pulled the trigger on a AMD Radeon RX 6800XT for a whopping £1100.00 because my GTX1070 GPU is dying and NVIDIA cards are just to expensive or not available.
I hope I don't regret buying as I plan to game at 4k and was relying on DLSS to enable that. I am concerned as I haven't used a Radeon card for 10 to 15 years so am unfamiliar with their feature set.
This may end up my last GPU and exit from PC Gaming if this price gouging continues.
Get weird audio when shooting, might just be my setup, will give it a go with the old pulse audio work around.
The DLSS implementation in RDR2 is pretty bad though. If somebody wants to see how good DLSS can look, e.g. Doom Et. is the way to go (I'd also replace the version shipped by the game with the 2.2.6 DLL, as it shows much less smearing artifacts).
To enable it you need to set PROTON_ENABLE_NVAPI=1, which you can do as a Steam launch option for games like PROTON_ENABLE_NVAPI=1 %command% (right click -> properties -> launch options).Tried it all day long yesterday with mixed success. Works perfectly in this game:
- Cyberpunk 2077 (Steam version)
Does not work at all for me in the following:
- Control (Dx11/Dx12 - Steam version)
- The Ascent (Dx11/Dx12 - Steam version)
Has anyone tried with any of the games above?
Edit (6th Oct): after downloading Ghostrunner GOG Version (redeemable for free via Twitch Prime), DLSS works also there for me. I have just downloaded, built and deployed the latest master branch of dxvk-nvapi and followed the instructions there.
Last edited by LordDaveTheKind on 6 October 2021 at 5:01 pm UTC
To enable it you need to set PROTON_ENABLE_NVAPI=1, which you can do as a Steam launch option for games like PROTON_ENABLE_NVAPI=1 %command% (right click -> properties -> launch options).Tried it all day long yesterday with mixed success. Works perfectly in this game:
- Cyberpunk 2077 (Steam version)
Does not work at all for me in the following:
- Control (Dx11/Dx12 - Steam version)
- The Ascent (Dx11/Dx12 - Steam version)
Has anyone tried with any of the games above?
How did you get DLSS to work on Cyberpunk 2077, i tried with experimental proton version and the launch option but it still only has off as an option.
To enable it you need to set PROTON_ENABLE_NVAPI=1, which you can do as a Steam launch option for games like PROTON_ENABLE_NVAPI=1 %command% (right click -> properties -> launch options).Tried it all day long yesterday with mixed success. Works perfectly in this game:
- Cyberpunk 2077 (Steam version)
Does not work at all for me in the following:
- Control (Dx11/Dx12 - Steam version)
- The Ascent (Dx11/Dx12 - Steam version)
Has anyone tried with any of the games above?
How did you get DLSS to work on Cyberpunk 2077, i tried with experimental proton version and the launch option but it still only has off as an option.
Made several attempts: deleted the prefix, take all the variables in the Launch Options off and then on again, and relaunching the game at each attempt.
Currently I have the following Launch string:
PROTON_ENABLE_NVAPI=1 %command% --launcher-skip -skipStartScreen
Outcome is a little meh though:
See more from me