https://bugs.winehq.org/show_bug.cgi?id=51105
Bug ID: 51105 Summary: Diablo 2: Resurrected (D2R) stays black Product: Wine Version: 6.7 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: blue-t@web.de Distribution: ---
Created attachment 69969 --> https://bugs.winehq.org/attachment.cgi?id=69969 Log Without Proton
The modernised Diablo2 Resurrected version does not show any graphics apart from a small rendered mouse cursor. You hear the sound and music being played in the background though. It also doesn't immediately hang up and crash but you don't see either the menu nor the game world.
I tried with 6.7-staging , once without and once with the proton 2.2 d3d12 dll installed to figure out where the problem is. The only difference is in the logoutput on the terminal, but they both fail to show the game.
https://bugs.winehq.org/show_bug.cgi?id=51105
--- Comment #1 from Ker noa blue-t@web.de --- Created attachment 69970 --> https://bugs.winehq.org/attachment.cgi?id=69970 Log with Proton 2.2
https://bugs.winehq.org/show_bug.cgi?id=51105
Conor McCarthy cmccarthy@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |cmccarthy@codeweavers.com
--- Comment #2 from Conor McCarthy cmccarthy@codeweavers.com --- According to the trace, the game tries to create a command queue or command allocator for command list type D3D12_COMMAND_LIST_TYPE_BUNDLE. Bundles aren't implemented in vkd3d, so this can't be fixed until bundle support is added.
https://bugs.winehq.org/show_bug.cgi?id=51105
Maciej Stanczew maciej.stanczew+b@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |maciej.stanczew+b@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=51105
ds daniel.spies@fuceekay.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |daniel.spies@fuceekay.com
--- Comment #3 from ds daniel.spies@fuceekay.com --- https://github.com/HansKristian-Work/vkd3d-proton/pull/767
https://bugs.winehq.org/show_bug.cgi?id=51105
i.Dark_Templar idarktemplar@mail.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |idarktemplar@mail.ru
https://bugs.winehq.org/show_bug.cgi?id=51105
--- Comment #4 from Conor McCarthy cmccarthy@codeweavers.com --- The game runs well using RX580/RADV with this patch taken from vkd3d-proton: https://www.winehq.org/pipermail/wine-devel/2021-September/196895.html
Though it attempts to create a command queue for a bundle, it doesn't depend on it, so the game works without the bundle patches.
https://bugs.winehq.org/show_bug.cgi?id=51105
Constantine sullome@yandex.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sullome@yandex.com
--- Comment #5 from Constantine sullome@yandex.com --- Now that the game is officially out, I faced that same bug, tried to find a solution and found it. I am posting my experience here because:
1) a bit of research and experimentation was required on my part, current comments weren't enough to make the current game version to work; 2) I found no entry for Diablo 2 Resurrected on WineHQ, and this bug is the only place that currently can be found for help.
First of all, yes, patched DLL is required, and might be obtained from 2 sources: https://github.com/HansKristian-Work/vkd3d-proton/actions/runs/1130860939 https://github.com/lutris/vkd3d/releases/tag/v2.4L-2 That patched vkd3d-proton requires DXGI, so I installed one with `dnf install wine-dxvk-dxgi` (Fedora 34). More on that case can be read in https://github.com/HansKristian-Work/vkd3d-proton#using-vkd3d-proton
However, most important thing is that game uses it's own d3d12.dll now. It is located in the selected for installation folder.
For me, it was not enough to change drive_c/windows/system32/d3d12.dll It was not used. Game used this one: drive_c/Program Files (x86)/Diablo II Resurrected/d3d12.dll
After replacing both of those d3d12.dll with the x64 one from vkd3d-proton, (and configuring in winecfg to use it) game finally works and shows graphics.
It should also be noted that Battle.net periodically checks game files and notices changes in d3d12.dll, requiring user to update the game. It does this on some timer, so it is possible to update the game, replace DLL with the correct one and then start the game. But that fix should be applied after each update.
https://bugs.winehq.org/show_bug.cgi?id=51105
--- Comment #6 from Conor McCarthy cmccarthy@codeweavers.com --- (In reply to Constantine from comment #5)
However, most important thing is that game uses it's own d3d12.dll now. It is located in the selected for installation folder.
For me, it was not enough to change drive_c/windows/system32/d3d12.dll It was not used. Game used this one: drive_c/Program Files (x86)/Diablo II Resurrected/d3d12.dll
Is your Wine prefix set to Windows 7 (using winecfg)? AFAIK the d3d12.dll shipped with the game is only for D3D12On7 and it would make sense if the game uses it when the reported Windows version is 7. The DLL was not used when I tested in a Win 10 prefix.
https://bugs.winehq.org/show_bug.cgi?id=51105
Toscho liesdiedatei@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |liesdiedatei@gmail.com
--- Comment #7 from Toscho liesdiedatei@gmail.com --- Created attachment 70776 --> https://bugs.winehq.org/attachment.cgi?id=70776 Log on wine-staging 6.19 masking as windows 7
https://bugs.winehq.org/show_bug.cgi?id=51105
--- Comment #8 from Toscho liesdiedatei@gmail.com --- Created attachment 70777 --> https://bugs.winehq.org/attachment.cgi?id=70777 Log on wine-staging 6.19 masking as windows 10
I have the sane bug. Doing as described in the winehq-Test from user kolAflash or as described from user Constantine in this bugthread, each gives a black screen with logo, cursor and sound. This happens on laptop with Intel Graphics and on Desktop with AMD Graphics.
I attached the wine log from masking win 7 and the log from masking as win10.
https://bugs.winehq.org/show_bug.cgi?id=51105
--- Comment #9 from Toscho liesdiedatei@gmail.com --- Created attachment 70778 --> https://bugs.winehq.org/attachment.cgi?id=70778 LogFile from D2R itself in its folder
https://bugs.winehq.org/show_bug.cgi?id=51105
Conor McCarthy cmccarthy@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|UNCONFIRMED |RESOLVED
--- Comment #10 from Conor McCarthy cmccarthy@codeweavers.com --- The game now works with current upstream vkd3d and Wine. I didn't need to do anything about the d3d12.dll shipped with the game, but if it attempts to use it, set an override in winecfg to use Wine's builtin d3d12.
It starts with a cursor and logo on a black screen, but after a delay the title screen appears and the game runs normally.
Closing as resolved. If the game's d3d12.dll causes unsolvable problems that should be logged in a separate bug.
https://bugs.winehq.org/show_bug.cgi?id=51105
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #11 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 6.20.