doitsujin / dxvk

Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine
zlib License
12.25k stars 783 forks source link

Warcraft 3: Reforged build 1.32.0.14391 crashes when entering a game #1356

Closed nvaert1986 closed 4 years ago

nvaert1986 commented 4 years ago

When starting the latest build of Wacraft 3: Reforged the game crashes the first time when starting. After restarting the game actually launches, but crashes as soon as you actually start a game

Software information

Warcraft 3: Reforged build 1.32.0.14391

System information

Note: I've tried running apitrace.exe from apitrace-msvc-latest.7z, both the 32-bit and 64-bit binaries, from the procedure but it's throwing an error:

inject: error: failed to execute /home/xxxx/.wine/drive_c/Program\ Files\ (x86)/Battle.net/Battle.net.exe (2) 002b:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFA, 0032FE9C 0009:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFA, 0032FE9C

wine.txt

nvaert1986 commented 4 years ago

Note: Previous versions of this beta worked fine with dxvk 1.4.6 and up, but just crashes as of the most recent build. I was on wine-staging-.5.0-rc4 ad upgraded to 5.0-rc6 and tried both DXVK versions 1.4.6 and 1.5.1. Version 1.4.6 did not work at all anymore, version 1.5.1 only works partially for some reason :\

doitsujin commented 4 years ago

What makes you so sure this is a DXVK issue and not a wine issue? does it work with wined3d?

I can't debug anything without an apitrace that reproduces the problem.

version 1.5.1 only works partially for some reason

Care to elaborate?

nvaert1986 commented 4 years ago

What makes you so sure this is a DXVK issue and not a wine issue? does it work with wined3d?

I can't debug anything without an apitrace that reproduces the problem.

version 1.5.1 only works partially for some reason

Care to elaborate?

Dear doitsujin,

I can't get Wacraft 3: Reforged to work and never could with Wine3D3. I've always used DXVK for that.

My apologies for not being clear: Everything worked fine until an update of the Wacraft 3: Reforged beta was installed which is the version written in the description.

With DXVK 1.5.1 working partially I mean that the game sometimes starts and sometimes already crashes on start-up.

When it crashes on start-up I'm receiving the following error: warn: D3D11Texture2D::QueryInterface: Unknown interface query warn: 00dd:fixme:secur32:schan_QueryContextAttributesA Unhandled attribute 0x23 f8fb5c27-c6b3-4f75-a4c8-439af2ef564c warn: D3D11Texture2D::QueryInterface: Unknown interface query warn: f8fb5c27-c6b3-4f75-a4c8-439af2ef564c

Usually after starting the game 2 - 3x the game actually starts and the menu's and changing settings works, but as soon as you enter a game (whether it's a Custom Game or Multiplayer) it crashes.

P.S.: I've just tested switching to Classic mode (which uses the DirectX 9 graphics) and this mode actually works. After reverting back to Reforged (DirectX 11) mode and launching a Custom or Multiplayer game from the menu the game crashes. The game still crashes 2 - 3x on start-up before actually functioning (even when using Classic mode).

P.P.S.: I've used the Microsoft Windows binaries from apitrace and didn't compile it on Linux. I assume that's the correct version to use? The version I'm using is -latest.7z from: https://people.freedesktop.org/~jrfonseca/apitrace/ which is referred to from: http://apitrace.github.io/#download

SveSop commented 4 years ago

@nvaert1986 What do you mean that you upgraded to 5.0-rc6? Afaik i think you need wine-staging to run battle.net, and wine-staging-5.0-rc6 is not yet released (although probably not much changes from last rebase to rc6). Just to make sure you did not accidentally switch from wine-staging -> regular wine.

nvaert1986 commented 4 years ago

@nvaert1986 What do you mean that you upgraded to 5.0-rc6? Afaik i think you need wine-staging to run battle.net, and wine-staging-5.0-rc6 is not yet released (although probably not much changes from last rebase to rc6). Just to make sure you did not accidentally switch from wine-staging -> regular wine.

I'm running wine from git (so rc6) with the current staging patches. In the meantime I've finally been able to create traces from Battle.net.exe (as you can't launch Wacraft 3 directly..). I'll be uploading it to wetransfer.

nvaert1986 commented 4 years ago

The uploaded trace: https://wetransfer.com/downloads/8a02eee162d50be56b7a440fc3208dc220200118205021/d870d2713b04e05e4e1cfe104de37c3a20200118205021/36e82f

P.S.: BTW: The problem with apitrace.exe was that it didn't like the "Program Files (x86) path with the spaces in it, after putting it in Program Files (x86) and running with a relative../../../ path, the execution was fine.

P.P.S.: I've just tried wine-5.0rc5-staging and wine-4.21-staging (have multislot binaries) and these versions are giving the exact same problem, just to exclude a possible regression in recent wine releases or git.

nvaert1986 commented 4 years ago

The log files.

Warcraft III_d3d11.log Warcraft III_dxgi.log Agent_dxgi.log

If there's anything else you need please let me know. BTW: Is there a way to actually donate to the project? I've seen it asked before and the answer was no, but was wondering whether it changed in the meantime.

SveSop commented 4 years ago

The errors with Unknown interface query seems to point to DXGI adapter 4 and possibly 5 or 6.. dunno if that means much tho, but it could point to D3D12 maybe?

https://github.com/doitsujin/dxvk/issues/1252 seems related. Maybe Blizzard is doing some experimentation? :)

I mean, they did a D3D12 backtrack hack with World of Warcraft for Win7 to run D3D12 by putting some d3d12.dll file in the gamefolder... so maybe a new patch defaults to d3d12, and you should look for a launch command to force d3d11? (Cos d3d12 would surely backfire with DXVK, and also WineD3D if you do not have a recent libvkd3d installed).

nvaert1986 commented 4 years ago

The errors with Unknown interface query seems to point to DXGI adapter 4 and possibly 5 or 6.. dunno if that means much tho, but it could point to D3D12 maybe?

1252 seems related. Maybe Blizzard is doing some experimentation? :)

I mean, they did a D3D12 backtrack hack with World of Warcraft for Win7 to run D3D12 by putting some d3d12.dll file in the gamefolder... so maybe a new patch defaults to d3d12, and you should look for a launch command to force d3d11? (Cos d3d12 would surely backfire with DXVK, and also WineD3D if you do not have a recent libvkd3d installed).

The problem is that you can't force it and it should work in DX11 mode. There's no cmd line switch for other Apis anymore

SveSop commented 4 years ago

Seems as the Blizzard forums is filled with all kinds of graphics problems with Reforged.. Loads of ppl posting on the Blizzard forums on Reforged 1.32.0.x version and graphical issues... And i guess those ppl posting there uses Windows 10.

Chances are if there is bugs using Windows after a new game patch.. it will probably not work better with wine/dxvk.

https://us.forums.blizzard.com/en/warcraft3/t/beta-known-issues-list/7961

nvaert1986 commented 4 years ago

Seems as the Blizzard forums is filled with all kinds of graphics problems with Reforged.. Loads of ppl posting on the Blizzard forums on Reforged 1.32.0.x version and graphical issues... And i guess those ppl posting there uses Windows 10.

Chances are if there is bugs using Windows after a new game patch.. it will probably not work better with wine/dxvk.

https://us.forums.blizzard.com/en/warcraft3/t/beta-known-issues-list/7961

Thank you for the reply, but these are old issues as it's for old 1.32 builds? Though newer builds have their issues too, I'm not sure if this is relevant to the current build, as the old builds work fine with wine with DXVK usually.

SveSop commented 4 years ago

Thank you for the reply, but these are old issues as it's for old 1.32 builds? Though newer builds have their issues too, I'm not sure if this is relevant to the current build, as the old builds work fine with wine with DXVK usually.

Not sure how to read this? The usual thing with game updates is that they tend to break wine/dxvk and an update is needed. Rarely does a game update actually fix issues with wine... Game updates tends to implement various tweaks to improve compatibility or performance with certain drivers and new technologies/api calls. New api calls sometimes means unimplemented d3d calls in wine/dxvk and needs either implementing or stub's to get past.

Not saying this is the case here, but newer game builds tends to break things "wine" for me... As has been the case multitudes of times with the game i have played the most with wine - World of Warcraft. We had a long time total breakdown of d3d12 of months with WoW due to a game update until it was fixed by not yet implemented patches to libvkd3d. (Just as an example).

Sorry if i misunderstand you tho :)

nvaert1986 commented 4 years ago

Thank you for the reply, but these are old issues as it's for old 1.32 builds? Though newer builds have their issues too, I'm not sure if this is relevant to the current build, as the old builds work fine with wine with DXVK usually.

Not sure how to read this? The usual thing with game updates is that they tend to break wine/dxvk and an update is needed. Rarely does a game update actually fix issues with wine... Game updates tends to implement various tweaks to improve compatibility or performance with certain drivers and new technologies/api calls. New api calls sometimes means unimplemented d3d calls in wine/dxvk and needs either implementing or stub's to get past.

Not saying this is the case here, but newer game builds tends to break things "wine" for me... As has been the case multitudes of times with the game i have played the most with wine - World of Warcraft. We had a long time total breakdown of d3d12 of months with WoW due to a game update until it was fixed by not yet implemented patches to libvkd3d. (Just as an example).

Sorry if i misunderstand you tho :)

SveSop,

I'm sorry, because I probably misunderstood you and you are right, especially because it's still a Beta version of the game, so what your stating is logical. I thought you were referring to issues with old 1.32 beta builds, that were working fine with wine, but the Beta version of Warcraft 3: Reforged was 1.32.xxxx constantly and wasn't sure what you were reffereing to and it could be that they actually started using new functions. It's sad though as now we have to wait to get the game running again, hehe :)

SveSop commented 4 years ago

@nvaert1986 The .trace you posted only show the battle.net client, so its rather useless i'd say.

I might consider buying warcraft3 reforged in a week tho, once it's out of beta..

nvaert1986 commented 4 years ago

A new build was released today and the game is playable again, though after 2 - 3x the in-game client crashes and you return to a black screen after a game. I'll close this issue for now until the final version is released and I encounter bugs. No point in posting an issue for a beta, if it's fixed in the next release.

P.S.: I heard from other people it's even more unstable on Microsoft Windows in some cases, so I wonder how they're going to fix these issues before the 28th :D