The forum

World of Tanks Flickering Visuals And/Or Freezing

Author Replies
logan2605 Wednesday 25 May 2016 at 16:59
logan2605Anonymous

Update 9.15 came out today for world of tanks. Evidentally their switch to the "CoreEngine 3.0 Graphical Engine" threw a wrench into something. The game flickers constantly, at a rather fast rate. It was enough to cause a headache and serious nausia after a few minutes of me trying to play with in game settings to attempt to fix it. As usual when something goes wrong, i did a fresh install first. This did not fix the issue, nor did changing the wine version to 1.9.0-Staging. In fact that version of wine brought my framrate down to about 3fps.

Besides the change to the aforementioned graphics engine, they also stated that they reworked FX lighting, and added the ability to use modern DX11 graphics API. They say that their internal world of tanks awesomium browser now uses chromium embedded frame work. This tip is also listed "To fix the unstable behavior of the NVIDIA driver in SLI mode with DirectX 11, please install driver version 365.10.The DX11 renderer will automatically turn on for the video cards that support it. If your video card/operating system does not support DX11, the DX9 renderer will be used instead. The difference in renderers does not affect the game settings." 

 

I do not know if that information is helpful, but given as it is a graphical glitch i decided i would include it.

The patch notes are here "http://worldoftanks.com/en/content/docs/915-updatenotes/" should you need any more information on the technical changes made.

 

The flickering visuals only becomes an issue however, when World of Tanks actually manages to load past the Log-in screen. It seems to freeze on the "Updating Interface" piece, which is the last segment before it is supposed to load the in game garage panel, ie the actual game.

 

There is ALOT in the debug window so i'll put up the individual items. Most of the debug window is filled with repeated lines of the fixme issues listed below anyway.

First of all, alot of fixme: 

fixme:ntdll:NtConnectPort (0x5b0c1170,L"\\ThemeApiPort",0x33fb2c,(nil),(nil),(nil),0x33fb3c,0x33fb38),stub!

fixme:process:SetProcessDEPPolicy (1): stub

fixme:nls:CompareStringEx semi-stub behavor for flag(s) 0x10000000

fixme:wtsapi:WTSQuerySessionInformationW Stub (nil) 0x00000000 5 0x33ef90 0x33ef98

fixme:shell:DllGetClassObject failed for CLSID={871c5380-42a0-1069-a2ea-08002b30309d} (Internet Explorer)

fixme:win:DisableProcessWindowsGhosting : stub
fixme:msg:ChangeWindowMessageFilterEx 0x10086 c053 1 (nil)

fixme:advapi:RegisterTraceGuidsW (0x5a13b8, 0x762830, {b2a40f1f-a05a-4dfd-886a-4c4f18c4334c}, 1, 0x33f894, (null), (null), 0x762830): stub

fixme:advapi:UnregisterTraceGuids 0: stub
fixme:win:WINNLSEnableIME hwnd 0x10094 enable 0: stub!
fixme:win:WINNLSEnableIME hwnd 0x10094 enable -1: stub!

fixme:sfc:SfcIsFileProtected ((nil), L"C:\\Games\\World_of_Tanks\\unins000.exe") stub

fixme:heap:HeapSetInformation 0x110000 0 0x33da04 4

fixme:advapi:RegisterTraceGuidsW (0x638962c3, 0x63ab1058, {ffdb9886-80f3-4540-aa8b-b85192217ddf}, 1, 0x33d64c, (null), (null), 0x63ab1058): stub
fixme:advapi:RegisterTraceGuidsW (0x638964fa, 0x63aae200, {0cfe0455-93ba-440d-a3fe-553973d0b723}, 1, 0x33d630, (null), (null), 0x63aae208): stub
fixme:advapi:RegisterTraceGuidsW (0x638964fa, 0x63aae220, {797fabac-7b58-4796-b924-d51178a59ce4}, 1, 0x33d630, (null), (null), 0x63aae228): stub
fixme:advapi:RegisterTraceGuidsW (0x638962c3, 0x63ab1088, {9e3b3947-ca5d-4614-91a2-7b624e0e7244}, 1, 0x33d64c, (null), (null), 0x63ab1088): stub

fixme:ntdll:NtQueryInformationToken QueryInformationToken( ..., TokenElevationType, ...) semi-stub

fixme:ole:RemUnknown_QueryInterface No interface for iid {00000019-0000-0000-c000-000000000046}
fixme:nls:CompareStringEx semi-stub behavor for flag(s) 0x10000000

Next, the err, in order of appearence:

err:ole:CoInitializeEx Attempt to change threading model of this apartment from apartment threaded to multi-threaded
err:ole:CoGetClassObject class {5a508685-a254-4fba-9b82-9a24b00306af} not registered
err:ole:CoGetClassObject no class object {5a508685-a254-4fba-9b82-9a24b00306af} could be created for context 0x1


err:ole:CoGetClassObject class {6c736db1-bd94-11d0-8a23-00aa00b58e10} not registered
err:ole:CoGetClassObject no class object {6c736db1-bd94-11d0-8a23-00aa00b58e10} could be created for context 0x1


fixme:ntdll:NtConnectPort (0x5b0c1170,L"\\ThemeApiPort",0x33f4dc,(nil),(nil),(nil),0x33f4ec,0x33f4e8),stub!
C981C14C2B1E35DBD6FE35DBD6F45E29741&event=part_update_started&chain_id=sd3&part_id=sdcontent HTTP/1.1

User-Agent: wg::http::curl_http_request 1.1

Host: update.worldoftanks.com

Accept: */*


< HTTP/1.1 404 Not Found

< Server: nginx

< Date: Wed, 25 May 2016 14:45:24 GMT

< Content-Type: text/html

< Content-Length: 162

< Connection: keep-alive

< 

* Connection #0 to host update.worldoftanks.com left intact
* Closing connection #0
* About to connect() to update.worldoftanks.com port 80 (#0)
*   Trying 162.213.61.124...
* connected
* Connected to update.worldoftanks.com (162.213.61.124) port 80 (#0)
> GET /nginx_stats?installation_id=6C3A4C981C14C2B1E35DBD6FE35DBD6F45E29741&event=part_update_finished&chain_id=sd3&part_id=sdcontent HTTP/1.1

User-Agent: wg::http::curl_http_request 1.1

Host: update.worldoftanks.com

Accept: */*


< HTTP/1.1 404 Not Found

< Server: nginx

< Date: Wed, 25 May 2016 14:45:24 GMT

< Content-Type: text/html

< Content-Length: 162

< Connection: keep-alive

< 

* Connection #0 to host update.worldoftanks.com left intact
* Closing connection #0
* About to connect() to wgusst-na.wargaming.net port 80 (#0)
*   Trying 162.213.62.106...
* connected
* Connected to wgusst-na.wargaming.net (162.213.62.106) port 80 (#0)
> GET /launcher/game_launched?installation_id=6C3A4C981C14C2B1E35DBD6FE35DBD6F45E29741&event_date=2016-05-25%2010%3a45%3a29%20-0400&application_id=wot&chain_id=sd3&app_type_id=sd&game_language=en&windUser-Agent: wg::http::curl_http_request 1.1

Host: wgusst-na.wargaming.net

Accept: */*


* About to connect() to update.worldoftanks.com port 80 (#0)
*   Trying 162.213.61.124...
< HTTP/1.1 200 OK

< Server: nginx

< Date: Wed, 25 May 2016 14:45:29 GMT

< Content-Type: text/html; charset=utf-8

< Content-Length: 0

< Connection: keep-alive

< 

* Connection #0 to host wgusst-na.wargaming.net left intact
* Closing connection #0
* connected
* Connected to update.worldoftanks.com (162.213.61.124) port 80 (#0)
> GET /nginx_stats?installation_id=6C3A4C981C14C2B1E35DBD6FE35DBD6F45E29741&event=game_launched_after_install&chain_id=sd3&app_type_id=sd HTTP/1.1

User-Agent: wg::http::curl_http_request 1.1

Host: update.worldoftanks.com

Accept: */*


< HTTP/1.1 404 Not Found

< Server: nginx

< Date: Wed, 25 May 2016 14:45:29 GMT

< Content-Type: text/html

< Content-Length: 162

< Connection: keep-alive

< 

* Connection #0 to host update.worldoftanks.com left intact
* Closing connection #0
* About to connect() to update.worldoftanks.com port 80 (#0)
*   Trying 162.213.61.124...
* connected
* Connected to update.worldoftanks.com (162.213.61.124) port 80 (#0)
> GET /nginx_stats?installation_id=6C3A4C981C14C2B1E35DBD6FE35DBD6F45E29741&event=launcher_closed HTTP/1.1

User-Agent: wg::http::curl_http_request 1.1

Host: update.worldoftanks.com

Accept: */*


< HTTP/1.1 404 Not Found

< Server: nginx

< Date: Wed, 25 May 2016 14:45:29 GMT

< Content-Type: text/html

< Content-Length: 162

< Connection: keep-alive

< 

* Connection #0 to host update.worldoftanks.com left intact
* Closing connection #0
err:d3d:resource_unload Resource 0x39e6478 is being unloaded while mapped.
err:d3d:resource_unload Resource 0x39e6478 is being unloaded while mapped.
err:d3d:resource_unload Resource 0x1e96768 is being unloaded while mapped.
err:d3d:resource_unload Resource 0x1e96768 is being unloaded while mapped.
err:d3d:resource_unload Resource 0x5248b80 is being unloaded while mapped.
err:d3d:resource_unload Resource 0x5248b80 is being unloaded while mapped.


err:ole:CoInitializeEx Attempt to change threading model of this apartment from apartment threaded to multi-threaded
err:ole:CoGetClassObject class {5a508685-a254-4fba-9b82-9a24b00306af} not registered
err:ole:CoGetClassObject no class object {5a508685-a254-4fba-9b82-9a24b00306af} could be created for context 0x1

Lastly, there is this

wine: cannot find L"C:\\windows\\system32\\ctfmon.exe"

I SHOULD have all my 32 bit libraries installed and then some. World of Tanks worked without issue before patch 9.15, and both League of Legends and Guild Wars 2 also function normally, so it shouldn't be a case of missing libraries.

UPDATE:

I reinstalled and used the 1.9.10-Staging. The game ran fine for about twenty minutes, flickering still an issue but to a lesser extent. However, fps dropped down to 3, and now it crashes almost instantly.

Please configure the application to use double buffering (1 back buffer) if possible.
fixme:d3d:query_init Unhandled query type 0x5.
fixme:d3d:wined3d_swapchain_set_gamma_ramp Ignoring flags 0x1.
fixme:nvapi:unimplemented_stub function 0xdc6dc8d3 is unimplemented!
fixme:nvapi:unimplemented_stub function 0x6c2d048c is unimplemented!
err:ole:CoInitializeEx Attempt to change threading model of this apartment from apartment threaded to multi-threaded
err:pulse:pulse_contextcallback Context failed: Connection refused
fixme:imm:ImmReleaseContext (0x50090, 0x23e56850): stub
fixme:imm:NotifyIME NI_CLOSECANDIDATE
fixme:wbemprox:client_security_SetBlanket 0xee33fba8, 0x23eb1708, 10, 0, (null), 3, 3, (nil), 0x00000000
fixme:wbemprox:client_security_Release 0xee33fba8
fixme:wbemprox:wbem_services_CreateInstanceEnum unsupported flags 0x00000030
fixme:wbemprox:wbem_services_CreateInstanceEnum unsupported flags 0x00000030
fixme:wbemprox:wbem_services_CreateInstanceEnum unsupported flags 0x00000030
fixme:wbemprox:wbem_services_CreateInstanceEnum unsupported flags 0x00000030
fixme:wbemprox:wbem_services_CreateInstanceEnum unsupported flags 0x00000030
fixme:wbemprox:wbem_services_CreateInstanceEnum unsupported flags 0x00000030
fixme:d3d:wined3d_swapchain_set_gamma_ramp Ignoring flags 0x1.
fixme:d3d:wined3d_check_device_format_conversion wined3d 0x18c848, adapter_idx 0, device_type WINED3D_DEVICE_TYPE_HAL, src_format WINED3DFMT_B8G8R8A8_UNORM, dst_format WINED3DFMT_B8G8R8X8_UNORM stub!
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  10 (X_UnmapWindow)
  Resource id in failed request:  0x8800003
  Serial number of failed request:  456
  Current serial number in output stream:  476
AL lib: ReleaseALC: 1 device not closed

Edited by logan2605

logan2605 Saturday 28 May 2016 at 22:16
logan2605Anonymous

Someone on the world of tanks forums says that he fixed the problem by doing the following: Change the wine version to 1.9.10-Staging, install d3dx11 and d3compiler_43. Next, go into the wine configuration menu, under the staging subsection, enable CMST for better graphical performance. Several people claim this fixes both the crashing poblem and the graphical flicker on their games. It doens't seem to work for me so i'll keep working on it.

Edited by logan2605

logan2605 Saturday 28 May 2016 at 22:51
logan2605Anonymous

The heart of the problem seems to be wines interaction with graphics drivers. Doing my research the "wine: cannot find L"C:\\windows\\system32\\ctfmon.exe" isn't important, most programs run fine without it. I tried disabling strict draw ordering and setting the off screen rendering to backbuffer, neither of which worked, individually or together, so i reset them to default. The moment that the window crashes this message is what is displayed

X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  10 (X_UnmapWindow)
  Resource id in failed request:  0x6e00003
  Serial number of failed request:  455
  Current serial number in output stream:  475
AL lib: ReleaseALC: 1 device not closed

Again a google search points to an error with either my graphics card or its drivers. The problem is, Linux Ultimage 4.3 and truthfully any linux distro i've run up to this point only allows the 350 driver as the most up to date. I've already destroyed my computer once by trying to force update the drivers to 367, by downloading the drivers from nvidia's website, and running it through tty1, but i evidently broke my x server this way and had to reinstall my operating system, i didn't have so much as a command prompt. So i'm warry of trying something similar again. Anyone have any ideas?

logan2605 Saturday 28 May 2016 at 23:55
logan2605Anonymous

I realize what i did on my last install of the drivers. I didn't uninstall the old ones. I followed the instructions here to a letter: http://askubuntu.com/questions/451221/ubuntu-14-04-install-nvidia-driver

my computer now moves about 4 times faster but it didn't solve the problem either. 

logan2605 Sunday 29 May 2016 at 1:24
logan2605Anonymous

Update:

Been playing around with some wine versions. Testing went as follows

1.7.22-Staging: Flickering issue slightly better, but not completely gone, and a minor dip in FPS

1.9.9-Staging: Game freezes on launch, had to force shut down the application via the terminal.

1.9.11: Flickering issue slightly better again yet without the fps drop of 1.7.22

1.9.8: Flickering issue slightly better, not as good as 1.9.11, no fps drop.

1.9.8-Staging: Same freeze as with 1.9.9-Staging.

Going to run further tests on 1.9.11 as it peformed the best.

 

1.9.11:

Tried disabling strict draw ordering. No change. Leaving it disabled.
Changing offscreen rendering to backbuffer causes crash.

Enabled multisampling. Further improvement. Leaving Enabled.

Enabled GLSL support. Slight improvement, frequency of flicker not effected, but severity lessened. Leaving Enabled.

Render Target Mode Lock set to readdraw, significant improvement in both frequency and severity of flicker.

Direct Draw Renderer set to opengl. No change, leaving set.

Offscreen Render Mode set to pbuffer. No change.

Offscreen render mode set to fbo. Probably the best setting.

This seems to be as good as i'm gonna get it. Despite the fact that none of the mods or devs have replied i'm hoping this information is atleast helpful to somebody. 

Shadowman Sunday 29 May 2016 at 7:45
ShadowmanAnonymous

I followed the info from first post except stayed with 358version of Nvidia driver.  It all worked perfectly, first run only.  Subsequent starts of the game returns to the above bad window error before the login pops up  I will tinker some more.

 

Update:  Still have not nailed it down, but attempting to chase down why it appears to be resizing the game window upon generation.  Nvidia treats my dual monitor setup (both 1920x1080) as a single 3840x1080 virtual monitor.  I am finding that when it appears to try to create the screan to the virtual monitor size or move it from my monitor 2 over to monitor 1, my primary, it crashes out just before the login. 

So far only way I get it to run is to do a virtual wine desktop (1280x1024) that the launcher starts in (sometimes crashes if I do not hit start fast enough), but the full up game ignores the virtual and ends up with the 1920x1080.  Will tinker some more tomorrow.

Do you find that the WoT launcher is still running after crashes and also during the game?  Fails to close even after exiting the game.

Edited by Shadowman


Fedora 38/Gnome
ASUS TUF GAMING X570-PLUS (WI-FI), 64GB@3200MHZ, AMD Ryzen 7 5800X 8-Core Processor, EVGA GEFORCE GTX 950 FTW
quiritius Wednesday 1 June 2016 at 12:50
quiritiusAnonymous

Debian Jessie 3.16.0-4-amd64, Nvidia 361.45.11. World of Tanks patch 0.9.15. wine-1.9.11 (Staging)

No flickering problems at all. Everything runs perfectly so far.

What I did:

0) do not use the default POL script

1) create manually a new bottle (32-bit or 64-bit, both run equally well)

2) set wine version to: wine-staging 0.9.11 (from POL repository or from staging repository)

3) install vcrun2012 (yes, only vcrun2012 and nothing else)

4) set options in POL "Display" tab required, depending on your hardware (see what worked previously)

5) in wine options ("Configue wine"), "Staging" tab enable CSMT

6) install the game using the online installer or just move an existing game directory into the new bottle, creating the shortcuts for the game and for the launcher; likewise move the Wargaming.net the same way or set all in-game option anew.

7) a redundant step: run the game with -clientGraphicsAPI d3d9 command line parameter (not really necessary for me)

8) if cef_browser_process.exe misbehaves, just rename it into something else (drive_c/Games/World_of_Tanks/res/cef/cef_browser_process.exe)

That is all. Everything works.

Edited by quiritius

RastaManKing Friday 3 June 2016 at 20:05
RastaManKingAnonymous

i can confirm that the default install script for wot does not work,

but quiritius' guide worked like a charm for me, and its even looking and working better than when i had 9,14 installed with the default script..

thank you for the tip quiritius!

logan2605 Wednesday 8 June 2016 at 0:22
logan2605Anonymous

Can confirm this does work, with both the 32 bit and the 64 bit HD client. The command prompt he mentions goes under the miscelaneous tab under configuration. just copy and past: -clientGraphicsAPI d3d9

 

Thanks a million quiritius!

quiritius Tuesday 14 June 2016 at 18:53
quiritiusAnonymous

Well... it seems that not everything works after all.

When in hangar, if you go into "exterior" - "emblems" (or "inscription"), the client will freeze and needs to be manually killed. This is easy to avoid though since the "camouflage" is not affected.

Also if your tank already has an emblem or an inscription and you open "exterior" the client freezes and tries to reload by itself... or just freezes. I guess this is because the emblems/inscriptions slots are visible as soon as you enter "exterior". The emblem/inscription slot in this case are blank in "exterior", even though emblem/inscriptions are visible in the hangar and in battle. This one is trickier but also easily avoided in most cases.

There is no fix at this stage as far as I know.

Edited by quiritius

anyb Saturday 17 September 2016 at 21:22
anybAnonymous

changing to latest wine-staging and enabling csmt graphics fixed flicker for me but added random crashes.

This site allows content generated by members, and we promptly remove any content that infringes copyright according to our Terms of Service. To report copyright infringement, please send a notice to dmca-notice@playonlinux.com