After I upgraded from 525 Vulkan Dev driver to the latest 535.54.03 stable release, I started encountering consistent crashes shortly after starting Diablo IV. Logs generated by the game itself suggest that the issue lies in _nvngx.dll
, one of two libraries that are meant to be installed inside Wine prefixes to enable DLSS in games running via Wine:
UNHANDLED EXCEPTION: ACCESS_VIOLATION (c0000005) at:
DBG-OPTIONS<NoAddress NoFuncOffset NoImage>
DBG-ADDR<000000001D9B60A6>("_nvngx.dll")
DBG-OPTIONS<>
Setting WINEDLLOVERRIDES
environment variable to _nvngx=
prevents Wine from loading this library and the game from crashing like this, although then DLSS cannot be enabled in-game:
Failed to initialize NGX, any SL feature requiring NGX will be unloaded and disabled
Missing NGX context - DLSSContext cannot run
This issue seems to be fairly specific to this game, some other games that make use of DLSS still work fine on 535 drivers (I’ve checked Cyberpunk 2077 and Monster Hunter Rise).
I hope this can be easily reproduced for debugging, all that should be needed is a Wine prefix setup that has Diablo IV with DLSS working on 525 drivers and then upgrading the driver to 535.54.03, but for the record my setup is:
- Arch Linux, KDE Plasma, Wayland session
- Intel Raptop Lake iGPU and GeForce RTX 4080 Mobile in PRIME render offload configuration (laptop)
- wine-tkg-staging-protonified-8.7 (but it’s very likely that Proton Experimental can also be used if one installs Battle.net as a non-Steam game)
- pretty much the latest git versions of dxvk, dxvk-nvapi and vkd3d-proton