Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Warcraft III: Reforged crashes back to desktop #1388

Closed
nvaert1986 opened this issue Jan 30, 2020 · 31 comments
Closed

Warcraft III: Reforged crashes back to desktop #1388

nvaert1986 opened this issue Jan 30, 2020 · 31 comments

Comments

@nvaert1986
Copy link

nvaert1986 commented Jan 30, 2020

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

@doitsujin
Copy link
Owner

doitsujin commented Jan 30, 2020

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.

@Whatcookie
Copy link

Whatcookie commented Jan 30, 2020

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.

@nvaert1986
Copy link
Author

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.

@nvaert1986
Copy link
Author

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.

@Whatcookie
Copy link

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

@nvaert1986
Copy link
Author

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..

@nvaert1986
Copy link
Author

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.

@nvaert1986
Copy link
Author

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?

@nvaert1986
Copy link
Author

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

@doitsujin
Copy link
Owner

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.

@nvaert1986
Copy link
Author

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.

@doitsujin
Copy link
Owner

doitsujin commented Jan 30, 2020

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.

@nvaert1986
Copy link
Author

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

@DeeDeeRanged
Copy link

DeeDeeRanged commented Jan 31, 2020

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.

@nvaert1986
Copy link
Author

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).

@DeeDeeRanged
Copy link

DeeDeeRanged commented Jan 31, 2020

Which distro do you use?

Have you tried installing DXVK without DXGI?

@ghost
Copy link

ghost commented Jan 31, 2020

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.

@jrusnacko
Copy link

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).

@nvaert1986
Copy link
Author

Which distro do you use?

Have you tried installing DXVK without DXGI?

Just tried and doesn't make a difference unfortunately.

@nvaert1986
Copy link
Author

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
Copy link

ghost commented Feb 1, 2020

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.

@DeeDeeRanged
Copy link

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.

@ghtux
Copy link

ghtux commented Feb 2, 2020

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

@namtsui
Copy link

namtsui commented Feb 2, 2020

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.

@SveSop
Copy link
Contributor

SveSop commented Feb 2, 2020

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?

@doitsujin
Copy link
Owner

doitsujin commented Feb 2, 2020

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.

@SveSop
Copy link
Contributor

SveSop commented Feb 2, 2020

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 :)

@nvaert1986
Copy link
Author

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.

@SveSop
Copy link
Contributor

SveSop commented Feb 6, 2020

@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
Copy link

ghost commented Apr 22, 2020

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.

@nvaert1986
Copy link
Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants