How can I run Warcraft 3 on Ubuntu 18.04?
Solution 1
I have faced the same problem: Same Ubuntu version, same tries, same everything; and I was about to go crazy. I have resorted to install the game on a Windows machine, zip the game folder and move it to my Linux.
And I discovered that somehow, the war3 LAUNCHER works better than the setup to install the game.
You still need a key to use the game, so I don't care about giving out the exe.
It worked perfectly with staging-pba-3.18 for me, you'll have to tell me if that works for you.
EDIT:
Online should be fine, you'll need a warcraft3 "battle.net" account, that you can create in-game, the main concern would be Blizzard anti cheat not liking wine, but a lot of people, including myself, have been playing SC2 and Overwatch on wine for a while, and Blizzard does not seem to care, so I don't see why they would care about War3.
I don't know about LAN tho, and can't really test it ...
For the resolution, it's really funny, cause it's not a Linux bug, some people are also having the issue on Windows since patch 1.30 :D
Two possible fixes are:
Use the
-nativefullscr
argument when launching the game (it does not work for me, my graphics card would not output anything after the game launched, my screen behaved as if it was disconnected).Edit the wine registry to force the startup resolution, which while feeling a bit hack-ish works really well. Keys are in
HKEY_CURRENT_USER/Software/Blizzard Entertainment/Warcraft III/Video
and you want to changeresheight
andreswidth
to your screen size, values are in hexadecimal, but the input window should allow you to type in decimal values.
Note that while the game will be rendered in the resolution and aspect ratio you want, the menu will stay in 4/3.
Solution 2
I have run into similar issues. I had such errors in the console and the installer timed out. (from 1.26 trying to update to 1.30)
I finally solved my problem by settings wine windows mode from windows xp to windows 7:
tatsu
Updated on September 18, 2022Comments
-
tatsu over 1 year
The guide here : How to install World of Warcraft? has not worked for a decade. this question needs to be answered anew and with the particular context of ubuntu 18.04.1 and Wine development halting:
Wine is undergoing a bit of an odd transition. The maintainers of Wine's staging branch recently abandoned it, but the Lutris project quickly picked it back up.
At the time you're reading this, it might not be a concern, but right now, it definitely is. As a result, the main guide will focus on the latest vanilla Wine release from Ubuntu, but you can absolutely install the latest staging or Gallium Nine versions when they become available.
I think this particular build of Ubuntu is incompatible with past solutions for running Warcraft 3.
I get this screen:
I've tried many different methods:
- All three of the Lutris installers
- Play on Linux
-
This guide which is specifically for 18.04, with wine-staging, but using this source:
sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main'
and this WineHQ post
But at the end of the first guide I run:
wine64 ~/Downloads/Warcraft-III-Setup.exe
this sticks out:
0103:fixme:wininet:InternetSetOptionW Option 77 STUB
and I get the screen again:
t@tsu:~/Downloads$ wine64 ~/Downloads/Warcraft-III-Setup.exe 000b:fixme:winediag:start_process Wine Staging 3.18 is a testing version containing experimental patches. 000b:fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org. ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libnss3.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. 002b:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 002b:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 002d:fixme:ver:GetCurrentPackageId (0xbcfe9c (nil)): stub 002b:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 002b:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 002b:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 002b:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0033:fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform 0033:fixme:winhttp:WinHttpDetectAutoProxyConfigUrl discovery via DHCP not supported ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libnss3.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. 0037:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0037:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0039:fixme:ver:GetCurrentPackageId (0xbcfe9c (nil)): stub 0037:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0037:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0037:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0037:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 003f:fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform 003f:fixme:winhttp:WinHttpDetectAutoProxyConfigUrl discovery via DHCP not supported ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libnss3.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. <html><head><title>Object moved</title></head><body> <h2>Object moved to <a href="http://www.blizzard.com/404">here</a>.</h2> </body></html> 003f:fixme:wininet:InternetSetOptionW Option 77 STUB 0046:err:wininet:open_http_connection create_netconn failed: 12029 0044:err:ole:CoCreateInstanceEx apartment not initialised 0044:err:ntdll:NtQueryInformationToken Unhandled Token Information class 24! ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libnss3.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. 0044:fixme:ver:GetCurrentPackageId (0x33fe14 (nil)): stub ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libnss3.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. 003f:fixme:wininet:InternetSetOptionW Option 77 STUB 0047:err:wininet:open_http_connection create_netconn failed: 12029 003f:fixme:wininet:InternetSetOptionW Option 77 STUB 0046:err:wininet:open_http_connection create_netconn failed: 12029 <html><head><title>Object moved</title></head><body> <h2>Object moved to <a href="http://www.blizzard.com/404">here</a>.</h2> </body></html> 003f:fixme:wininet:InternetSetOptionW Option 77 STUB 0047:err:wininet:open_http_connection create_netconn failed: 12029 004a:fixme:wbemprox:wbem_locator_ConnectServer unsupported flags 004a:fixme:wbemprox:client_security_SetBlanket 0x7c81f938, 0x181ad8, 10, 0, (null), 3, 3, (nil), 0x00000000 004a:fixme:wbemprox:client_security_Release 0x7c81f938 004a:fixme:wbemprox:enum_class_object_Next timeout not supported 004a:err:ntdll:NtQueryInformationToken Unhandled Token Information class 24! 004a:fixme:thread:RtlCreateUserThread stack_reserve != 0 is unimplemented 004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0050:fixme:ver:GetCurrentPackageId (0x1c5fe9c (nil)): stub 004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 003f:fixme:wininet:InternetSetOptionW Option 77 STUB 0046:err:wininet:open_http_connection create_netconn failed: 12029 003f:fixme:wininet:InternetSetOptionW Option 77 STUB 0047:err:wininet:open_http_connection create_netconn failed: 12029 <html><head><title>Object moved</title></head><body> <h2>Object moved to <a href="http://www.blizzard.com/404">here</a>.</h2> </body></html> t@tsu:~/Downloads$ 003f:fixme:wininet:InternetSetOptionW Option 77 STUB 0046:err:wininet:open_http_connection create_netconn failed: 12029 003f:fixme:wininet:InternetSetOptionW Option 77 STUB 0047:err:wininet:open_http_connection create_netconn failed: 12029 004a:fixme:heap:GetPhysicallyInstalledSystemMemory stub: 0x33f9c0 003f:fixme:wininet:InternetSetOptionW Option 77 STUB 004a:fixme:heap:GetPhysicallyInstalledSystemMemory stub: 0x33f7b8 004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 004a:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0052:fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform 0052:fixme:winhttp:WinHttpDetectAutoProxyConfigUrl discovery via DHCP not supported 004a:fixme:ole:CoInitializeSecurity ((nil),-1,(nil),(nil),0,3,(nil),0,(nil)) - stub! 004a:fixme:wbemprox:client_security_SetBlanket 0x7c81f938, 0x21fbc0, 10, 0, (null), 3, 3, (nil), 0x00000000 004a:fixme:wbemprox:client_security_Release 0x7c81f938 004e:fixme:dbghelp:elf_search_auxv can't find symbol in module ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libnss3.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. 0068:fixme:heap:GetPhysicallyInstalledSystemMemory stub: 0x33f278 0068:fixme:heap:GetPhysicallyInstalledSystemMemory stub: 0x33f278 0068:fixme:ntdll:NtQuerySystemInformationEx Relationship filtering not implemented: 0x3 0068:fixme:ntdll:NtQuerySystemInformationEx Relationship filtering not implemented: 0x3 0068:fixme:ver:GetCurrentPackageId (0x33f01c (nil)): stub 0068:fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform 0068:fixme:winhttp:WinHttpDetectAutoProxyConfigUrl discovery via DHCP not supported 0042:err:ntdll:RtlpWaitForCriticalSection section 0x196c5c "?" wait timed out in thread 0042, blocked by 003f, retrying (60 sec) ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libnss3.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. 0042:fixme:wininet:InternetSetOptionW Option 77 STUB 0070:err:wininet:open_http_connection create_netconn failed: 12029 006e:err:ole:CoCreateInstanceEx apartment not initialised 006e:err:ntdll:NtQueryInformationToken Unhandled Token Information class 24! ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libnss3.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. 006e:fixme:ver:GetCurrentPackageId (0x33fe14 (nil)): stub ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libnss3.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. 0042:fixme:wininet:InternetSetOptionW Option 77 STUB 0071:err:wininet:open_http_connection create_netconn failed: 12029 0042:fixme:wininet:InternetSetOptionW Option 77 STUB 0070:err:wininet:open_http_connection create_netconn failed: 12029 0042:fixme:wininet:InternetSetOptionW Option 77 STUB 0071:err:wininet:open_http_connection create_netconn failed: 12029 0042:fixme:wininet:InternetSetOptionW Option 77 STUB 0070:err:wininet:open_http_connection create_netconn failed: 12029 0073:fixme:wbemprox:wbem_locator_ConnectServer unsupported flags 0073:fixme:wbemprox:client_security_SetBlanket 0x7c7f4938, 0x181ad8, 10, 0, (null), 3, 3, (nil), 0x00000000 0073:fixme:wbemprox:client_security_Release 0x7c7f4938 0073:fixme:wbemprox:enum_class_object_Next timeout not supported 0073:err:ntdll:NtQueryInformationToken Unhandled Token Information class 24! 0073:fixme:thread:RtlCreateUserThread stack_reserve != 0 is unimplemented 0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0079:fixme:ver:GetCurrentPackageId (0x1c5fe9c (nil)): stub 0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0042:fixme:wininet:InternetSetOptionW Option 77 STUB 0071:err:wininet:open_http_connection create_netconn failed: 12029 0042:fixme:wininet:InternetSetOptionW Option 77 STUB 0070:err:wininet:open_http_connection create_netconn failed: 12029 0042:fixme:wininet:InternetSetOptionW Option 77 STUB 0071:err:wininet:open_http_connection create_netconn failed: 12029 0042:fixme:wininet:InternetSetOptionW Option 77 STUB 0070:err:wininet:open_http_connection create_netconn failed: 12029 0042:fixme:wininet:InternetSetOptionW Option 77 STUB 0071:err:wininet:open_http_connection create_netconn failed: 12029 0073:fixme:heap:GetPhysicallyInstalledSystemMemory stub: 0x33f9c0 0042:fixme:wininet:InternetSetOptionW Option 77 STUB 0070:err:wininet:open_http_connection create_netconn failed: 12029 0073:fixme:heap:GetPhysicallyInstalledSystemMemory stub: 0x33f7b8 0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0042:fixme:wininet:InternetSetOptionW Option 77 STUB 0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 0073:fixme:thread:RtlCreateUserThread stack_commit != 0 is unimplemented 007b:fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform 007b:fixme:winhttp:WinHttpDetectAutoProxyConfigUrl discovery via DHCP not supported 0073:fixme:ole:CoInitializeSecurity ((nil),-1,(nil),(nil),0,3,(nil),0,(nil)) - stub! 0073:fixme:wbemprox:client_security_SetBlanket 0x7c7f4938, 0x21e370, 10, 0, (null), 3, 3, (nil), 0x00000000 0073:fixme:wbemprox:client_security_Release 0x7c7f4938 0077:fixme:dbghelp:elf_search_auxv can't find symbol in module ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libnss3.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. 0091:fixme:heap:GetPhysicallyInstalledSystemMemory stub: 0x33f278 0091:fixme:heap:GetPhysicallyInstalledSystemMemory stub: 0x33f278 0091:fixme:ntdll:NtQuerySystemInformationEx Relationship filtering not implemented: 0x3 0091:fixme:ntdll:NtQuerySystemInformationEx Relationship filtering not implemented: 0x3 0091:fixme:ver:GetCurrentPackageId (0x33f01c (nil)): stub 0091:fixme:winhttp:get_system_proxy_autoconfig_url no support on this platform 0091:fixme:winhttp:WinHttpDetectAutoProxyConfigUrl discovery via DHCP not supported
-
tatsu over 5 yearsthis worked! any idea if i'll be able to play online? or LAN? is there a way to play in 1080p also? thanks again
-
Alexandre Sejournant over 5 yearsI updated the answer rather than writing a wall of text in the comments