protonscr

diablo II ran with the d2dx wrapper crashes nvidia driver

dxvkclosed
doitsujin/dxvk#2118 · opened 2021-06-22 by voguelike · updated 2021-06-25 · 10 comments · github
2 matching comments, n / p to jump
Vvoguelike 2021-06-22 github

d2dx is a glide-wrapper than turns diablo II into a well behaved directx 11 window. when ran with the latest dxvk release and the latest dxvk-bin from the aur, the game does not launch and instead shows a d2dx error and crashes.

Software information

Diablo II ran with glide (3dfx) through the d2dx wrapper

System information

  • GPU: NVIDIA GeForce GTX 680
  • Driver: 465.31
  • Wine version: wine-staging 6.11
  • DXVK version: 1.9 and 1.8.1

Apitrace file(s)

trace.tar.gz
i don't know if this is traceable. it says that it never used the dxgitrace.dll but here's the one i got out of it just in case.

Log files

Ddoitsujin maintainer 2021-06-22 github

That's some sort of setup issue on your end. Make sure you have a 32-bit Vulkan loader and driver installed on your system.

Vvoguelike 2021-06-22 github

thank you. i was missing lib32-nvidia-utils.
now i can get the game working through d2dx without dxvk, but it doesn't work with reshade. if i add in reshade then a lot of the game's textures are missing and it's not playable. and since the game works just fine with wine3d, i can't get an apitrace.

if i run it through dxvk, reshade or not, i get:

err: DxvkSubmissionQueue: Failed to sync fence: VK_ERROR_DEVICE_LOST
err: DxvkSubmissionQueue: Command submission failed: VK_ERROR_DEVICE_LOST

Ddoitsujin maintainer 2021-06-22 github

driver crash, could be all sorts of things. Really need an apitrace to debug that, and if it works fine with wined3d then I don't see why you couldn't get one.

Vvoguelike 2021-06-22 github

maybe i'm doing it wrong, but when i launch an apitrace, the game runs like normal and once i close it there's no game.trace and it says:
apitrace: unloaded from C:\Program Files\Diablo II\ProjectD2\Game.exe
warning: C:\Program Files\Diablo II\ProjectD2\apitrace-10.0-win32\bin\..\lib\wrappers\dxgitrace.dll was never used: application probably does not use this API

i launch the apitrace with this command:
wine apitrace-10.0-win32/bin/apitrace.exe trace -a dxgi Game.exe -3dfx

and i have added and replaced the neccesary dlls from apitrace (d3d11.dll, dxgi.dll, and dxgitrace.dll), as well as the dll overrides for these. i've tried both -a dxgi and -a d3d11 with the same results.

Ddoitsujin maintainer 2021-06-23 github

do you have the DLL overrides for d3d11 and dxgi set to native,builtin? If so, that should work.

Vvoguelike 2021-06-23 github

that was it, the dll overrides were missing. i think i forgot to add them back when i reset the prefix while troubleshooting

though now the game crashes when i run the apitrace correctly so i don't know if it'll be useful.

trace.tar.gz

Ddoitsujin maintainer 2021-06-24 github

sigh, no, not useful since it looks like it somehow managed to crash during device creation for some reason.

You don't happen to have access to a Windows machine to do the whole trace thing on?

Vvoguelike 2021-06-24 github

yes i do! here's the apitrace from windows

Game.zip

Ddoitsujin maintainer 2021-06-24 github

Thanks. Does the commit above fix the issue? Build is available here.

Vvoguelike 2021-06-25 github

yes it does, everything works perfectly now, thank you so much!

DLLs