protonscr

Add information about DLSS support to Proton Log

protonopen Feature Request
ValveSoftware/Proton#4924 · opened 2021-06-26 by tgurr · updated 2021-07-09 · 3 comments · github
Ttgurr 2021-06-26 github

Feature Request

I confirm:

  • [x] that I haven't found another request for this feature.
  • [x] that I have checked whether there are updates for my system available that
    contain this feature already.

Description

I've packaged the latest beta 470.42.01 nvidia-drivers for Exherbo Linux letting the two {_,}nvngx.dll files getting installed to /usr/x86_64-pc-linux-gnu/lib/nvidia/wine/, using Proton Experimental I'm able to select DLSS within No Man's Sky and it appears to work, however I'm not able to tell if it actually does. I can't find the dlls being copied into the proton prefix compatdata/275850/pfx/drive_c/windows/system32/ and there doesn't seem to be any log output whether it actually tries to copy the files, does so succesfully, or fail to find/copy them.

It would be nice to have steam report the DLSS support or {_,}nvngx.dll files in the steam system information or the pressure-vessel information output.

Additionally it would be nice if Proton could throw something on the command line like it does for fsync fsync: up and running.

Attached is my steam system-information.txt

Kkisak-valve maintainer 2021-06-26 github

Hello @tgurr, running a Windows executable in Proton while gathering system information feels excessive for minimal gain and outside the scope of Steam's system information or pressure-vessel. The scope of this feature request should be limited to adding a log message to PROTON_LOG if it's trivial to implement, otherwise this feature request should be declined.

Really, it's up to the individual game devs if they want to discretely use a vendor-specific driver feature or give it more visibility. You should be able to compare the game's behavior with Proton 6.3 and Proton Experimental and see if it greys out the feature in its settings or something when DLSS is unavailable.

Aaeikum 2021-07-08 github

We could add a log line if we locate the expected nvidia modules. Something like this (untested):

diff --git a/proton b/proton
index 36baf27..2ef5a07 100755
--- a/proton
+++ b/proton
@@ -220,6 +220,7 @@ def find_nvidia_wine_dll_dir():
 
     # Check that nvngx.dll exists here, or fail
     if os.path.exists(os.path.join(nvidia_wine_dir, "nvngx.dll")):
+        log("Found nvidia wine module path: " + nvidia_wine_dir)
         return nvidia_wine_dir
 
     return None
Ttgurr 2021-07-09 github

LGTM and should be enough to see that things appear to work as expected:
Proton: Found nvidia wine module path: /run/host/usr/x86_64-pc-linux-gnu/lib/nvidia/wine

For additional output I temporarily added

print("libglx_nvidia_realpath", libglx_nvidia_realpath)
print("nvidia_wine_dir", nvidia_wine_dir)

which gives me

libglx_nvidia_realpath /run/host/usr/x86_64-pc-linux-gnu/lib/libGLX_nvidia.so.470.42.01
nvidia_wine_dir /run/host/usr/x86_64-pc-linux-gnu/lib/nvidia/wine

so things seem to be detected/found properly.

Proton versions

Launch options

DLLs