Installing WoW under Wine

From Finninday
Revision as of 17:45, 9 December 2012 by Julie (Talk | contribs)

Jump to: navigation, search

Running Wow 4.3.4 on stock wine 1.4 in Ubuntu worked just fine without extra work.

Wow 4.3.4 on Fedora 17 wine 1.5 didn't work with my normal method, so I tried getting it to work in virtual box or Xen. But that didn't pan out for me.

Access violation after launching wow-64.exe

sounds a lot like this bug: http://bugs.winehq.org/show_bug.cgi?id=29584 which was marked fixed in wine 1.4-rc3. Sigh.

  • wow 5.0.4
  • wine 1.5.11
  • fedora 17
  • run launcher (wine ./World\ of\ Warcraft\ Launcher.exe)
  • log in successfully
  • pick a character
  • character loading screen appears
  • character appears, environment sounds play
  • screen is frozen for 5 seconds
  • Error #132 (0x85100084) Fatal exception!
    
Program: Z:\home\blah\.local\share\wineprefixes\wowtrial\drive_c\Program Files (x86)\World of Warcraft\Wow-64.exe Exception: ACCESS_VIOLATION the memory could not be read
  • window opens for wow error to send the crash dump to blizzard
  • window opens for general error message
  • click ok, everything closes

Obscuring polygons and rays

  • wow 5.0.4yum install wine-1.5.17-1.fc17.i686
  • wine 1.5.11
  • fedora 17
  • run launcher, it says game is up to date, click play or start with Wow-64.exe
  • when walking on dirt in ogrimmar, there are lots of obscuring polygons and rays that shift with your point of view
  • walking on rock or grass, there are no weird polygons
  • PC characters are solid black, NPCs render properly

I tried making the suggested video settings:

If you find see a lot of black dots and lines all over the screen, go to Options -> Graphics and set:

Liquid Detail: Fair (or lower)
Sunshafts: Disabled
SSAO_Label: Disabled

Alternatively, you can do regedit and add the following key:
HKEY_CURRENT_USER\Software\Wine\Direct3D\AlwaysOffscreen set to "enabled"

Ref:
http://wiki.winehq.org/UsefulRegistryKeys
http://bugs.winehq.org/show_bug.cgi?id=30403

But those changes did not correct the display glitches or make any visible difference.

After starting with Wow-64.exe and then trying to go back to using Wow.exe or World\ of\ Warcraft\ Launcher.exe, I now get a crash 5 seconds after picking a character.

wine ./Wow-64.exe -opengl

When I start the game with this switch, I am able to log in, and the initial display of my character standing in Ogrimmar displays, but does not update. I hear environment sounds but after about 5 seconds of a static display, wow crashes with a memory access violation.

Starting a different character gets to a similar spot. The character logs in but can't move and then a crash.

Failed to run agent

  • on Ubuntu 12.04
  • Wow 4.3.4.15595
  • wine 1.4
  • run wow, and the launcher tries to upgrade
  • upgrader displays "Downloading updated tools..."
  • then a separate error window displays:
Failed to run a required program (Agent). Wait one minute and try again and if that doesn't work please restart your computer and try again.
Please click the link for more information or contact Customer Support if the problem persists.
Error code: BLZPTS00007

There is a patch to wine to fix this but I was unable to find it

Manually run agent. But which one? Agent is here:

rday@merkli:~/.local/share/wineprefixes/wowtrial/drive_c/users/Public/Application Data/Battle.net/Agent$ ls
Agent.1040        Agent.dat  Agent.exe.trash          Logs
Agent.1040.trash  agent.db   ErrorReporter.exe
Agent.1267        Agent.exe  ErrorReporter.exe.trash

Make sure no other agents are running, then launch the highest level agent manually, and then re-run the installer.

Another untried fix for the agent problem

Agent.exe by Robert Rak on Wednesday October 3rd 2012, 2:54

For anyone having issues with Agent.exe, I just ran winecfg, tabbed over to Libraries and deleted the dnsapi dll and now I have no issue with updating.

Stuck when running installer

  • The installer progress window says "Updating setup files" and the progress bar never moves past about 60%.
  • The installer throws this error to stdout: "Caught json::ParseException: Unexpected End of token stream, Line/offset: 1/1"
  • The agent throws this error in stdout: "Request issued to non-existent Uri: GET - /update/client Response: 404

Stuck when downloading updated tools

  • on Ubuntu 12.04
  • Wow 4.3.4.15595
  • wine 1.4
  • run wow, and the launcher tries to upgrade
  • upgrader displays "Downloading updated tools..."
  • progress bar stops at about 40%
  • you can click start, but then it starts downloading again and freezes at the same point

I was able to get past this by removing all the lock files in World of Warcraft/Data and making sure any running downloaders were killed.

References

General install procedure

After making sure the hardware requirements are satisfied, the recipe looks like this:

  • winetricks
    • install game
    • wowtrial

If the desktop icon is broken, start the game with:

./local/share/wineprefixes/wowtrial/drive_c/Program Files/World of Warcraft/Wow.exe

The installer starts, but hangs when displaying "Downloading updated tools"

Check to see if the patch in Temp is completely downloaded:

rday@potato:~/.local/share/wineprefixes/wowtrial/drive_c/Program Files/World of Warcraft/Temp$ ls -l
total 23112
-rwxrwxr-x 1 rday rday  6399096 May 23 18:04 wow-4.2.1.2736-enUS-tools-downloader.exe
-rw-rw-r-- 1 rday rday 12866240 May 23 18:11 wow-4.2.1.2736-enUS-tools-patch.exe.part
-rw-rw-r-- 1 rday rday  4392070 May 23 18:34 wow-patch.mpq

That patch has a .part extension, so it is not ready to run yet. But 12MB is about the right size.

rday@potato:~/.local/share/wineprefixes/wowtrial/drive_c/Program Files/World of Warcraft/Temp$ ls -l
total 23100
-rwxrwxr-x 1 rday rday  6399096 May 23 18:41 wow-4.2.1.2736-enUS-tools-downloader.exe
-rwxrwxr-x 1 rday rday 12853680 May 23 18:46 wow-4.2.1.2736-enUS-tools-patch.exe
-rw-rw-r-- 1 rday rday  4392070 May 23 18:41 wow-patch.mpq

Those files are ready to go. Cancel the installer and go to the WorldofWarcraft Temp directory Manually run the wow-4.2.1.2736-enUS-tools-patch.exe

rday@potato:~/.local/share/wineprefixes/wowtrial/drive_c/Program Files/World of Warcraft/Temp$ wine ./wow-4.2.1.2736-enUS-tools-patch.exe 

Wait for the Installer/Updater to download the rest of the game.

better install procedure

I finally cheated after trying and failing to get Pandaria (latest Wow version) to install through Wine.

  • Install on Windows
  • Copy World of Warcraft directory from Windows to Linux (about 20G)
  • wine ./Wow.exe

Launch wow on 64-bit wine

Have to install 32-bit versions mesa-dri-drivers

yum install mesa-dri-drivers.i686
  • wow 5.1.0 (16309) (Release x64)
  • wine 1.5.17-1.fc17.x86_64
  • fedora 17
  • run wow: wine ./Wow-64.exe -opengl
  • crash with memory access violation
  • this message is in the crash:
fixme:winediag:AUDDRV_GetAudioEndpoint Winepulse is not officially supported by the wine project
fixme:winediag:AUDDRV_GetAudioEndpoint For sound related feedback and support, please visit http://ubuntuforums.org/showthread.php?t=1960599
fixme:avrt:AvSetMmThreadCharacteristicsW (L"Pro Audio",0x187f738): stub

The web page recommends this to temporarily disable winepulse to see if the problem goes away:

[ryan.day@etli wow]$ WINENOPULSE=1 wine ./Wow.exe -opengl
  • removed 64-bit wine and installed 32-bit wine
yum remove wine-core
yum install wine-1.5.17-1.fc17.i686
  • started without winepulse:
WINENOPULSE=1 wine ./Wow.exe -opengl

Still get page fault:

[ryan.day@etli wow]$ WINENOPULSE=1 wine ./Wow.exe -opengl
p11-kit: couldn't load module: /usr/lib/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/pkcs11/gnome-keyring-pkcs11.so: cannot open shared object file: No such file or directory
fixme:heap:HeapSetInformation (nil) 1 (nil) 0
fixme:win:EnumDisplayDevicesW ((null),0,0x187ed30,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x187ec84,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x187f154,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x187f024,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x187ef78,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x187f00c,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x187ef60,0x00000000), stub!
fixme:winediag:AUDDRV_GetPriority winepulse has been temporarily disabled through the environment
fixme:avrt:AvSetMmThreadCharacteristicsW (L"Pro Audio",0x187f738): stub
wine: Unhandled page fault on execute access to 0x00000000 at address (nil) (thread 0009), starting debugger...
^CCtrl-C: stopping debuggee
fixme:console:CONSOLE_DefaultHandler Terminating process 49 on event 0
Segmentation fault (core dumped)

This invocation seems to almost work without crashing:

 __GL_THREADED_OPTIMIZATIONS=1 WINEDEBUG=-all wine Wow-64.exe

Tried using winetricks to install these:

Install winetricks 
1. Install via winetricks: 
 vcrun2005
 vcrun2008
 vcrun2010
 vcrun6
2. Wineboot -u
3. Install via Winetricks: 
 dotnet20 (failed for 64bit)
 dotnet40 (failed for 64bit)
 flash11 (failed for 64bit)
 ie7 (failed)
4. Wineserver -k
5. Wineboot
7. Wineserver -k
8. Wineboot
9. Install via Winetricks 
 d3dx9_36 
 d3dx9_39 
 directplay
10. Wineboot -u
11. Install via winetricks: corefonts fontfix liberation (skipped)
12. Wineboot
13. Winecfg verify windows version is winxp
14. Play wow. 

This worked without crashes for about an hour!