[SOLVED] Diablo II Resurrected fails to start with "Failed to initialize graphics device." error

I installed D2R via battle(.)net app in my existing world of warcraft prefix. When I try to run it, it shows “Failed to initialize graphics device.” error.
Screenshot_20211115_153903

Since launch, I have tried various wine, DXVK and Mesa versions, all with same results.

Brief system info
GPU: Radeon VII with opensource Mesa 21.2.5 drivers
OS: Debian testing with 5.14.0 kernel

runner versions
wine: lutris-6.21-x86_64
DXVK: v1.9.2L-3e64e1b
VKD3D: v2.5L-db89d40

To catch logs from game (as lutris shows only output from launcher) I created shell script with copied environment from launched D2R (I cannot paste link here due to limit of 2 links).

Log output (WINEDEBUG=+d3d): Ubuntu Pastebin

JSON with system info: Ubuntu Pastebin

Thanks for any help with this.
Mixi

1 Like

Runner script: Ubuntu Pastebin

So, I finally managed to make it work. Problem was with ingame GPU and driver version detection and was solved by faking different GPU and driver info using dxvk_nvapi.

  1. to fake compatible GPU (nvidia GTX 1080), create file dxvk.conf in game directory containing:
dxgi.customDeviceId = 10de
dxgi.customVendorId = 1b80
  1. to fake compatible driver version (460.91) set environment variable (configure → system options → environment variables):
DXVK_NVAPI_DRIVER_VERSION=46091
  1. to enable dxvk_nvapi I have set following DLL overrides (configure → runner options → DLL overrides) (probably not all of them are necessary, but this works for me):
d3d12=native
dxgi=native
nvapi=native
nvapi64=native

Enjoy

1 Like

Does the app not run when launched from battle.net launcher? Is your WoW link on Lutris pointing to the Battle.net.exe file or Wow.exe?

As I mentioned, I was using battle.net launcher to install and run D2R, but as I also mentioned, running D2R.exe directly had same behavior.
And yes, my lutris WoW link indeed points to battle.net.exe, otherwise I would have had real hard time installing D2R using WoW instead of bnet launcher. :smiley:

But I don’t see much point in this now, as this issue is already solved. :wink:

Trying to help a friend with this here, I only run WoW so have limited ability to help - strange to need to emulate an nvidia card to get the game to run. I assume that World of Warcraft runs just fine? What Vulkan ICD loader are you using on the System Options tab? Is it set to Auto? You don’t per chance have an iGPU on your system? Also, in Wine Configuration for your WoW Lutris entry, what Windows Version is set?

Yes, other bnet games (I have tried WoW, WoW classic, Diablo 3, Starcraft 2 and Heartstone) are running fine, only D2R had problem. Actually even some windows players had similar issue with initial GPU check. This reddit post pointed me in right direction: https://www.reddit.com/r/linux_gaming/comments/pu11mg/comment/hfhjybh/?utm_source=share&utm_medium=web2x&context=3

Regarding other questions:

  • vulkan loader is set to auto
  • I have no iGPU, only discrete GPU (Radeon VII)
  • I didn’t change windows version in wine, wine control panel reports Windows 10

Thanks for the link, we were on the Battle.net forums and like you said there are hundreds of complaints and threads on the topic, many closed. He has a i5-7500 with an rx 580 so meets the specs, but can’t get it to work on Windows 10, and was asking me if I knew how to get it working on Mint. I have helped others to install it and run it, but for him no go - I will pass this over to him to try out.