Attempt to launch Diablo 2 resurrected (d2r.exe) from the Blizzard launcher
Window opens briefly with a title and buttons at top, although its contents are black
Crashes after approximately 5-10 seconds or so
Repeatable every time
Things I have tried:
Disabling DXVK
Using different wine/GE/Proton variations
Using an older version of VKD3D
Using an older version of DXVK
Screaming at the computer for a little bit
Some caveats:
Drivers appear to be installed correctly (NVIDIA OpenSuSE Tweed repo)
Other games load fine (Both OpenGL and Vulkan)
Other games from within the Blizzard launcher work fine (Tested Starcraft and Warcraft III/TFT)
Tried searching up various threads and forums across the Internet but found nothing being posted recently about any issues so I’m wondering if I’ve stumbled across an actual issue or if it’s something just isolated to me.
I’ve found this tidbit in the logs which is interesting:
429016.729:0668:066c:err:vkd3d-proton:dxgi_vk_swap_chain_create_surface: Surface is not supported for presentation.
err: DXGI: CreateSwapChainForHwnd: Failed to create swap chain, hr -2147024809
066c:fixme:cryptasn:CryptDecodeObjectEx Unsupported decoder for lpszStructType 1.3.6.1.4.1.311.2.1.4
066c:fixme:cryptasn:CryptDecodeObjectEx Unsupported decoder for lpszStructType 1.3.6.1.4.1.311.2.1.4
Am I missing something here or did I stumble upon a bug/deeper issue? I hope this is just a dumb rtfm moment.
As part of further testing I just installed World of Warcraft classic, and while it launched, it only displayed the cursor and audio was playing in the background.
Pardon the spam, but, some further testing was done. I logged out of my cinnamon session and into Gnome. The game was able to load there although it ran absolutely horridly (choppy, slow, tearing. Basically a powerpoint slideshow).
Restarted, went back into cinnamon, and the game exhibits the same behavior I initially reported (window opens, black, crashes after 5-10 seconds or so).
It’s odd that it works in Wayland but fails in actual X.
What versions of Proton have you tried? Mine runs fine with lutris-GE-Proton8-14-x86_64. I have it setup with DXVK and VKD3D Enabled and then Esync, Fsycn, FSR, Battleye, and EAC all enabled as well.
On the system options tab in lutris (right click game->configure) make sure you have Show advanced enabled and locate the vulkan ICD loader field. If the name in this has unspecified anywhere and unknown gpu, install vulkan-tools package, restart lutris and go to the Global options (three lines on the title bar in lutris->preferences). Enable Advanced on the top of the window and scroll down to the Multi-GPU section. In this area is the global vulkan ICD loader field - change this match your gpu (eg nvidia proprietary or RADV etc) with your gpu name (assuming it is not a Steam Deck) and then save. Confirm for the game that the global change has carried through by checking the System Options tab. If it still says unspecified, you should fix it here and check all games. If it matches what you set as a global option, you should be golden.
The launch option from my previous thread was for that specific point in time. With the latest Mesa (ie 23.1.6 or newer) or nvidia (515 or newer with supported cards), dxvk 2,3 and vkd3d 2.10 should work just fine with lutris-ge-proton 8.14 or the newer (preferred) wine-ge 8.17 as the games selected runner. The 8.17 wine is installed from the wine folder under the runners area on the left hand pane in Lutris.
To clarify: I’ve already done this. vulkan-tools is installed. The ICD loader field is properly populated (it is pointing at the dedicated card I am actually using).
I have tried the various runner versions you’ve listed.
Select the game in lutris, at the bottom near the Play button is a wine glass and an up arrow. Click the up arrow and in the menu select Wine Configuration. In Applications tab of the window that opens, make sure Windows Version is set to Windows 7
If that does not work, head over to the discord server from the link on lutris.net - that way we can look at the lutris -d output in real time and not play tag across time and space