https://github.com/ValveSoftware/Proton/issues/333#issuecomment-733449428
Logs: https://github.com/ValveSoftware/Proton/issues/333#issuecomment-733462373
World of Warships, defaults
My WorldOfWarships64_d3d11.log has not been updated since it started crashing.
apitrace? Edit: Just reinstalled the game, but it would still be nice to have this kind of stuff provided if it's not too much of a hassle since it can easily save everyone a couple of hours.
also, wdym "stopped working yesterday"? did the game get a patch or did you change drivers/whatever on your system?
There doesn't really seem to be any way to debug this. The game seems to crash in its own code, an apitrace I recorded on Windows replays perfectly fine, and none of the D3D calls the game makes fail unexpectedly on DXVK. There have been issues in the past with the game doing things differently due to DXVK reporting slightly different adapter capabilities than native drivers (which shouldn't be an issue as long as they aren't incorrect), and a Wine-specific issue with the game using incorrect texture formats for some reason, but to figure that out you'd basically need access to the game's source code.
Unfortunately the game does not load my DLLs when trying to test it on Windows so I can't even check if it's a wine-specific problem or not.
TL;DR use wined3d for this game, I can't fix this.
Thank you very much. This is my first time reporting anything like this in a very long time, next time I'll try to figure out how to use apitrace. I am sorry to hear the result, it worked better with DXVK. I really appreciate your work.
Any advice on encouraging the folks who remain it to make it work with DXVK?
(Yes, I mentioned in the other bug that I linked, files got updated yesterday, so it looks like the game got patched. And I verified in my apt log that packages weren't upgraded.)
If I could get the developers to work on this, is there some kind of documentation I could point them to on how they might get their software to play nicer with DXVK?
Same issue , but indeed, they (Wargaming) sometimes do things, in their updates, so will do a reinstall of the game also, if that fixes it, no biggy :)
ps. I am using the wargaming client
I expect you don't want to touch this since you said there's no way to debug this, but just in case wanted to let you know that for some reason DXVK is working with proton 3.16-9. Better than wined3d, which is basically unusable because you can't see smoke.
https://github.com/ValveSoftware/Proton/issues/333#issuecomment-733954167
It seems that Proton 3.16-9 uses DXVK v1.0.2-20-g15fe568f which works.
I tried using Proton 3.16-9 with DXVK 1.7.2L-5ca255d which doesn't work (I don't know if they are dependent, so that was just a try)
I can confirm this happens to me as well
I can't even have it to work with wined3d, except for with proton 3.16-9
Currently I'm trying to locate the exact commit where it doesn't work anymore.
I've found out that Tag 1.0.2 is the last one to work and 1.0.3 crashes. So something in between these Versions is the cause.
@doitsujin
First commit where Wows crashes: https://github.com/doitsujin/dxvk/commit/09baa3758b01fd7601dc2910ea07aea6f5218095
Last commit where Wows starts up normally: https://github.com/doitsujin/dxvk/commit/d88fdb9d55be95790e3ae867105504ed5710b9e8
Hope this helps :)
So basically what you're saying is that the DLL info (which is unfortunately required for some other games to work) is what causes the game to bug out because reasons?
Guess you could always try building current DXVK without the resource files then, but since the commit you mentioned doesn't change DXVK's behaviour at all I don't really see any way for us to "fix" this.
Exactly :D
No idea what Wargaming changed on their end to make that happend but they somehow did (like always).
Maybe they implemented a minimum version requirement that doesn't fit the ones given in the DLL Info? But I have to say that I have no idea what I'm talking about.. I just tried and errored my way to that commit.
I can try and tinker with that but really I have no idea what I'm doing :D
@doitsujin
Yes, Wows runs with the latest dxvk. I just changed /dxvk/src/d3d11/meson.build line 66 from
d3d11_dll = shared_library('d3d11'+dll_ext, dxgi_common_src + d3d11_src + d3d10_src, glsl_generator.process(dxgi_shaders), d3d11_res,
to
d3d11_dll = shared_library('d3d11'+dll_ext, dxgi_common_src + d3d11_src + d3d10_src, glsl_generator.process(dxgi_shaders), [],
When I have more time I can try to find out if there is a line in the version info that causes this. I tried to put in Microsoft as company to see if WG wants to block specifically altered dlls but that didn't work.
Maybe they implemented a minimum version requirement that doesn't fit the ones given in the DLL Info?
One thing that comes to mind is that we might be missing a field in the version info. I'll try playing around with that when I have time, but something like that would be really hard to figure out, especially since I lack the experience with these things that wine developers have.
Thanks for looking into that though, this really is the last thing I suspected. And I even tried the whole "hide wine version from apps" thing before.
@anonymous133 , thanks I will try it again :D
I reinstalled winestaging , when even back to 5.10 then latest , removed my wine folder, reinstalled wows, but no luck.
the x86 client worked though, but don't want it.
Also was getting this dxdiag dialog popup , but that was happening even before it stopped working.
Now trying in steam. if that doesnt work, I will compile dxvk locally , just wondering, so you replaced d3d11_res with [] , correct ?
@Sigtechnica
Now trying in steam. if that doesnt work, I will compile dxvk locally , just wondering, so you replaced d3d11_res with [] , correct ?
Correct!
@doitsujin
Yes, Wows runs with the latest dxvk. I just changed /dxvk/src/d3d11/meson.build line 66 fromd3d11_dll = shared_library('d3d11'+dll_ext, dxgi_common_src + d3d11_src + d3d10_src, glsl_generator.process(dxgi_shaders), d3d11_res,
to
d3d11_dll = shared_library('d3d11'+dll_ext, dxgi_common_src + d3d11_src + d3d10_src, glsl_generator.process(dxgi_shaders), [],
When I have more time I can try to find out if there is a line in the version info that causes this. I tried to put in Microsoft as company to see if WG wants to block specifically altered dlls but that didn't work.
I compiled proton with this line, but wows still crash the same way
@malinkb @Sigtechnica
I run it on Lutris with Proton 3.16-9. Haven't tested yet with later Proton versions but there was a problem as well.
Edit:
For me it runs as well with Proton 5.13
Edit 2:
I'm running Wows via Lutris - Not - via Steam (I don't have a Wows Steam account but a Wargaming account). I can't test if this solution works on steam.
Edit 3:
I've attached the Dlls that work for me in Lutris. It's the latest DXVK Version: bbfd6d0.zip (Only works with Wows in Direct3D 11)
Edit4:
@malinkb
It also depends what Direct3D Version Wows uses on your machine. So there are more than one place where you can change this. The other place(s) are in the d3d10 folder.
One thing that comes to mind is that we might be missing a field in the version info. I'll try playing around with that when I have time, but something like that would be really hard to figure out, especially since I lack the experience with these things that wine developers have.
Do you want to ask them? Do you want me to ask them?
I tried to compile it dxvk myself again (like I did in the past) ,
when I do the install the game center also starts , automagically :)
start the game, gives a screen, but the game crashes /not starting :)
I did compile succesfully in the past though
I tried building proton for the first time. Followed the instructions in the main readme. Got:
/usr/lib/ruby/2.7.0/rubygems/specification.rb:2235:in `check_version_conflict': can't activate vagrant-libvirt-0.3.0, already activated vagrant-libvirt-0.0.45 (Gem::LoadError)
@Darxus create repo and upload your build, naming it like Proton-XXXX-World-of-Warships-patched or something
@Darxus create repo and upload your build, naming it like Proton-XXXX-World-of-Warships-patched or something
I'm still having real basic problems getting unmodified proton to build at all. I think it would be more interesting if @anonymous133 posted their working build.
My difficulties building proton: https://github.com/ValveSoftware/Proton/issues/4423
Instructions for building proton are here: https://github.com/ValveSoftware/Proton
As I mentioned in my previous comment, I had some problems. I believe this is the complete set of commands I ran to get it to build:
sudo apt install vagrant vagrant-sshfs virtualbox
git clone --recurse-submodules https://github.com/ValveSoftware/Proton.git proton
cd proton
make install
In your menu of versions of proton to select, this will add: proton_5.13-local
Which exists in your filesystem as:
~/.steam/root/compatibilitytools.d/proton_5.13-local
To apply @anonymous133's workaround, after the clone, you'd need to edit proton/dxvk/src/d3d11/meson.build line 66 and change "d3d11_res" to "[]". Which I am currently trying.
Didn't work :(
I deleted ~/.steam/root/compatibilitytools.d/proton_5.13-local, edited that line, re-ran make install, and world of warships is still crashing between "logging in" and getting to the main screen.
The rebuild only took 6 minutes. The initial build took much longer.
@Darxus @Asiula
I'm using Lutris so I don't need to build Proton to use a different DXVK Version (don't know how that is with steam). In Lutris I can just point to a different dxvk version. Can't you just delete the content of the dxvk folder and put in the "patched" dxvk version?
I've made a change to DXVK and build that. I have forked this repo and implemented that change but only for Direct3D 11 since it is just a hack at this moment.
@Darxus remove the whole not dxvk_winelib ? d3d11_res : [], that was added in the commit and rebuild. don't just change the d3d11_res to [].
@Darxus remove the whole
not dxvk_winelib ? d3d11_res : [],that was added in the commit and rebuild. don't just change the d3d11_res to [].
I fear this may just add confusion.
@anonymous133 said to change the line to:
d3d11_dll = shared_library('d3d11'+dll_ext, dxgi_common_src + d3d11_src + d3d10_src, glsl_generator.process(dxgi_shaders), [],
The line didn't contain not dxvk_winelib ? d3d11_res : [],, that's actually what it contained in the last commit that worked with WoWS, 09baa37 .
Just for fun, I tried reverting just that line to what was contained in that commit. It unsuprisingly failed to compile:
src/d3d11/meson.build:66:0: ERROR: Unknown variable "dxvk_winelib".
I just tried the same recommended change again, still didn't work for me:
$ git diff
diff --git a/src/d3d11/meson.build b/src/d3d11/meson.build
index c6f93403..cde1dc1c 100644
--- a/src/d3d11/meson.build
+++ b/src/d3d11/meson.build
@@ -63,7 +63,7 @@ d3d11_src = [
'd3d11_view_uav.cpp',
]
-d3d11_dll = shared_library('d3d11'+dll_ext, dxgi_common_src + d3d11_src + d3d10_src, glsl_generator.process(dxgi_shaders), d3d11_res,
+d3d11_dll = shared_library('d3d11'+dll_ext, dxgi_common_src + d3d11_src + d3d10_src, glsl_generator.process(dxgi_shaders), [],
name_prefix : '',
dependencies : [ lib_dxgi, dxbc_dep, dxvk_dep ],
include_directories : dxvk_include_path,
Maybe I should try my own bisection from the version of DXVK in proton 3.16-9.
Well that's disappointing. Building proton 5.13, in the dxvk directory, I did git reset --hard v1.0.2, then ran make install for all of proton.
~/.steam/root/compatibilitytools.d/proton_5.13-local/dist/lib64/wine/dxvk$ cat version
+b7c419089677514c8352de3428544e029feb399f dxvk (v1.0.2)
It still crashed before the main screen, after "logging in".
Whoa, okay, progress. I renamed ~/.steam/root/compatibilitytools.d/proton_5.13-local/, and the new name didn't show up as a proton version option. Then I searched for that string in that directory, and ended up replacing it in compatibilitytool.vdf with "proton_5.13-dxvk" (in both places). Then I was able to select that version in the steam client. Then I was able to actually get to the WoWS main menu.
So I think when you put a newly built version of proton in ~/.steam/root/compatibilitytools.d/, steam copies it somewhere else, where it gets used. And if you build a new version of proton into that same directory, it never gets used.
This is again built with dxvk tag "v1.0.2".
Unfortunately I won't get to try again till tomorrow.
I did a fresh git clone --recurse-submodules on proton. It pulled down vkdx#280cd4b4 from valve.
I changed line 66 in dxvk/src/d3d11/meson.build to:
d3d11_dll = shared_library('d3d11'+dll_ext, dxgi_common_src + d3d11_src + d3d10_src, glsl_generator.process(dxgi_shaders),
So I removed the field from shared_library. I did not set it to empty array or any other value.
For ease of testing unzip this in ~/.steam/root/compatibilitytools.d/
tried it again, today, compiled it with the change in src/d3d11/meson.build , and today it worked :)
So basically what you're saying is that the DLL info (which is unfortunately _required_ for some other games to work) is what causes the game to bug out because reasons?
Can you give us examples of other games that require this?
Can somebody get us the values that the windows libraries use instead? Looks like dxvk is using the values in src/d3d11/version.rc
I'm very confused. WoWS now seems to be working with unmodified proton 5.13-2. With no updated WoWS files.
Edit: And 5.0-12. The two most recent releases.
The only stuff in my apt upgrade log (/var/log/apt/history.log) looks like it really shouldn't be related.
I can confirm, the game now indeed launches normally under unmodified proton 5.13-2 and 5.0-12 for me too. Weird.
With no updated WoWS files.
As the bug happened during the login, could it be some server-side change?
I can confirm too. Without the previous modifications game launched normally. Proton 5.13-2. Weird indeed.
I can confirm, the game now indeed launches normally under unmodified proton 5.13-2 and 5.0-12 for me too. Weird.
Thank you very much, I was really worried about my sanity.
As the bug happened during the login, could it be some server-side change?
Interesting possibility.
Wouldn't it be neat if software threw errors instead of crashing?
Confirmed here too, no more issues with latest proton build.
anyone else got this e-mail ?
`Dear Player,
We鈥檝e discovered that some prohibited software has been used on this account. This software makes changes to the system libraries and intrudes into the system processes of the game, or helps players aim at targets using methods that aren鈥檛 allowed in the game.
We recommend that you avoid the use of prohibited software in future.
A further violation will lead to temporal and then to permanent suspension of the account.
To ensure that your game client is clear of such software, we recommend that you reinstall the game and check your computer for any prohibited software.
Programs such as SweetFX, ReShade, ENBSeries, and the FXAA Tool can be used to enable visual improvements. However, they operate in a manner that鈥檚 somewhat similar to certain prohibited software and therefore must not be used in connection with the World of Warships game client. Most of these programs create additional .dll files in the game folder, and some of them even replace original game files. Completely reinstalling the game client is the most effective way of eliminating any changes made by this software.
We strongly recommend that you only use verified software and modifications published on the official forum. (https://forum.worldofwarships.eu/forum/493-mod-section/)
You can read the World of Warships game client modification policy here (https://worldofwarships.eu/en/news/general-news/mod-policy/).
Examples of verified and safe-to-use software:
Visual improvements: Nvidia GeForce Experience and AMD Crimson
Communications: Skype, Discord, Mumble, TeamSpeak, Ventrilo, Evolve, and Twitch Messenger
Applications for game streaming and recording: Nvidia ShadowPlay, Plays.tv, AMD ReLive, OBS Studio, Windows 10 Game DVR, and Fraps
Let's play fair!
Best regards,
World of Warships Team`
anyone else got this e-mail ?
No, but I know it's been a problem.
https://www.reddit.com/r/WorldOfWarships/comments/bhvvdx/warning_from_wargaming_from_playing_wows_through/
Is there any reason I shouldn't close this bug?
you can close it, seems to be working now, just got this message after my first time getting it to run after this issue , got scared , never bothered to even look at mods etc, so for me I re-used the compiled version of dxvk 1.7.2 and it works . btw, only works with the winecfg set at "Windows 7" correct ?
you can close it, seems to be working now, just got this message after my first time getting it to run after this issue , got scared , never bothered to even look at mods etc, so for me I re-used the compiled version of dxvk 1.7.2 and it works . btw, only works with the winecfg set at "Windows 7" correct ?
I dunno, I've only used it with steam proton, haven't touched winecfg.
Closing. Wee, this was fun, thanks folks.
Most helpful comment
I dunno, I've only used it with steam proton, haven't touched winecfg.
Closing. Wee, this was fun, thanks folks.