https://bugs.winehq.org/show_bug.cgi?id=39347
Bug ID: 39347 Summary: World of Warships 0.4.x/0.5.x: incorrect water surface height calculated for unknown reasons, causing ships to appear floating in the air Product: Wine Version: 1.7.51 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Distribution: ---
Created attachment 52441 --> https://bugs.winehq.org/attachment.cgi?id=52441 focht's nagato "floating" in port after return from game (water surface level too low)
Hello folks,
that game got me hooked up at bit (= less time on bugs *g*). Unfortunately I frequently encounter a nasty in-game bug that surfaces after a certain amount of time/actions.
I created a support ticket at wargaming.net with screenshots along with some information. The ticket hang in pending queue for ~1 week only to be answered by a generic form "please update your graphics drivers". Oh well.
I mentioned this issue during talks with WineD3D folks at WineConf 2015. It seems this issue was already known to CodeWeavers (Stefan Doesinger, Matteo Bruni, Caron Wills).
It's not known yet if this is a Wine bug, a bug with the wargaming engine or graphics drivers.
There was a hint from Caron to try "low" water rendering setting but I figured out the bug is present there too but much less noticeable (smaller water surface "drop" value).
It seems I could force the in-game water surface level drop multiple times by moving the ship near an island/land mass and then zoom in/zoom out with island in view (couldn't reproduce consistently though). If the water drop happened once - it stayed forever - even the ships in port floated in the air. Exiting and restarting the client solved the issue.
I encountered the bug with WoWS 0.4.0 upgrade for the first time. Previous 0.3.x version didn't show it but also crashed more frequently hence there never was a time when the client ran for consecutive (hour long) game sessions.
I briefly looked at the game engine and found some game engine locations related to water rending properties along with their float representations. Since I didn't want to mess up my account by live-debugging/dumping game engine data (which could be considered hacking) I refrained from doing further investigation. A builtin offline simulation mode would have been nice ... but well.
Tested with recent Wine 1.7.5x version. Graphics used for testing (all exhibit the same problem):
Intel Haswell HD4600 with FOSS Intel/Mesa:
---- snip --- OpenGL vendor string: Intel Open Source Technology Center OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.6.3 (git-ccef890) OpenGL core profile shading language version string: 3.30 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 3.0 Mesa 10.6.3 (git-ccef890) OpenGL shading language version string: 1.30 OpenGL context flags: (none) OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.0 Mesa 10.6.3 (git-ccef890) OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00 OpenGL ES profile extensions: ---- snip ---
NVIDIA GeForce GTX 850M, NVIDIA binary drivers (via optimus):
---- snip --- OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: GeForce GTX 850M/PCIe/SSE2 OpenGL core profile version string: 4.4.0 NVIDIA 352.21 OpenGL core profile shading language version string: 4.40 NVIDIA via Cg compiler OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 4.5.0 NVIDIA 352.21 OpenGL shading language version string: 4.50 NVIDIA OpenGL context flags: (none) OpenGL profile mask: (none) OpenGL extensions: ---- snip ---
NVIDIA GeForce GT 425M with FOSS Nouveau/Mesa:
--- snip --- $ glxinfo | grep -i opengl OpenGL vendor string: nouveau OpenGL renderer string: Gallium 0.4 on NVC1 OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.6.3 (git-ccef890) OpenGL core profile shading language version string: 3.30 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 3.0 Mesa 10.6.3 (git-ccef890) OpenGL shading language version string: 1.30 OpenGL context flags: (none) OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.0 Mesa 10.6.3 (git-ccef890) OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00 OpenGL ES profile extensions: --- snip ---
Attached are some screenshots.
Regards
https://bugs.winehq.org/show_bug.cgi?id=39347
--- Comment #1 from Anastasius Focht focht@gmx.net --- Created attachment 52442 --> https://bugs.winehq.org/attachment.cgi?id=52442 destroyer with torpedos moving above water level (water surface level too low)
https://bugs.winehq.org/show_bug.cgi?id=39347
--- Comment #2 from Anastasius Focht focht@gmx.net --- Created attachment 52443 --> https://bugs.winehq.org/attachment.cgi?id=52443 view immediately after zooming out (looking in direction of waypoint B)
https://bugs.winehq.org/show_bug.cgi?id=39347
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |matteo.mystral@gmail.com, | |stefan@codeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=39347
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |http://worldofwarships.eu/e | |n/game/download/
https://bugs.winehq.org/show_bug.cgi?id=39347
--- Comment #3 from Stefan Dösinger stefan@codeweavers.com --- I don't really have anything new to add since wineconf, I've been busy with the Videos.
This may or may not help with live debugging: https://na.wargaming.net/support/Knowledgebase/Article/View/398/20/enabling-...
I noticed that if the bug happens in a real game, it'll happen in the same spot in the replay as well. (With the same wine settings. I never see the bug with ARB, only GLSL, and I never saw it with all native Windows libs so far)
https://bugs.winehq.org/show_bug.cgi?id=39347
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|World of Warships |World of Warships |0.4.x/0.5.x: incorrect |0.4.x/0.5.x: incorrect |water surface height |water surface height |calculated for unknown |calculated for unknown |reasons, causing ships to |reasons, causing ships to |appear floating in the air |appear floating in the air | |(with GLSL shader backend)
--- Comment #4 from Anastasius Focht focht@gmx.net --- Hello Stefan,
--- quote --- I never see the bug with ARB, only GLSL, and I never saw it with all native Windows libs so far --- quote ---
It seems your assessment is correct. I disabled GLSL via registry (= use ARB) and played 15 games straight away without problems. Re-enabled GLSL shader backend and encountered the bug in the first game.
Refining summary accordingly.
Regards
https://bugs.winehq.org/show_bug.cgi?id=39347
--- Comment #5 from Stefan Dösinger stefan@codeweavers.com --- Matteo claims he has seen this problem with ARB too. Not sure if it's really exclusive to GLSL.
We have at times seen problems due to GLSL compile times (Lip Sync in the Mass Effect 2 intro scene), I suspect something like this is going on here as well. If that was the case I'd expect Nvidia's shader cache and / or the command stream to improve things, but apparently that doesn't happen...
https://bugs.winehq.org/show_bug.cgi?id=39347
--- Comment #6 from Anastasius Focht focht@gmx.net --- Hello folks,
--- quote --- Matteo claims he has seen this problem with ARB too. Not sure if it's really exclusive to GLSL. --- quote ---
I've now done more than 1100 battles (~275 hours of gameplay) and never seen a problem with ARB shaders. Its very likely related to GLSL shader backend.
By having a large number of consecutive games I found another issue though, a GL memory leak. I'll create a separate bug for it.
I've also extensively used CSMT from Staging tree and it doesn't make any difference - besides doubling the framerate ;-)
Regards
https://bugs.winehq.org/show_bug.cgi?id=39347
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sebastian@fds-team.de
--- Comment #7 from Sebastian Lackner sebastian@fds-team.de --- According to http://source.winehq.org/patches/data/116614 this issue should be fixed, please retest.
https://bugs.winehq.org/show_bug.cgi?id=39347
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |e449f90b20cf9715df4644867ef | |c121776da6b36 Status|NEW |RESOLVED Component|-unknown |directx-d3d Resolution|--- |FIXED
--- Comment #8 from Anastasius Focht focht@gmx.net --- Hello folks,
this is fixed by commit https://source.winehq.org/git/wine.git/commitdiff/e449f90b20cf9715df4644867e...
Thanks Matteo
I played ~15 battles with client v0.5.1.1 and didn't encounter the issue. Usually it appeared in very soon.
Regards
https://bugs.winehq.org/show_bug.cgi?id=39347
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #9 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.8-rc1.
https://bugs.winehq.org/show_bug.cgi?id=39347
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://worldofwarships.eu/e |https://web.archive.org/web |n/game/download/ |/20201112043601/http://dl-w | |ows-gc.wargaming.net/eu/fil | |es/ilcClx1YzB/WoWS_internet | |_install_eu.exe