HansKristian-Work / vkd3d-proton

Fork of VKD3D. Development branches for Proton's Direct3D 12 implementation.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Issues with DLSS + The Ascent

eaglemmoomin opened this issue · comments

Not sure if this is an issue with VKD3D-Proton, with the game itself or the NVidia driver. The DLSS options in the game are greyed out and the game has been installed from Steam. Ray Tracing appears to be working well. Checking the game installation I can see the nvngx_dlss.dll is present in the folder ../steamapps/common/The Ascent/Engine/Plugins/Runtime/Nvidia/DLSS/Binaries/ThirdParty/Win64

I know the EGS version of the game had a bug with DLSS not being an option. On Steam however I'm led to believe it works. Machine is running a 3080. I've tried with Proton Experimental, Proton 7.01 and the most recent Proton-GE (7.2) to see if the behaviour was different on any of them.

Screenshot from 2022-02-24 22-23-05

Are you using the required environment variables to make DLSS work (PROTON_ENABLE_NVAPI=1 PROTON_HIDE_NVIDIA_GPU=0)?

Yep did try setting both of them. Not in that order. Didn't think that mattered. Have to admit for the two other games I've tried it on (Control and Cyberpunk) only PROTON_ENABLE_NVAPI=1 has been necessary.

order doesn't matter and i'm not sure if the nvapi one actually implies the other, but yeah, it should work; if it doesn't it's most likely not a vkd3d thing.

Should be noted that some games don't allow DLSS if there is more than one GPU present on the system, so if you're using a system with integrated graphics, try DXVK_FILTER_DEVICE_NAME=RTX or something. No idea about this game but God of War required that hack.

Yeah I figured as much given the other two games I checked seemed to be fine. I'm on a desktop system with no other GPU in the system.

I don't know if Proton does this automatically, but when running CyberPunk in Wine with native system libs only, I need to either copy _nvngx.dll and nvngx.dll into the game's bin directory to make DLSS work (system32 prefix folder doesn't do the trick). Or I need to point to them via LD_PRELOAD=path/to/_nvngx.dll:path/to/nvngx.dll.

I don't know if Proton does this automatically, but when running CyberPunk in Wine with native system libs only, I need to either copy _nvngx.dll and nvngx.dll into the game's bin directory to make DLSS work (system32 prefix folder doesn't do the trick). Or I need to point to them via LD_PRELOAD=path/to/_nvngx.dll:path/to/nvngx.dll.

No Proton 'should' normally sort that out in my experience. Cyberpunks DLSS options are all present and accounted for. As are the other DLSS titles I've tested with. I think this is more likely a bug with The Ascent. I know the GamePass version of the game had issues with DLSS also.

I can't duplicate this with the latest Proton Experimental (didn't try older version). DLSS works fine for me on Nvidia 515 with PROTON_ENABLE_NVAPI_1 %command% as my launch options.

Can confirm using lastest Proton 7.05 stable and copying the Cyberpunk NVAPI dll into the DLSS plug in folder structure on disk. Then cycling between DX11 and DX12 enables DLSS and lets the game use it. Much better performance now AI upscaling is on.