protonscr

Diablo IV Beta not launching

vkd3dclosed
HansKristian-Work/vkd3d-proton#1471 · opened 2023-03-17 by KlumzByte · updated 2023-03-26 · 30 comments · github
KKlumzByte 2023-03-17 github

The upcoming Diablo IV has a running Open Beta this weekend.
On Windows 10 its currently possible to launch the game to show the in-game login menu, using parameter: "Diablo IV.exe -launch"

On Linux pop-os 22.04, using latest GE-Proton7-51 as Non-Steam game, this fails with a popup (i still think you can launch the game even with the popup on windows, this may not be the root issue):
image

I've gathered the proton logs here:
steam-diablo-iv.zip

glxinfo:
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce RTX 3080/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 525.85.05
glxinfo.zip

Screenshot of the files:
image
image

BBlisto91 2023-03-17 github

What happens if you launch with PROTON_ENABLE_NVAPI=1 %command% ?

Ddoitsujin maintainer 2023-03-17 github

The game does not load d3d12.dll, this is unlikely to be a vkd3d-proton issue.

KKlumzByte 2023-03-17 github

Same issue, not starting up, logs:
steam-diablo-iv-2.zip

However, just saw that an user on reddit managed to get it running using some of these settings using Lutris:
lutris-GE-Proton7-19

  • dxvk-2.1
  • vkd3d-proton-2.8
  • Enable D3D Extras = true
  • Enable DXVK-NVAPI / DLSS = false
  • Esync = true
  • Fsync = true

Environment Variables:

  • VKD3D_FEATURE_LEVEL=12_1

And overwriting wine D3D12Core.dll with the games D3D12Core.dll

https://www.reddit.com/r/linux_gaming/comments/11tt2zd/for_those_wondering_about_diablo_4_beta_launching/

KK0bin 2023-03-17 github

Curiously, the first log doesn't even load d3d12.dll (or d3d12core.dll). So it's probably just checking the DXGI adapter and isn't happy with something about that.

BBlisto91 2023-03-17 github

As a quick thing try to launch without mangohud, if you haven't already. Sometimes rarely it can cause issues.

KKlumzByte 2023-03-17 github

Logs with MANGOHUD=0:
steam-diablo-iv-3.zip

KKlumzByte 2023-03-17 github

Using the same settings as the reddit post, I managed to get it running via Lutris.

KKlumzByte 2023-03-17 github

I can get it running using the following options via Lutris:

  • lutris-GE-Proton7-19-x86_64
  • DXVK v2.1
  • VKD3D v2.8
  • DXVK-NVAPI / DLSS = true
  • Esync = true
  • Fsync = true

No need for DLL overrides

lutris-GE-Proton7-39-x86_64 fails with NO GPU found.

GGloviano 2023-03-17 github

The above workarounds do not appear to work on NVIDIA gpus.

lutris-GE-Proton-7-19-x86_64 w/ DXVKv2.1 and VKD3Dv2.8 returns: "Graphics initialization failed, please ensure that your drivers are up to date and no other 3D applications or games are running and try again."

later versions of lutris-GE-Proton returns: "No GPU Found"

KKlumzByte 2023-03-17 github

Works fine here on EVGA 3080 RTX (driver 525.85.05), been playing for 45 mins now in-game.

GGloriousEggroll 2023-03-18 github

Noting here since it hasn't been stated anywhere else yet. The No GPU Found issue was bisected to commit https://github.com/ValveSoftware/wine/commit/51ce414a1f41fcaa415c4d3b4edd6b96ba711a35

Confirmed reverting it on top of my current build works on both AMD and Nvidia

Requires dxvk 2.1+ and vkd3d-proton 2.8+ to work properly in addition to the reverted commit.

Lutris defaults to dxvk 1.10.1 and vkd3d-proton 2.6 which still cause the issue to occur

Ddoitsujin maintainer 2023-03-18 github

Should also be noted that that commit is absolutely not the root cause of the problem and that reverting it will break a whole bunch of stuff.

BBlisto91 2023-03-23 github

This should now be solved through Proton Wine (a MR has also been opened for upstream Wine) and dxvk.

Pphilippludwig 2023-03-24 github
  • lutris-GE-Proton7-19-x86_64

Too bad that this version is no longer available.

image

KKlumzByte 2023-03-24 github
  • lutris-GE-Proton7-19-x86_64

Too bad that this version is no longer available.

image

Try https://github.com/GloriousEggroll/wine-ge-custom/releases/tag/GE-Proton7-40 or the newest https://github.com/GloriousEggroll/wine-ge-custom/releases/tag/GE-Proton7-41 that should have a fix for Diablo IV.

Pphilippludwig 2023-03-25 github

Thank you very much for your reply, @KlumzByte. Sadly, even with version GE-Proton7-41 I get the "no GPU" message (I also have dxvk 2.1 and vkd3d-proton 2.8).

BBlisto91 2023-03-25 github

You need proton experimental or newest Proton GE for a propor fix to that.
Wine-GE should also work outside Steam, but if you have a Nvidia GPU make sure you also either use dxvk master or just disable NvapiHack. Enabling Nvapi in lutris might do that not sure actually.

Pphilippludwig 2023-03-25 github

Thanks for your reply. Sadly I can’t compile DXVK myself from master, because glslang-tools is not recent enough on Debian; so I am stuck with the DXVK 2.1 that lutris ships with.

I tried playing with the NVAPI settings in lutris, but no luck.

dxgi.nvapiHack = False is already set in dxvk.conf.

BBlisto91 2023-03-25 github

You can find a compiled CI build of dxvk here if that helps https://github.com/doitsujin/dxvk/actions/workflows/artifacts.yml?query=branch%3Amaster

Pphilippludwig 2023-03-25 github

Thanks. I added the latest build from that page to lutris and set the game options to use it, but still "no GPU found".

BBlisto91 2023-03-25 github

Which Wine build were you using?

Pphilippludwig 2023-03-25 github

As stated above, I currently use lutris-GE-Proton7-41-x86_64.

BBlisto91 2023-03-25 github

Derp. Hmm not sure. Would have to try myself in Lutris later.

KKlumzByte 2023-03-25 github

As stated above, I currently use lutris-GE-Proton7-41-x86_64.

Try using steam with Proton Experimental, they have applied some fixes.

Pphilippludwig 2023-03-25 github

Already tried that. When I add the Diablo shortcut in Steam and run it with default settings, I get the same error. When I set it to Proton Experimental, I don’t even get the error, but this in the terminal:

Proton: Upgrading prefix from None to 7.0-101 (/home/philipp/.steam/steam/steamapps/compatdata/3761622820/)
fsync: up and running.
wine: Using setpriority to control niceness in the [-10,10] range
ThreadGetProcessExitCode: no such process 7502
ThreadGetProcessExitCode: no such process 7500
ThreadGetProcessExitCode: no such process 7499
ThreadGetProcessExitCode: no such process 7498
ThreadGetProcessExitCode: no such process 7380
ThreadGetProcessExitCode: no such process 7505
[S_API FAIL] SteamAPI_Init() failed; no appID found.
Either launch the game from Steam, or put the file steam_appid.txt containing the correct appID in your game folder.
ThreadGetProcessExitCode: no such process 7607
ThreadGetProcessExitCode: no such process 7544
ThreadGetProcessExitCode: no such process 7538
ThreadGetProcessExitCode: no such process 7532
ThreadGetProcessExitCode: no such process 7510
ThreadGetProcessExitCode: no such process 7507
ThreadGetProcessExitCode: no such process 7501
ThreadGetProcessExitCode: no such process 7497
pid 7503 != 7502, skipping destruction (fork without exec?)
Game process removed: AppID 0 "/home/philipp/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=3761622820 -- /home/philipp/.steam/debian-installation/ubuntu12_32/steam-launch-wrapper -- '/home/philipp/.steam/steam/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/home/philipp/.steam/steam/steamapps/common/Proton - Experimental'/proton waitforexitandrun  "env" "LUTRIS_SKIP_INIT=1" "lutris" "lutris:rungameid/21"", ProcID 7377 
ThreadGetProcessExitCode: no such process 7519
ThreadGetProcessExitCode: no such process 7379
ThreadGetProcessExitCode: no such process 7378
Uploaded AppInterfaceStats to Steam

It seems that by setting it to Proton Experimental, Steam now somehow believes that this is a steam game.


I think my GPU is just not powerful enough; I only have a GTX 980 with 4 GB of VRAM. While the minimum requirements by blizzard are described as 660 GTX, I have read online that the game sometimes requires 10 GB of VRAM.

GGloriousEggroll 2023-03-25 github

Thanks for your reply. Sadly I can’t compile DXVK myself from master, because glslang-tools is not recent enough on Debian; so I am stuck with the DXVK 2.1 that lutris ships with.

I tried playing with the NVAPI settings in lutris, but no luck.

dxgi.nvapiHack = False is already set in dxvk.conf.

You don't need to compile anything. Lutris already provides dxvk v2.1 and vkd3d-proton v2.8, (as well as the latest version of dxvk-nvapi). I updated the runtimes for Lutris on thursday so they should have the latest versions now.

My only other thought is maybe you're on an outdated nvidia driver?

Pphilippludwig 2023-03-25 github

I am using 470.161.03, the one that is included in debian.

Mmbriar 2023-03-25 github

You can't run any game on recent versions of vkd3d-proton with ancient drivers such as this. It requires at least 510.47 for vulkan 1.3, and better the very latest for more features and bugfixes.

DdustContributor 2023-03-25 github

I am using 470.161.03, the one that is included in debian.

Don't use Debian stable to game. You will have a bad time. Include the testing/unstable/experimental repositories to apt to install more recent versions of your drivers (or related tools if you're compiling like glsl-lang tools).

https://packages.debian.org/search?keywords=nvidia&searchon=names&suite=all&section=all

You can install 530.30 if you include experimental, for example.

Same thing with more recent versions of libvulkan-dev, glsllang-tools, mesa, and so on. For a couple years these have been hitting experimental/unstable within a couple of days of a new version being released (if not the same day).

https://packages.debian.org/search?keywords=glslang&searchon=names&suite=all&section=all

If you're worried all you have to do is to include the other repos, install what you need, and then comment them out in apt. Nothing else. But don't use Debian stable to play games. If you're going to use Debian, learn to cherry pick the more recent versions of the packages you need from the more recent repos.

Pphilippludwig 2023-03-26 github

Don't use Debian stable to game. You will have a bad time.

Can’t confirm that, WoW runs flawlessly.

I installed the NIVIDA driver 525.89.02 (that is the current production version on the NVIDIA download site) and Diablo runs fine now.

Thanks everyone for your help & patience.

Proton versions

Launch options

Launch lines

DLLs