https://bugs.winehq.org/show_bug.cgi?id=43011
--- Comment #14 from Evren evren.demirk4n@gmail.com --- (In reply to R Domingues from comment #13)
I have the same issue - running Fedora 25, GNOME X11, on a Intel CPU with HD3000 integrated graphics.
Hi,
In my current working no-delay-in-Bnet setup, I found that StarCraft.exe is spawning a ClientSdkFirewallHelper.exe process to check if StarCraft.exe is excluded from Firewall or not.
0009:Call KERNEL32.CreateProcessW(00000000,037991b4 L"ClientSdkFirewallHelper.exe -check "C:\local_games\StarCraft\StarCraft.exe"",00000000,00000000,00000000,08000020,00000000,0390bf94 L"C:\local_games\StarCraft",0032f3cc,0032f410) ret=1006ee90
.... [snip]
with a return of:
0009:Ret KERNEL32.CreateProcessW() retval=00000001 ret=1006ee90
and generating a FIXME of "fixme:hnetcfg:fw_profile_get_FirewallEnabled 0x12fdb0, 0xc2f5a0"
Now, I am not sure what "retval=00000001" means...An error? A confirmation that StarCraft.exe is excluded from the firewall? Or something else. Afaik there's no firewall implementation in Wine.
Here, https://us.battle.net/forums/en/starcraft/topic/20754425833 Blizzard dev suggests checking/allowing StarCraft.exe on the firewall using the following command. (ClientSdkFirewallHelper.exe should be within the same folder with StarCraft.exe)
"ClientSdkFirewallHelper.exe -allow [Path to starcraft.exe]"
If this solves your popup and delay issue on Windows 8.1 we may narrow the issue to Firewall call. What I am thinking that, once you enter the multiplayer menu, ClientSdkFirewallHelper gets fired but unable to return immediately causing a timeout and delay for the main StarCraft.exe process. And following that for each subsequent action, called again..and again waiting for a timeout to continue.
Another workaround may be deleting/renaming "ClientSdkFirewallHelper.exe". Once I renamed that file, I didn't get a crash but SC asked me to "add StarCraft to the whitelist" each time I clicked on the Multiplayer menu. I selected OK/cancel and again once I got into the Bnet menu, there was no delay.
You can create a more detailed log adding the WINEDEBUG=+relay prefix and dump the output to a file for further inspection. Search for "FireWall", I hope your debug output may bring us one step closer to the solution.
WINEDEBUG=+relay WINEPREFIX="/home/ras/wine-prefix/sc/" wine /home/ras/wine-prefix/sc/drive_c/local_games/StarCraft/StarCraft.exe &>relmsg.log