protonscr

Warcraft III: Reforged crashes back to desktop

dxvkclosed
doitsujin/dxvk#1388 · opened 2020-01-30 by nvaert1986 · updated 2020-04-22 · 31 comments · github
Nnvaert1986 2020-01-30 github

Warcraft III: Reforged was finally given a 'Retail' status and am having issues. All the steps below were performed on a clean wine prefix

Without DXVK
The game starts and runs without DXVK and starts every time without an error, but the game is unplayable because the textures are very dark and some textures are missing.

With DXVK
The first time when you install DXVK, start Battle.net and start the game, the game starts and runs fine (I've played over 6 hours yesterday), but when you try to start the game a second time, the game doesn't start anymore and crashes back to the desktop with an error. Even after a reboot the game still crashes back to the desktop.

Things I've tried

  • Reverting to wined3d: This causes the game to work again with the issues mentioned in "Without DXVK"
  • Starting a new wine prefix: This cause the game to start for the first time, but stops working after as described in "With DXVK"
  • Removing all the -dxvk-cache files: No result
  • Resetting default graphics values by deleting "War3Preferences.txt": No result
  • Giving the computer a warm reboot: No result
  • Giving the computer a cold boot: No result
  • Starting other games: Works fine

Software information

Warcraft III: Reforged
Build: 1.32.0.14481
Settings: Changing various items doesn't make a difference

System information

  • GPU: NVIDIA Geforce GTX 1070
  • Driver: 440.44
  • Wine version: 5.0-staging
  • DXVK version: 1.5.3

Apitrace file(s)

  • Please tell me how I can generate an apitrace from a game within a launcher, because you can only launch the game via the launcher. Directly launching the executable doesn't work

Log files

Ddoitsujin maintainer 2020-01-30 github

Please tell me how I can generate an apitrace from a game within a launcher, because you can only launch the game via the launcher.

Download apitrace and put the files dxgi.dll, d3d11.dll and dxgitrace.dll next to the game exe. Disable DXVK before running the game (from the x64 directory if this is a 64-bit game). Note that this might not work with this game.

That said, most issues with Blizzard games tend to be caused by some Battle.net settings, not by the game itself. Are you using Lutris or just a standard wine setup? Might be worth trying the Lutris installer for Battle.net since the game was known to run at some point (see this report).

I'm also getting sick of Blizzard games breaking all the time at this point. They are the only ones that constantly cause nothing but headache, take every single opportunity to stop working, and 90% of the time it's not even my bug. It's also straight-up impossible to debug many of them, so the chances of me being able to do anything here are very low and I'm just not interested. I'll take an apitrace if you manage to make one, but if that turns out to be impossible, then this will be a #wontfix #dontcare #playsomethingelse. Rant over.

WWhatcookie 2020-01-30 github

The game works without issue (beyond the myriad bugs of the game itself) for me with some wine tkg 4.16 version, radv 19.3.2 and latest dxvk.

To launch the game without using the bnet launcher, use the -launch command line option.
EDIT: You'll want to be running "Warcraft III.exe" in the x86_64 folder with this option.

Nnvaert1986 2020-01-30 github

The game works without issue (beyond the myriad bugs of the game itself) for me with some wine tkg 4.16 version, radv 19.3.2 and latest dxvk.

To launch the game without using the bnet launcher, use the -launch command line option.
EDIT: You'll want to be running "Warcraft III.exe" in the x86_64 folder with this option.

Thank you for this information. This is really useful. When using this trick it always seems to launch, though it prompts me with a login screen and when I login nothing happens. The "Play Offline" and the "Custom Game" functionality at least seems to work reliably this way though.

Nnvaert1986 2020-01-30 github

Please tell me how I can generate an apitrace from a game within a launcher, because you can only launch the game via the launcher.

Download apitrace and put the files dxgi.dll, d3d11.dll and dxgitrace.dll next to the game exe. Disable DXVK before running the game (from the x64 directory if this is a 64-bit game). Note that this might not work with this game.

That said, most issues with Blizzard games tend to be caused by some Battle.net settings, not by the game itself. Are you using Lutris or just a standard wine setup? Might be worth trying the Lutris installer for Battle.net since the game was known to run at some point (see this report).

I'm also getting sick of Blizzard games breaking all the time at this point. They are the only ones that constantly cause nothing but headache, take every single opportunity to stop working, and 90% of the time it's not even my bug. It's also straight-up impossible to debug many of them, so the chances of me being able to do anything here are very low and I'm just not interested. I'll take an apitrace if you manage to make one, but if that turns out to be impossible, then this will be a #wontfix #dontcare #playsomethingelse. Rant over.

I'm running a vanilla wine-staging-5.0 installation without lutris. I've tried the Lutris version too and causes the same issue. The game starts, shows a black screen for ~10 sec. and then shows a distorted screen for ~ 10 sec. and then crashes back to the desktop with an error.

I'm sorry it's a pain in the ass and I understand your frustration of the harshness of debugging things like that.

WWhatcookie 2020-01-30 github

I set this setting years ago, without thinking much about it. Perhaps it's why the game works without needing the -launch option for me, but not for you?

image

Nnvaert1986 2020-01-30 github

I've been testing launching and the executable for the last ~ 20 minutes and came to the following conclusions:

  • Launching the game it's executable separately works for 8/10 times (had a few crashes so far)
  • Launching the game it's executable with WineD3D always seems to work, but has badly messed up graphics
  • Launching the game it's executable from Battle.net fails 9/10 times when using DXVK
  • Launching Battle.net, then Warcraft III from Battle.net and it crashes and then starting it with the -launch option causes it to launch and log in sometimes..
Nnvaert1986 2020-01-30 github

I set this setting years ago, without thinking much about it. Perhaps it's why the game works without needing the -launch option for me, but not for you?

image

Doesn't resolve the issue for me unfortunately.

Nnvaert1986 2020-01-30 github

Please tell me how I can generate an apitrace from a game within a launcher, because you can only launch the game via the launcher.

Download apitrace and put the files dxgi.dll, d3d11.dll and dxgitrace.dll next to the game exe. Disable DXVK before running the game (from the x64 directory if this is a 64-bit game). Note that this might not work with this game.

That said, most issues with Blizzard games tend to be caused by some Battle.net settings, not by the game itself. Are you using Lutris or just a standard wine setup? Might be worth trying the Lutris installer for Battle.net since the game was known to run at some point (see this report).

I'm also getting sick of Blizzard games breaking all the time at this point. They are the only ones that constantly cause nothing but headache, take every single opportunity to stop working, and 90% of the time it's not even my bug. It's also straight-up impossible to debug many of them, so the chances of me being able to do anything here are very low and I'm just not interested. I'll take an apitrace if you manage to make one, but if that turns out to be impossible, then this will be a #wontfix #dontcare #playsomethingelse. Rant over.

I've made 2 traces. One where the game launches and one where the game crashes back to the desktop. Do you have any preference in where I upload them?

Nnvaert1986 2020-01-30 github

Since the crash file is only a small trace: Warcraft III Crash.trace.zip

Ddoitsujin maintainer 2020-01-30 github

Do you have any preference in where I upload them?

Just pick some reasonably sane host like Mega, Google Drive, Dropbox, ... - whatever you have access to.

What I don't like are the ones that want me to download malware, click on some scam ad, or advertize porn sites.

Nnvaert1986 2020-01-30 github

Do you have any preference in where I upload them?

Just pick some reasonably sane host like Mega, Google Drive, Dropbox, ... - whatever you have access to.

What I don't like are the ones that want me to download malware, click on some scam ad, or advertize porn sites.

You just missed my upload from the crash ;) Do you need a trace from the working situation too? If so then I'll need to upload it somewhere, so then I'll need some time.

Ddoitsujin maintainer 2020-01-30 github

You just missed my upload from the crash ;) Do you need a trace from the working situation too?

I pretty much only need the working one since everything else is utterly and completely useless since the trace ends before the game crashed.

Nnvaert1986 2020-01-30 github

You just missed my upload from the crash ;) Do you need a trace from the working situation too?

I pretty much only need the working one since everything else is utterly and completely useless since the trace ends before the game crashed.

It just finished uploading: https://wetransfer.com/downloads/cdcea9a1b6f8012bc46ce85d2062238920200130224414/c4b7e3bdbeea7ef57e3182c17a444af020200130224414/b2ea30

DDeeDeeRanged 2020-01-31 github

My rig consists of:
ASRock x470 Master SLI, AMD Ryzen 5 3600, 16GB mem.
NVidia GTX1070 driver 430.64
Debian bullseye/testing 64bit. Wine-Staging 5.0.
DXVK 1.5.3 installed without DXGI.

For me no issues with Battle.net Launcher, although sometimes it happens because Blizzard changes somethings with an update probably due to changes in their QT5 setup and that gets sorted as they suddenly realize ppl also play on Linux.

From the Battle.net Launcher
I can play WoW 64bit in DirectX 11 and DirectX 12 (lately in Directx 12).
Diablo III 64bits.

Beside the Blizzard games I also play
EVEonline with their EVEonline Linux Launcher and Wine-Staging.

Hope it helps with ideas.
Cheers.

Nnvaert1986 2020-01-31 github

My rig consists of:
ASRock x470 Master SLI, AMD Ryzen 5 3600, 16GB mem.
NVidia GTX1070 driver 430.64
Debian bullseye/testing 64bit. Wine-Staging 5.0.
DXVK 1.5.3 installed without DXGI.

For me no issues with Battle.net Launcher, although sometimes it happens because Blizzard changes somethings with an update probably due to changes in their QT5 setup and that gets sorted as they suddenly realize ppl also play on Linux.

From the Battle.net Launcher
I can play WoW 64bit in DirectX 11 and DirectX 12 (lately in Directx 12).
Diablo III 64bits.

Beside the Blizzard games I also play
EVEonline with their EVEonline Linux Launcher and Wine-Staging.

Hope it helps with ideas.
Cheers.

I'm not having any problems with other Blizzard games. StarCraft, StarCraft II and World of Warcraft Classic always launch fine via the Battle.net application. Only Warcraft III: Reforged is giving issues.

Launching the executable also doesn't always work, but when launching the executable directly it works 8/10 times and when launching it via the Battle.net application only 1/10 times, only when using DXVK. Whenever I start the executable without DXVK (using WineD3D) and then it always started consistently (tried 20+ times).

DDeeDeeRanged 2020-01-31 github

Which distro do you use?

Have you tried installing DXVK without DXGI?

?ghost 2020-01-31 github

Please tell me how I can generate an apitrace from a game within a launcher, because you can only launch the game via the launcher.

Download apitrace and put the files dxgi.dll, d3d11.dll and dxgitrace.dll next to the game exe. Disable DXVK before running the game (from the x64 directory if this is a 64-bit game). Note that this might not work with this game.

That said, most issues with Blizzard games tend to be caused by some Battle.net settings, not by the game itself. Are you using Lutris or just a standard wine setup? Might be worth trying the Lutris installer for Battle.net since the game was known to run at some point (see this report).

I'm also getting sick of Blizzard games breaking all the time at this point. They are the only ones that constantly cause nothing but headache, take every single opportunity to stop working, and 90% of the time it's not even my bug. It's also straight-up impossible to debug many of them, so the chances of me being able to do anything here are very low and I'm just not interested. I'll take an apitrace if you manage to make one, but if that turns out to be impossible, then this will be a #wontfix #dontcare #playsomethingelse. Rant over.

I don't blame you for not wanting to deal with this. Even on the Windows side, users are having trouble getting the game to launch.

It was running fine up until a few weeks ago, and then they made a change that broke the game on Windows 8 and it has been mostly crashing on load since then.

Jjrusnacko 2020-02-01 github

My experience with the new Reforged release:

Tried to run on 2 different PCs, in the end was successful both times.

  1. Ubuntu 18.04, integrated graphics on an Intel Coffee Lake processor, wine 5.0 staging. Runs with Wine3D, after a few failed attempts it now runs reliably and without hiccups with DXVK version 1.46 (with dxgi) when launching through Battle.net app - the only thing I had to change was to add "-windowmode fullscreen" to the optional parameter setting.

  2. Ubuntu 18.04, old integrated graphics on Intel Ivy Bridge, wine 5.0 staging. Wine3D works every time. Because of limited Vulkan support on Ivy Bridge, I expected this to fail. DXVK newest version 1.53 never worked (the game started - I heard the sounds, but graphics never showed). It works for me with version 1.46 when installed without dxgi. If I run it directly through "wine64 Warcraft III.exe -launch" I am then unable to login, so can only play offline. When launching through Battle.net launcher, everything works OK, I am able to access multiplayer.

TLDR: Ubuntu 18.04, wine5.0-staging, DXVK 1.46 kinda works, some tweaks perhaps needed (without dxgi, running with fullscreen parameters).

Nnvaert1986 2020-02-01 github

Which distro do you use?

Have you tried installing DXVK without DXGI?

Just tried and doesn't make a difference unfortunately.

Nnvaert1986 2020-02-01 github

Update: Since Battle.net.exe was still active I just tried to completely kill it and after doing so and installing dxvk-1.5.3 without-dxgi it seems to run more reliable and launch 9/10 times. Though sometimes it still hangs with just displaying a black screen and a modified mouse cursor, but that's a lot better already.

What's actually the difference when using the --without-dxgi parameter?

?ghost 2020-02-01 github

My rig consists of:
ASRock x470 Master SLI, AMD Ryzen 5 3600, 16GB mem.
NVidia GTX1070 driver 430.64
Debian bullseye/testing 64bit. Wine-Staging 5.0.
DXVK 1.5.3 installed without DXGI.

For me no issues with Battle.net Launcher, although sometimes it happens because Blizzard changes somethings with an update probably due to changes in their QT5 setup and that gets sorted as they suddenly realize ppl also play on Linux.

From the Battle.net Launcher
I can play WoW 64bit in DirectX 11 and DirectX 12 (lately in Directx 12).
Diablo III 64bits.

Beside the Blizzard games I also play
EVEonline with their EVEonline Linux Launcher and Wine-Staging.

Hope it helps with ideas.
Cheers.

Installing without DXGI worked for me. I'll add a Lutris script with this as a work around for now.

DDeeDeeRanged 2020-02-01 github

Update: Since Battle.net.exe was still active I just tried to completely kill it and after doing so and installing dxvk-1.5.3 without-dxgi it seems to run more reliable and launch 9/10 times. Though sometimes it still hangs with just displaying a black screen and a modified mouse cursor, but that's a lot better already.

What's actually the difference when using the --without-dxgi parameter?

https://github.com/doitsujin/dxvk/wiki/DXGI

It's mentioned there for WoW.

Cheers.

Gghtux 2020-02-02 github

Wine staging 5 (without esync) and without dxgi works. Thx 👍

Nnamtsui 2020-02-02 github

wine staging 5, slackware, nouveau driver
nvidia 770

I used vanilla wine-staging 5 without installing dxvk. I use classic graphics with the reforged client and have not tested the remastered models.

50% of the time it shows a black screen with just the cursor. If this happens and I log out and back in, clicking the play button does not seem to launch the game, so I have to restart my computer. The other 50% of the time, it launches, and I am able to play. However, sometimes after some games there is a small chance that Battle.net will say it cannot verify my client.

I've also seen the case where the game immediately crashes to the desktop and displays an error dialogue box.

Overall, it is possible to play using vanilla wine staging 5. It just does not launch consistently.

SSveSop 2020-02-02 github

The reason it works with native wine dxgi is probably because the Blizzard programmers forgot some weird DXGI1_6 call or whatnot that wine supports (d3d12 perhaps?), and DXVK does not understand.
eg. wine_source/include/dxgi1_6.idl has the uuid 068346e8-aaec-4b84-add7-137f513f77a1.

There is a couple of those "unknown interface" in my dxgi log when starting World of Warcraft too, but it does not seem to instantly fail loading as WoW seems to fall back to D3D11 mode. This USED crash back when d3d12 was first implemented... now it just falls back to whatever starts d3d11 even if its forced to d3d12 with a launch option. If you use wine's dxgi, launching with -d3d12 option will run vkd3d, and launching with -d3d11 will use dxvk.
If you use -d3d12 with dxvk's dxgi, the game will just launch with d3d11. Not sure if this is a "game update" that made this happen, or if it is some kind of fallback implementation in dxvk's dxgi?

Ddoitsujin maintainer 2020-02-02 github

Normally those are harmless if the game checks properly whether the requested interface is actually supported - I mean I could try stubbing it, but since DXGI 1.6 has some really weird functionality that we can't easily implement it might cause issues in other applications. It also doesn't explain why it apparently sometimes works.

If you use -d3d12 with dxvk's dxgi, the game will just launch with d3d11

That's normal since vkd3d does not work with DXVK's DXGI. This is also why Proton switched to wine's own implementation in 4.11.

SSveSop 2020-02-02 github

If you use -d3d12 with dxvk's dxgi, the game will just launch with d3d11

That's normal since vkd3d does not work with DXVK's DXGI. This is also why Proton switched to wine's own implementation in 4.11.

Yeah, but i distinctly remember if doing that back when WoW first came with D3D12 support, it would crash to desktop if i used DXVK's dxgi... It was no "fallback", but a rather harsh crash. This is no longer the case, and i just wondered if this was the game "fixing it", or if dxvk's dxgi now has some kind of fallback magic? :)

I would not at all be surprised if those Blizzard toons somehow managed to forget some weird dxgi check thingy that is totally off, but survives when using Windows 10 cos its no problem :)

Nnvaert1986 2020-02-05 github

After playing the game for almost a week now using wine's DXVK the game launches stable consistently. I've only had like 2 hangs during the entire week when launching the game somewhere between 30 - 40x the last week. The game can also crash in-game after a couple of hours, but it also happens rarely.

SSveSop 2020-02-06 github

@nvaert1986 Almost seems like some driver troubles that happened a few months back that (to ME atleast) seemed as if the caches were "old" (the more dxvk cache you had built up over time), the more stable it was.

Deleting the game-dxvk.cache file + clearing out the $HOME/.nv folder with nvidia GLCache files would bring back the instability. Somewhat not a definate thing, but testing stuff over time seemed as this was the case.

So, hopefully it improves "over time" when playing then :) (Although i think the latest nVidia 440.59 driver has some fixes that also might improve this). Keep testing :)

?ghost 2020-04-22 github

Is anyone still having this issue? I haven't been able to reproduce this in a while and I'm wondering if blizzard fixed this on their own with the latest build.

Nnvaert1986 2020-04-22 github

Is anyone still having this issue? I haven't been able to reproduce this in a while and I'm wondering if blizzard fixed this on their own with the latest build.

This issue seems to be resolved mostly when installing it with the --without-dxgi parameter. It launches like 9/10 times. It still hangs on boot rarely, but I guess that's more due to the game being bugged than a bug in the DXVK.

I'll go ahead and close the bug.

Upstream links

DLLs