https://bugs.winehq.org/show_bug.cgi?id=56667
Bug ID: 56667 Summary: World of Tanks: Unplayable due to extreme CPU usage / bottlenecking Product: Wine Version: 9.7 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: xxx43615xxx@gmail.com Distribution: ---
In short, rendering graphics is now heavily CPU-bound for some reason, resulting in unusably low performance. As far as I can tell, this is not caused by DXVK or my graphics drivers. I don't think I should fully repeat myself here, please read the details in my forum thread:
https://forum.winehq.org/viewtopic.php?t=38875
The game can be installed through Wargaming's launcher, EU version available here after registration (free):
https://worldoftanks.eu/en/game/download/
https://bugs.winehq.org/show_bug.cgi?id=56667
43615 xxx43615xxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |xxx43615xxx@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=56667
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, performance URL| |https://worldoftanks.eu/en/ | |game/download/
--- Comment #1 from Ken Sharp imwellcushtymelike@gmail.com --- Please attach the console log.
https://bugs.winehq.org/show_bug.cgi?id=56667
--- Comment #2 from 43615 xxx43615xxx@gmail.com --- Created attachment 76449 --> https://bugs.winehq.org/attachment.cgi?id=76449 WoT client log, launched with Wine Staging 9.8
https://bugs.winehq.org/show_bug.cgi?id=56667
43615 xxx43615xxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
https://bugs.winehq.org/show_bug.cgi?id=56667
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |alexhenrie24@gmail.com Keywords|regression |
--- Comment #3 from Alex Henrie alexhenrie24@gmail.com --- This is not a Wine regression: According to the forum post, it was the game that changed, not Wine.
https://bugs.winehq.org/show_bug.cgi?id=56667
--- Comment #4 from 43615 xxx43615xxx@gmail.com --- Misunderstood the definition, sorry.
Note: Issue still present in today's patch (1.24.1.4539).
https://bugs.winehq.org/show_bug.cgi?id=56667
dr. Hannibal Lecter neutrinocms@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |neutrinocms@gmail.com
--- Comment #5 from dr. Hannibal Lecter neutrinocms@gmail.com --- If anyone is coming here from search engines, the solution seems to be found on ProtonDB:
"Need workaround (from WoT discord) for multiple cores CPUs - restrict used number of cores to only physical ones: set env var WINE_CPU_TOPOLOGY=8:0,1,2,3,4,5,6,7 (for 16 cores), 6:0,1,2,3,4,5 (for 12) etc."
However, I *think* the poster misunderstood the instructions, because in an 16-core CPU, you have...16 physical cores (but also 16 virtual/hyperthreading ones). So in theory, if the text is correct, for a 12-core CPU you should be able to use something like:
WINE_CPU_TOPOLOGY=12:0,1,2,3,4,5,6,7,8,9,10,11
But...I personally have a 7900X3D, which is a 12-core CPU, *however*, half of the cores have the new AMDs v-cache, so when I use all 12 cores, WoT still stutters a bit for some reason, so I used the cores without the v-cache like this:
WINE_CPU_TOPOLOGY=6:6,7,8,9,10,11
...and it finally seems playable again (although the good ol' ancient audio stuttering is back occasionally, I don't know if this is related or not, but it sure is annoying).
https://bugs.winehq.org/show_bug.cgi?id=56667
--- Comment #6 from 43615 xxx43615xxx@gmail.com --- Promising suggestion, although it's not clear why this would cause issues unless there was a graphics API change or something. However, I'm unable to try it out since that variable doesn't appear to do anything. There's no performance difference and the process log doesn't contain entires about "fill_cpu_override" (as it should according to a googleable post). Does this need a specific Wine version or parameter to function?
https://bugs.winehq.org/show_bug.cgi?id=56667
--- Comment #7 from dr. Hannibal Lecter neutrinocms@gmail.com --- (In reply to 43615 from comment #6)
However, I'm unable to try it out since that variable doesn't appear to do anything. There's no performance difference and the process log doesn't contain entires about "fill_cpu_override" (as it should according to a googleable post). Does this need a specific Wine version or parameter to function?
Wow, it looks like I was suffering from a major case of placebo yesterday! Turns out, it didn't actually fix things, but my memory of the initial stuttering was twisted so I thought it did something. /facepalm
However, today I went digging a bit more, and found out that WINE_CPU_TOPOLOGY is only a Proton thing, not standard WINE. So I switched to Proton Experimental, and lo and behold, I now have smooth and stable gameplay at 144 FPS!
It also turns out that my hypothesis regarding v-cache cores was also wrong, I'm successfully using all 12 cores of 7900X3D; so if you have an X3D CPU, disregard the comment above regarding v-cache - all physical cores work great.
Thanks for pointing me in the right direction @43615!
https://bugs.winehq.org/show_bug.cgi?id=56667
--- Comment #8 from 43615 xxx43615xxx@gmail.com --- Proton works! Apparently it chokes when presented with all the cores of my i9-13900KS, which is probably the default behavior:
WINE_CPU_TOPOLOGY=32:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
And if I only give it the normal "P-cores" (8C16T), it runs fine:
WINE_CPU_TOPOLOGY=16:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
Unfortunately, the Steam version is nearly useless for me since I can't use my existing Wargaming account with it. To run a full "integration test", I'd like to replace the usual Wine package with one that includes the Proton patches, which is available in the AUR as "wine-ge-custom". Unfortunately, that package is currently failing to build, which I've already reported.
Even without testing, I'm 90% sure that it'll work. Now, where do we take this bug report? The issue is resolved by using a downstream project, but still persists in vanilla Wine. Maybe it has something to do with inhomogenous core arrangements?
https://bugs.winehq.org/show_bug.cgi?id=56667
bennett.russell@colorado.edu changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bennett.russell@colorado.ed | |u
--- Comment #9 from bennett.russell@colorado.edu --- I can confirm that this issue also exists for Threadripper/Threadripper PRO CPUs
https://bugs.winehq.org/show_bug.cgi?id=56667
medveszar891@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |medveszar891@gmail.com
--- Comment #10 from medveszar891@gmail.com --- (In reply to 43615 from comment #8)
Proton works! Apparently it chokes when presented with all the cores of my i9-13900KS, which is probably the default behavior:
WINE_CPU_TOPOLOGY=32:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21, 22,23,24,25,26,27,28,29,30,31
And if I only give it the normal "P-cores" (8C16T), it runs fine:
WINE_CPU_TOPOLOGY=16:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
Unfortunately, the Steam version is nearly useless for me since I can't use my existing Wargaming account with it. To run a full "integration test", I'd like to replace the usual Wine package with one that includes the Proton patches, which is available in the AUR as "wine-ge-custom". Unfortunately, that package is currently failing to build, which I've already reported.
Even without testing, I'm 90% sure that it'll work. Now, where do we take this bug report? The issue is resolved by using a downstream project, but still persists in vanilla Wine. Maybe it has something to do with inhomogenous core arrangements?
As for me, the WINE_CPU_TOPOLOGY doesn't solve the issue, the game still stutters as hell. Tried to run it with custom proton (GE-Proton9-7), wine 9.0 and nothing changed.
My Config:
CPU: Intel i5-6500 3.20GHz (4) GPU: AMD R7 370 RAM size: 24 GB
Cause of the issue can't be related to my config being "too old" or "outdated" since I could play the game with 100+ fps on medium setting around january.