Closed cg666 closed 4 months ago
Hi, I just tried D4 on my own machine where I have DLSS working and looking at your game logs and comparing to mine I see something interesting. Mine look more or less like this (with some irrelevant stuff omitted):
Build VersionEx: 1.4.4.55523 (19474419-19475604)
Initializing graphics subsystem...
dpi = 96 96
[…]][streamline][error][…]ota.cpp:136[execThreadProc] Failed to create process C:\windows\system32\nvngx_update.exe -cmsid 0 -feature sl_common_0 -api bootstrap
[…]][streamline][error][…]ota.cpp:136[execThreadProc] Failed to create process C:\windows\system32\nvngx_update.exe -cmsid 0 -feature sl_common_0 -api update -type dll -gpuarch 0x190 -optional
[…]][streamline][error][…]ota.cpp:136[execThreadProc] Failed to create process C:\windows\system32\nvngx_update.exe -cmsid 0 -feature sl_dlss_0 -api bootstrap
[…]][streamline][error][…]ota.cpp:136[execThreadProc] Failed to create process C:\windows\system32\nvngx_update.exe -cmsid 0 -feature sl_dlss_0 -api update -type dll -gpuarch 0x190 -optional
[…]][streamline][error][…]ota.cpp:136[execThreadProc] Failed to create process C:\windows\system32\nvngx_update.exe -cmsid 0 -feature sl_dlss_g_0 -api bootstrap
[…]][streamline][error][…]ota.cpp:136[execThreadProc] Failed to create process C:\windows\system32\nvngx_update.exe -cmsid 0 -feature sl_dlss_g_0 -api update -type dll -gpuarch 0x190 -optional
[…]][streamline][error][…]ota.cpp:136[execThreadProc] Failed to create process C:\windows\system32\nvngx_update.exe -cmsid 0 -feature sl_reflex_0 -api bootstrap
[…]][streamline][error][…]ota.cpp:136[execThreadProc] Failed to create process C:\windows\system32\nvngx_update.exe -cmsid 0 -feature sl_reflex_0 -api update -type dll -gpuarch 0x190 -optional
[…]][streamline][error][…]ota.cpp:136[execThreadProc] Failed to create process C:\windows\system32\nvngx_update.exe -cmsid 0 -feature sl_common_0 -api bootstrap
[…]][streamline][error][…]ota.cpp:136[execThreadProc] Failed to create process C:\windows\system32\nvngx_update.exe -cmsid 0 -feature sl_common_0 -api update -type dll -gpuarch 0x190 -optional
[…]][streamline][error][…]ota.cpp:136[execThreadProc] Failed to create process C:\windows\system32\nvngx_update.exe -cmsid 0 -feature sl_pcl_0 -api bootstrap
[…]][streamline][warn][…]ota.cpp:426[getOTAPluginForFeature] Could not find version matching for plugin: common_0
[…]][streamline][warn][…]ota.cpp:426[getOTAPluginForFeature] Could not find version matching for plugin: dlss_0
[…]][streamline][error][…]ota.cpp:136[execThreadProc] Failed to create process C:\windows\system32\nvngx_update.exe -cmsid 0 -feature sl_pcl_0 -api update -type dll -gpuarch 0x190 -optional
[…]][streamline][warn][…]ota.cpp:426[getOTAPluginForFeature] Could not find version matching for plugin: dlss_g_0
[…]][streamline][warn][…]ota.cpp:426[getOTAPluginForFeature] Could not find version matching for plugin: reflex_0
[…]][streamline][warn][…]ota.cpp:426[getOTAPluginForFeature] Could not find version matching for plugin: common_0
[…][streamline][warn][…]ota.cpp:426[getOTAPluginForFeature] Could not find version matching for plugin: pcl_0
[Prism] Gpus detected (index 0 will be used):
- NVIDIA GeForce RTX 4080 Laptop GPU (0x10de|0x27e0)
[Prism] Displays detected for current gpu:
- Generic Non-PnP Monitor (2560x1600)
[Prism] RemoteDesktopSession is false
[Prism] NvApi failed to initialize
[Prism] Created Dx12 device
[…][streamline][error][…]sl.cpp:668[operator ()] Feature 'kFeatureDLSS_G' requires GPU hardware scheduling to be enabled in the OS
[Prism] Raytracing is disabled
*************
This [Prism] NvApi failed to initialize
message appears to be misleading as it is printed even for me where NvAPI obviously loads and works fine. However, your logs have some other concerning messages there:
E 2024.07.13 09:51:43.120087 0 [Game] [11-51-43][streamline][error][tid:220][0s:087ms:624us]commonentry.cpp:702[getNGXFeatureRequirements] ngxResult failed 0xbad00002
W 2024.07.13 09:51:43.120122 0 [Game] [11-51-43][streamline][warn][tid:220][0s:087ms:662us]dlssentry.cpp:213[updateEmbeddedJSON] Failed to obtain DLSS min spec requirements from NGX, using SL defaults
…
E 2024.07.13 09:51:43.242547 0 [Game] pmAftermathError::LogResult: Unsupported driver version - requires at least an NVIDIA R495 display driver. - Error : Invalid, SystemCode : 0x00000000 (S_OK)
W 2024.07.13 09:51:43.404973 0 [Game] [11-51-43][streamline][warn][tid:220][0s:372ms:516us]commonentry.cpp:1322[slOnPluginStartup] Failed to initialize NGX, any SL feature requiring NGX will be unloaded and disabled
E 2024.07.13 09:51:43.405259 0 [Game] [11-51-43][streamline][error][tid:220][0s:372ms:806us]dlssentry.cpp:934[slOnPluginStartup] Missing NGX context - DLSSContext cannot run
This is strange, as if the game was unable to load NGX at all, not to mention that Aftermath is confused about the driver version which might point to yet another weirdness…
Anyway, please get me logs with the following environment variables:
WINEDEBUG="+timestamp,+pid,+tid,+seh,+unwind,+threadname,+debugstr,+loaddll"
DXVK_NVAPI_LOG_LEVEL=trace
DXVK_NVAPI_LOG_PATH
unset because I'm mostly interested in Wine's +loaddll
logs interleaved with dxvk-nvapi logs (which you can redirect to file by launching like so: wine Battle.net.exe &> /tmp/bnet.log
or wine64 'Diablo IV.exe' -sso -launch -uid fenris &> /tmp/d4.log
, you get the idea, adjust paths as needed).As a sanity check, you could also verify the following things at the same time:
libnvidia-ngx.so.1
)? I recall some Debian and Debian-based systems failing to install libnvidia-ngx1
package when installing NVIDIA drivers but I hope we are past that now. Without this, DLSS wouldn't work anywhere on your system, not even in Linux-native applications, except maybe in some Flatpak or Snap-related scenarios.nvngx.dll
and _nvngx.dll
installed somewhere into it and FullPath
value under HKLM\Software\NVIDIA Corporation\Global\NGXCore
registry key set to point to their location? Can you check if you can successfully run other games or samples that make use of DLSS in your prefix?dxvk-nvapi.log shows several message like this :
NvAPI_QueryInterface (0xf1ea1980): Unknown function ID
Curiously, this is the only function ID I don't recognize. The other three in your logs are known to be harmless so we can ignore them, but this one is interesting because the game does not ask for it on my system.
[Prism] Raytracing is enabled
I was not aware that I had to copy nvngx.dll and _nvngx.dll into prefix.
It's working like a charm.
Thank you for your help.
Hello,
When running Diablo 4 DLSS is not available in the game. Game is launched with DXVK_ENABLE_NVAPI=1
Im using Proton EGG Roll 9.10 and update nvapi.dll with release 0.7.1.
I notice that NVAPI failed to initialized from games logs (_FenrisDebug-X.txt) :
[Prism] NvApi failed to initialize
dxvk-nvapi.log shows several message like this :
NvAPI_QueryInterface (0xf1ea1980): Unknown function ID
Full logs attached
_FenrisDebug-7.txt dxvk-nvapi.log
Let me know if I can improve logs.
Thank you