protonscr

Diablo II Resurrected black screen

vkd3dclosed
HansKristian-Work/vkd3d-proton#625 · opened 2021-04-18 by jas0n098 · updated 2025-11-14 · 53 comments · github
Jjas0n098 2021-04-18 github

Trying to run this game with VKD3D-Proton (commit c7eb6fd) will always result in a black screen the whole time the game is running, although you can still hear the intros and eventually main menu music. All tested drivers exhibited the same issue.

Tested with
Radeon RX 570 (4 GB)
Radeon RX 6700 XT
Mesa 21.2.0-devel (git-3af12216e3)
AMDVLK v-2021.Q2.1
Adrenalin 2020 Edition 21.2.3

VKD3D_DEBUG=trace log
vkd3d_trace.zip

apitrace (Recorded from Windows with native D3D12)
https://drive.google.com/file/d/1dBayiPY9rxGj3zWI5P_LA0J8EZtLI5gS/view?usp=sharing

JJen0k 2021-04-22 github

Any news on this? I have the same issue.

KK0bin 2021-04-22 github

No one has looked into this yet.

MMarcuss2 2021-04-24 github

I tested it as well, the only thing I can add is that I do see the custom cursor that the game uses once I get to the "main menu music"

Rrinaldus 2021-06-19 github

Diablo 2 Resurrected is scheduled to release 23rd of September. Will vkd3d team be able to provide compatibility to play before this date?

KK0bin 2021-06-19 github

The apitrace doesn't work so they'll need the game to debug it. That means the answer is most likely no.

Tthejens 2021-08-13 github

Same issue in open beta. At least now it's not "impossible" to get a hold of the game to test.

DDehir 2021-08-13 github

Same issue in open beta. At least now it's not "impossible" to get a hold of the game to test.

Confirming same issue. AMDGPU Polaris rx480 4gb. Introvideo and maybe menu seems to work at least according to voices heard on backround.

Tthejens 2021-08-13 github

Also brought up here I guess: https://bugs.winehq.org/show_bug.cgi?id=51105

GGordonfreeman882 2021-08-13 github

Same issue for me on rx550 2GB, manjaro x11.
If you leave the game running through the starting videos the ingame mouse appears on the black screen.
You can try to click some buttons ingame but since you cant see anything i couldnt get into a game to see if ingame engine works.

Ddvbeato 2021-08-13 github

same here: Archlinux X11 NVidia 1070ti

YYankas 2021-08-13 github

Same issue here, RX580 8GB, Arch/x11

KK0bin 2021-08-13 github

Yes, it appears to be a VKD3D-Proton issue, I don't think any more "me too"s are necessary.

If anyone actually wants to help, they could make an apitrace by throwing D3D12 apitrace at it. Found here: https://github.com/Joshua-Ashton/apitrace/releases/tag/d3d12-alpha-3

Has to be done on Windows. Copy over the d3d12.dll, dxgi.dll and dxgitrace.dll into the game directory and run the game. Then upload the .trace file that shouldve been created on your desktop.

YYankas 2021-08-14 github

As requested, here is an API trace:

(Game.trace) Google Drive Link
Diablo 2 Open Beta
Windows 10 21H1
GTX 1070 / 471.68

Sstonebuckl 2021-08-14 github

Is there any benefit in having multiple traces?

GGordonfreeman882 2021-08-14 github

Since i dont know if its making a difference if the system runs on an AMD-card i've also setup the API trace:
https://mega.nz/file/ecNwgbxA#YAa4H7ZpWFrY6FZR0Or9lqzRs7YKb2gFfRjL-6UcuU0 (mega.co.nz link -> file size over 3GB)
I've started up the game, joined single player and killed some daemons. Saved and exit.

Diablo 2 R Open Beta
Windows 10 21H1
RX550 2GB / -> default Windows installed driver version: 27.20.1034.6

As i mentioned earlier one can see the ingame mouse and can click blindly buttons and stuff.
As a last hope i clicked my way blind through and started a game to see if the ingame engine does any difference -> Nope it doesnt.

KK0bin 2021-08-14 github

Try that PR.

YYankas 2021-08-14 github

I build the PR version, and it seems to working now. Cinematics, menus and in-game gameplay display fine. Game still has stuttering / frame rate issues (for me at least), but the issue described here seems to be resolved.

Kkantlivelong 2021-08-14 github

Working here as well

Tthejens 2021-08-15 github

All working, good frame rates, just finished Act1 with no issue - thanks!

Vvegegoku 2021-08-15 github

Ok finally I have something to share, the fix didnt work for me and I noticed that on lutris only when I select version 1.7.1L of dxvk the game start with sound and black screen otherwise it just crash.

my system information

[System]
OS:              Ubuntu 20.04 focal
Arch:            x86_64
Kernel:          5.11.0-25-generic
Desktop:         KDE
Display Server:  x11

[CPU]
Vendor:          GenuineIntel
Model:           Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
Physical cores:  4
Logical cores:   8

[Memory]
RAM:             31.3 GB
Swap:            2.0 GB

[Graphics]
Vendor:          NVIDIA Corporation
OpenGL Renderer: Quadro M1000M/PCIe/SSE2
OpenGL Version:  4.6.0 NVIDIA 470.57.02
OpenGL Core:     4.6.0 NVIDIA 470.57.02
OpenGL ES:       OpenGL ES 3.2 NVIDIA 470.57.02
Vulkan:          Supported

nividia-driver-470
image

Is there a possibility that I need the fix applied to that exact version? and if so how it can be applied?

thanks

Kkantlivelong 2021-08-15 github

Ok finally I have something to share, the fix didnt work for me and I noticed that on lutris only when I select version 1.7.1L of dxvk the game start with sound and black screen otherwise it just crash.

Not sure if you did but I needed to copy the dlls to the proton directory as well as within the prefix.

Vvegegoku 2021-08-15 github

Ok finally I have something to share, the fix didnt work for me and I noticed that on lutris only when I select version 1.7.1L of dxvk the game start with sound and black screen otherwise it just crash.

Not sure if you did but I needed to copy the dlls to the proton directory as well as within the prefix.

What is proton directory? what is the path exactly?

Kkantlivelong 2021-08-15 github

What is proton directory? what is the path exactly?
In your case it's just the lutris wine path. I used personally Proton wine build.

I used Proton for my wine exec but you're using Lutris. Some of the paths are symlinked but here are the paths where those dlls can be found in my env:

/home/user/.local/share/lutris/runners/wine/Proton-6.14-GE-2-d2r-patch/lib/wine/vkd3d-proton/d3d12.dll
/home/user/.local/share/lutris/runners/wine/Proton-6.14-GE-2-d2r-patch/lib64/wine/vkd3d-proton/d3d12.dll

/home/user/Games/diablo-ii-ressurected/drive_c/windows/system32/d3d12.dll
/home/user/Games/diablo-ii-ressurected/drive_c/windows/syswow64/d3d12.dll

/home/user/.local/share/lutris/runtime/dxvk/v1.9.1L/x64/d3d12.dll
/home/user/.local/share/lutris/runtime/dxvk/v1.9.1L/x32/d3d12.dll
Vvegegoku 2021-08-15 github

What is proton directory? what is the path exactly?
In your case it's just the lutris wine path. I used personally Proton wine build.

I used Proton for my wine exec but you're using Lutris. Some of the paths are symlinked but here are the paths where those dlls can be found in my env:

/home/user/.local/share/lutris/runners/wine/Proton-6.14-GE-2-d2r-patch/lib/wine/vkd3d-proton/d3d12.dll
/home/user/.local/share/lutris/runners/wine/Proton-6.14-GE-2-d2r-patch/lib64/wine/vkd3d-proton/d3d12.dll

/home/user/Games/diablo-ii-ressurected/drive_c/windows/system32/d3d12.dll
/home/user/Games/diablo-ii-ressurected/drive_c/windows/syswow64/d3d12.dll

/home/user/.local/share/lutris/runtime/dxvk/v1.9.1L/x64/d3d12.dll
/home/user/.local/share/lutris/runtime/dxvk/v1.9.1L/x32/d3d12.dll

I am pretty sure I am copying the files correctly and they are being picked up, because if for example i keep the folder
~/.local/share/lutris/runtime/dxvk/v1.7.1L/x64/d3d12.dll untouched the game starts with black screen and sound, once I copy the dlls to that folder the game instead crash.

now for the dxvk version v1.9.1L it crash even when I dont touch the folder and keep it as is.. so my guess there is something else for me that cause the game to crash with version beyond 1.7.1L

IintersectRaven 2021-08-15 github

@vegegoku
Crash might be due to the NVidia driver bug if you're on NVidia. Try issuing a sudo nvidia-modprobe -u -c=0 before starting it.

Vvegegoku 2021-08-15 github

@vegegoku
Crash might be due to the NVidia driver bug if you're on NVidia. Try issuing a sudo nvidia-modprobe -u -c=0 before starting it.

Ok did that but I dont know what supposed to happen.!

IintersectRaven 2021-08-16 github

@vegegoku
Crash might be due to the NVidia driver bug if you're on NVidia. Try issuing a sudo nvidia-modprobe -u -c=0 before starting it.

Ok did that but I dont know what supposed to happen.!

It shouldn't crash now with the dll replacements from the pull request mentioned a few posts above. At least on my setup, that was what was causing the crash when I installed the new dlls on my prefix.

Bbisby 2021-08-16 github

For me the 3d rendered parts are having a weird ... history? Buffers not being fully cleared? Not getting black screens, so a huge step forward. but something else is being weird. Intermittent lines of "previous screen" and "new screen"... gets fixed (in the moment, and goes back to broken when something updates) when I full screen then unfullscreen the game.

image

wine 6.15 staging with the patch above for vkd3d. radeon 6900xt on mesa 21.1.6, 1440p on i3wm (edit: and also XFCE)

edit:
Went looking at the PR for other information.

export RADV_DEBUG=nohiz to fix the weird black line issue I was dealing with, was already solved over there.

Vvegegoku 2021-08-16 github

@vegegoku
Crash might be due to the NVidia driver bug if you're on NVidia. Try issuing a sudo nvidia-modprobe -u -c=0 before starting it.

Ok did that but I dont know what supposed to happen.!

It shouldn't crash now with the dll replacements from the pull request mentioned a few posts above. At least on my setup, that was what was causing the crash when I installed the new dlls on my prefix.

I am saying it crash for me for any version of dxvk beyond 1.7.x that includes the patched dlls from the pull request.. and yes i read the whole thread and I know it works for many people.. but not for me. There is definitely another bug with nvidia drivers and dxvk starting from 1.8.x that causes the crash.

BTW I am ready to share anykind of info required to solve this as long as someone guide me on what he needs and how I can provide it.

thanks

Eeitch 2021-08-21 github

I know this is off topic. but where can i find instructions to run a game like diablo 2 resurrected? If this is running with Lutris, i did install with Lutris over Battle.net, but i can't start the game itself from the battle.net launcher. Is this supposed to work, or do i need to configure a new launcher in Lutris? Thanks for any pointers.

KK0bin 2021-08-21 github

Lutris ships a VKD3D-PROTON version that already has those changes. I don't use Lutris so I can't tell you more than that.

GGordonfreeman882 2021-08-22 github

To run games like D2R with Lutris install Lutris itself. Download is here: https://lutris.net/downloads/
Then choose this to install battle.net App in Lutris: https://lutris.net/games/battlenet/

After those to steps there should be battle.net App created in lutris which should start as you press the play button.
In battle.net choose the game you want to play -> D2R. Make sure to select the beta version of the game since this is the only version you can install right now.
Download and let battle.net app do its thing.

After its finished downloading close the battle.net app.
Go to folder ~/.local/share/lutris/runtime/dxvk/v1.9.1L/ make a backup and copy over the files you get from: https://github.com/HansKristian-Work/vkd3d-proton/actions/runs/1130860939

Go to back to lutris and do right click on the battle.net icon. Than Configure-> System options-> Scroll down to Enviroment Variables and add RADV_DEBUG=nohiz.

Save and start the Battle.net app -> Start D2R Beta it should work without black screen.

Eeitch 2021-08-23 github

@Gordonfreeman882 Thanks a lot! I was now able to get D2R to run on my PC. Wonderful!

KkolAflash 2021-09-23 github

To run games like D2R with Lutris install Lutris itself. Download is here: https://lutris.net/downloads/
Then choose this to install battle.net App in Lutris: https://lutris.net/games/battlenet/

After those to steps there should be battle.net App created in lutris which should start as you press the play button.
In battle.net choose the game you want to play -> D2R. Make sure to select the beta version of the game since this is the only version you can install right now.
Download and let battle.net app do its thing.

After its finished downloading close the battle.net app.
Go to folder ~/.local/share/lutris/runtime/dxvk/v1.9.1L/ make a backup and copy over the files you get from: https://github.com/HansKristian-Work/vkd3d-proton/actions/runs/1130860939

Go to back to lutris and do right click on the battle.net icon. Than Configure-> System options-> Scroll down to Enviroment Variables and add RADV_DEBUG=nohiz.

Save and start the Battle.net app -> Start D2R Beta it should work without black screen.

Some additional notes:

 

You must be logged in to GitHub to download "vkd3d-proton-merge-...".
https://github.com/HansKristian-Work/vkd3d-proton/suites/3500163104/artifacts/83406375
Here's a copy without the need to log in: vkd3d-proton-merge-953ad0b5989df062ea20b83309e981854cfa1d7a.zip

Instead of v1.9.1L your Lutris may already use v1.9.2L or something newer. It should probably be the newest version folder you can find.
(you can see the used version in the configuration of the game inside Lutris -> Runner options -> DXVK version)

About the copying:
Exactly these files need to be replaced. Keep all other files.

  • x64/d3d12.dll -> x64/d3d12.dll
  • x86/d3d12.dll -> x32/d3d12.dll

 
 

Additionally I had another problem.
I could not click any buttons inside Diablo II Resurrected.

Workaround 1:
Disable my second monitor.

Workaround 2:
Battle.net configuration in Lutris:
Configure another Wine installation (compiled with ESync) and enable "Windowed (virtual desktop".
(if I enabled virtual desktop with the default lutris-fshack-6.14-3_x86_64 Wine, the Battle.net GUI didn't show up)

 
 

Also most of the 3D graphics didn't show up (mostly just black), because Lutris <= v0.5.8.3 didn't set RADV_DEBUG=nohiz as configured.
It's a bug in Lutris which may only happen on AMD Radeon GPUs: https://github.com/lutris/lutris/issues/3419
I case, you may need to update Lutris to >= v0.5.8.4, for example by installing it via FlatPak:
https://github.com/flathub/net.lutris.Lutris
Or patch Lutris yourself:

--- a/lutris/runners/wine.py
+++ b/lutris/runners/wine.py
@@ -893,8 +893,13 @@ def get_env(self, os_env=False):
         # On AMD, mimic the video memory management behavior of Windows DX12
         # drivers more closely, otherwise d3d12 games will crash and have other
         # funky issues.
+        # RADV_DEBUG is a comma separated list. If it is already set, we want to
+        # append to it.
         if self.runner_config.get("dxvk") and drivers.is_amd():
-            env["RADV_DEBUG"] = "zerovram"
+            if "RADV_DEBUG" not in env or not env["RADV_DEBUG"]:
+                env["RADV_DEBUG"] = "zerovram"
+            elif "zerovram" not in env["RADV_DEBUG"]:
+                env["RADV_DEBUG"] += ",zerovram"
 
         overrides = self.get_dll_overrides()
         if overrides:

 
 

P.S.
Works too without Lutris (tested WIne-Staging-6.18).
Simply install DXVK (e.g. winetricks dxvk, to get dxgi.dll), copy the x64/d3d12.dll (see above) to C:\windows\system32 (respectively x86-dll into syswow64) and add d3d12=native setting via winecfg.
And don't forget to set RADV_DEBUG=nohiz and maybe enable virtual desktop (both see above).

KK0bin 2021-09-24 github

I think Lutris already ships a version of VKD3D-Proton that has the fix. If it doesn't, you should just grab a build of master, doesn't have to be my old PR.

Bbejinxed 2021-09-24 github

@vegegoku
Crash might be due to the NVidia driver bug if you're on NVidia. Try issuing a sudo nvidia-modprobe -u -c=0 before starting it.

This worked for me. I did all the other stuff, would get a black window with a wierd driver / display error.

r9 5900x / 2080ti / manjaro 5.10.63-1

Iinverimus 2021-09-25 github

@vegegoku
Crash might be due to the NVidia driver bug if you're on NVidia. Try issuing a sudo nvidia-modprobe -u -c=0 before starting it.

This fixed it for me. The weird thing is it was working for 2 days after release before it started crashing immediately.

JJackfritt 2021-10-02 github

@kolAflash
Works here on Debian Buster on NVIDIA with wine-6.0.1 also perfect...
Thx for hints..

ZZmicierGT 2021-10-02 github

@kolAflash Unfortunately, it did not help me and I still have a black screen issue. I tried to run it on Intel 520.

Ppparik 2021-10-02 github

I am also unable to get rid of the black screen on Intel 620. Setting d3d12.dll to native in winecfg results in a crash on startup.

ZZmicierGT 2021-10-02 github

I am also unable to get rid of the black screen on Intel 620. Setting d3d12.dll to native in winecfg results in a crash on startup.
I saw a report that D2R works on Intel 620 on Windows (however, on minimal graphics).

Rrinaldus 2021-10-02 github

D2R opens black screen with background music on NVidia GTX 660, however GTX 660 meets minimal system requirements published on Blizzard site. Why?
D2R works very well on my other computer with NVidia RTX 2060 SUPER.

GGeoplegatill 2021-10-03 github

This seems mostly related to NVIDIA, is someone still having problem with AMD cards?
I have also tried every step/tweak I can find with no difference always black screen with sound, no crashes.
Have tried reinstalling lutris/wine.
Even tried a fresh install on Garuda Linux, lutris/wine, no success.
GPU: NVIDIA GeForce GTX 780

"NOTE: The part at the end about RADV_DEBUG=nohiz only applies if your GPU is AMD."
https://diablo2.io/forums/info-regarding-d2r-on-linux-easy-t8706.html - First post from 'moonlit'

Ddoitsujin maintainer 2021-10-03 github

D2R opens black screen with background music on NVidia GTX 660, however GTX 660 meets minimal system requirements published on Blizzard site. Why?

Kepler is a bit wonky when it comes to Vulkan support and I don't think we'll support that, given that driver support is ending soon as well.

LLucasBeyak 2021-10-06 github

This seems mostly related to NVIDIA, is someone still having problem with AMD cards? I have also tried every step/tweak I can find with no difference always black screen with sound, no crashes. Have tried reinstalling lutris/wine. Even tried a fresh install on Garuda Linux, lutris/wine, no success. GPU: NVIDIA GeForce GTX 780

"NOTE: The part at the end about RADV_DEBUG=nohiz only applies if your GPU is AMD." https://diablo2.io/forums/info-regarding-d2r-on-linux-easy-t8706.html - First post from 'moonlit'

I am in the same situation as you.
I have tried the patch, various Wine versions, newest 1.9.2L DXVK version, that nvidia-modprobe command and always a black screen, and no crashes.
I am running a GTX 770. It issue does seem to be with possibly older Nvidia cards.

I saw this also, and that poster has an even older than us GTX 670.
https://github.com/HansKristian-Work/vkd3d-proton/issues/818

Ssamweisgamdschie 2021-11-09 github

Has anyone else the blackscreen problem with intel GPU (here CometLake-U GT2, with Subsystem: Hewlett-Packard Company Device 8723)?

Or better, has anyone a solution for Intel graphics? I am a bloody newbie according to linux gaming and all the stuff around it...

Ppparik 2021-11-09 github

Has anyone else the blackscreen problem with intel GPU (here CometLake-U GT2, with Subsystem: Hewlett-Packard Company Device 8723)?

Or better, has anyone a solution for Intel graphics? I am a bloody newbie according to linux gaming and all the stuff around it...

Yep, I have not been able to get it work on i7-8550U, HP laptop :(

Mmuawijhe 2021-11-17 github

There is an issue open for the mesa regarding intel igpu...

Ggraygrotesque 2022-05-22 github

Hey, sorry to continue an old thread but I just bought D2R yesterday and I'm facing a black screen hard lock when playing, even with this fix. Is there any new or updated method to get D2R running without issues? Running Arch, plasma-wayland on R9 3900X and RX 6700 XT

LLucasBeyak 2022-05-27 github

Hey, sorry to continue an old thread but I just bought D2R yesterday and I'm facing a black screen hard lock when playing, even with this fix. Is there any new or updated method to get D2R running without issues? Running Arch, plasma-wayland on R9 3900X and RX 6700 XT

As far as I know there are no additional fixes needed (besides possibly the above "export RADV_DEBUG=nohiz" thing for AMD cards, although I'm not sure if that is still required?).

Have you tried on Xorg also, or only Wayland?

Ssamweisgamdschie 2022-06-12 github

After a long time I found the problem in my setup. Because of my Ryzen 5750G PRO CPU/GPU combo I further had to set (extend) my GPU RAM setting in my Asrock UEFI to a specific value (I think I used 2 or 4GB). After that, no change needed to be done. I just followed the standard D2R installation.

Ggszives 2025-11-14 github

Hi, thanks for this program!

So, on Ubuntu, Xorg, everything went fine, but the Battle.net opens every time with: BLZBNTAGT000008B7 (https://eu.support.blizzard.com/en/article/28435).

Any thoughts?

KK0bin 2025-11-14 github

That has nothing to do with vkd3d-Proton.

Proton versions

Launch options

Upstream links

DLLs