Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
World of Tanks and Wine - strangely depends on gcc?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gamers & Players
View previous topic :: View next topic  
Author Message
trubicoid
n00b
n00b


Joined: 04 Aug 2009
Posts: 44

PostPosted: Wed Oct 25, 2017 4:51 pm    Post subject: World of Tanks and Wine - strangely depends on gcc? Reply with quote

Hi guys,

I was playing WoT using PlayOnLinux and system wine for a long time. Wine-2.3 was compiled using gcc-4.9.4. Then gcc-5.4.0 become stable and I recompiled the whole system with it. But I could not play WoT anymore. I get only the "Updater" window, but when I hit Play, it crashes instantly.

Strange enough - recompiling just wine with gcc-4.9.4 makes WoT work again.

The wine log from the point I hit Play gcc-5.4.0:
Code:
fixme:msvcrt:_configure_wide_argv (1) stub
fixme:msvcrt:_initialize_wide_environment stub
err:seh:raise_exception Unhandled exception code c0000005 flags 0 addr 0xec831e74


and gcc-4.9.4:
Code:
fixme:winediag:wined3d_dll_init Experimental wined3d CSMT feature is currently enabled.
fixme:msvcrt:_configure_wide_argv (1) stub
fixme:msvcrt:_initialize_wide_environment stub
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 2
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 2
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 2
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 2
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 102
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 2
fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x33fd0c 63 C) semi-stub
fixme:msvcp:locale__Locimp__Makexloc (0x33fd0c 63 0x3fcb7a0 (nil)) semi-stub
fixme:msvcp:locale__Locimp__Makewloc (0x33fd0c 63 0x3fcb7a0 (nil)) semi-stub
fixme:msvcp:locale__Locimp__Makeushloc (0x33fd0c 63 0x3fcb7a0 (nil)) semi-stub
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:module:load_library unsupported flag(s) used (flags: 0x00000800)
fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x33f9bc 1 C) semi-stub
fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x33f79c 1 C) semi-stub
fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x33f9ec 1 C) semi-stub
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 2
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 2
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 2
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 2
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 2
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 1
fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x33f92c 1 C) semi-stub
fixme:wtsapi:WTSRegisterSessionNotification Stub 0x80022 0x00000000
fixme:d3d:wined3d_check_device_format_conversion wined3d 0x1752c8, adapter_idx 0, device_type WINED3D_DEVICE_TYPE_HAL, src_format WINED3DFMT_B8G8R8A8_UNORM,
dst_format WINED3DFMT_B8G8R8X8_UNORM stub!
fixme:d3d:wined3d_query_create Unhandled query type 0x5.
fixme:d3d:wined3d_swapchain_set_gamma_ramp Ignoring flags 0x1.
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 2
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 2
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 2
fixme:msvcp:_Mtx_init_in_situ unknown flags ignored: 2
....


It is not related to CSMT, as it is enabled and compiled in in both cases.

To be sure, I tried also gcc-6.4.0 - not working, and gcc-7.2.0 - working! How come? Gcc 4.9.4 and 7.2.0 works, while 5.4.0 and 6.4.0 don't? A mystery for me.

I can try other Wine versions, as I can also play WoT without PlayOnLinux. But I'm not sure it will help. Any clues what is happening?
Back to top
View user's profile Send private message
The Doctor
Moderator
Moderator


Joined: 27 Jul 2010
Posts: 2337

PostPosted: Thu Oct 26, 2017 4:35 am    Post subject: Reply with quote

Wine is very sensitive to gcc version. This is a known thing. See the gcc page on wine hq

The mission of wine is bug for bug compatibility with windows. That is a very touchy proposition.
_________________
First things first, but not necessarily in that order.
Back to top
View user's profile Send private message
trubicoid
n00b
n00b


Joined: 04 Aug 2009
Posts: 44

PostPosted: Tue Oct 31, 2017 9:59 am    Post subject: Reply with quote

Good to know. Although they do not speak about gcc newer than 5.3 there.

For record, here is how to install WoT:

Code:
#!/bin/bash
PREFIX="some-folder"
export WINEPREFIX="${PREFIX}"
export WINEARCH=win64
winetricks vcrun2015
winecfg
wine WoT_internet_install_xx.exe


In winecfg it is enough to select CSMT in staging (if you have it). You also better change
Code:
<launcher_transport>3</launcher_transport>
to
Code:
<launcher_transport>2</launcher_transport>
in WoTLauncher.cfg

To play:

Code:
#!/bin/bash
PREFIX="some-folder"
export WINEPREFIX="${PREFIX}"
export WINEARCH=win64
wine "${PREFIX}"/drive_c/Games/World_of_Tanks/WoTLauncher.exe


The Games/WorldofTanks folder can be easily shared with a writable Windows partition via a symbolic link and ntfs-3g to save space.

I also have no-sound issue, if the Wine is compiled with pulseaudio USE flag. Without the flag the sound works.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gamers & Players All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum