Installing WoW under Wine

From Finninday
Jump to: navigation, search


Misc symptoms

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

Freeze on character selection screen

  • Wow version 5.4.2.17688 x64 Dec 12 2013
  • wine version 1.7.12
  • ubuntu 13.10 saucy
  • worked fine on previous versions of wow and wine, but broke after a wine upgrade (it turns out this may have been a coincidence as other wine versions fail in the same way)
  • 5 seconds after character selection screen, wow freezes and and a crash dump is generated
  • wow-64.exe access violation, memory could not be read
  • a full reinstall of wow did not solve the issue

This issue was resolved by renaming Wow-64.exe to Wow-64.exe.notused and launching just Wow.exe. There is speculation ( http://appdb.winehq.org/objectManager.php?sClass=version&iId=28973&iTestingId=82373) that the problem is caused by Warden which searches for cheaters in memory locations that cause wow to crash under wine, and that 32-bit wow doesn't invoke that code. Also on that link, it points out that there was an update, from 17665 to 17668 on Feb 10th, 2014. The date at least corresponds to my experience, but I was broken at client version 17688, not 17668.

Wowpedia (http://wowpedia.org/Patch_5.4.2) says that client update 17688 was on Dec 18, 2014.

Version 5.4.8 crash on character selection screen

  • invocation:
cd /home/rday/.local/share/wineprefixes/wowtrial/drive_c/Program\ Files\ \(x86\)/World\ of\ Warcraft
wine ./Wow.exe
  • launcher starts version 5.4.8 (18291) (Release x64) May 19, 2014
  • crash about 4 seconds after character selection screen is displayed
  • Exception ACCESS VIOLATION
  • memory could not be read
  • the upgrade placed another copy of Wow-64.exe
  • rename it to Wow-64.exe.bad3
  • launch again and accept EULA
  • success

After upgrade to 5.4.8 (18414) can't get past launcher

I have wine 1.6.2 installed on Ubuntu 14.04 Trusty Tahr. Now at patch 5.4.8 I can no longer play. I've always had trouble with the installer, but have been able to get around and play in the past. Now this version makes it harder to get around the Launcher.

I've tried running the installer in wine to see if the installer and launcher now work, but that fails as before.

I've tried running the 32-bit version of Wow.exe and that hangs indefinitely.

I've tried running the 64-bit Wow-64.exe and that also hangs.

I have a couple of desktop shortcuts configured:

  • Battle.net/Battle.net Launcher.exe

This starts the launcher and I can log in to Battle.net, then it opens the wow launcher and crashes about a second later. A log entry appears in Battle.net/Logs/Switcher.log, but no error appears.

The next step is to copy a working windows installation and see if I can get that to start.

  • Copying a working installation from Windows yields a working game.
  • however, I had to run in windowed mode instead of full screen
  • I also had to run the 32-bit client (moving the 64-bit wow-64.exe out of the way)
  • launching like this:
 __GL_THREADED_OPTIMIZATIONS=1 WINEDEBUG=-all wine Wow.exe -opengl
  • I get about 80 fps in window mode
  • switching to windowed fullscreen makes the game screen disappear behind my desktop and I can't bring it up to a visible layer
  • the battle.net client allows me to log in, then crashes
  • the launcher crashes
  • the 64-bt client crashes

After upgrade to 6.0.2 (19034) 64-bit wow works but launcher doesn't

  • I patched with a windows client and then copied the wow directory to linux
  • the updater crashes
  • battle.net client crashes
  • launching the 64-bit client works with this invocation:
wine ./Wow-64.exe
  • but only in windowed mode.
  • wow came up in full screen mode at first and I had to edit wtf.config to include this line:
SET gxWindow "1"^M
  • frame rate in windowed mode is about 40-60 fps
  • with opengl enabled the frame rate seems the same

General install procedure

install procedure for ubuntu

http://geebzor.com/tech/linux/wow-ubuntu-linux-wine/

my 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.

install to windows and copy to linux 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 -opengl
  • gets about 18 fps

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!

Copied in the latest update from Windows WoW

  • WoW Version 5.1.0 (16357)
  • wine 1.5.17-1.fc17.x86_64
  • fedora 17
wine ./Wow.exe
  • crash after about 40 min
wine ./Wow-64.exe
  • no crash for an hour
  • about 15 fps
  • crash during certain cinematic transitions in quests (switch to watching movie)
wine ./Wow.exe -opengl
wine ./Wow-64.exe -opengl
__GL_THREADED_OPTIMIZATIONS=1 WINEDEBUG=-all wine Wow-64.exe -opengl
  • crash during cinematic transitions but gave about 17 fps
__GL_THREADED_OPTIMIZATIONS=1 WINEDEBUG=-all wine Wow-64.exe
  • crash after selecting character and initial world display
WINEDEBUG=-all wine Wow-64.exe
  • crash during cinematic transitions


Launch wow on 32-bit wine

  • Ubuntu 12.10 quantal
  • wine 1.4.1
  • WoW Version 5.1.0 (16357)
  • no winetricks
  • Copy updated directory from a windows machine.
wine ./Wow.exe
  • crashes after selecting character
wine ./Wow.exe -opengl 
  • (gets about 16 fps)
__GL_THREADED_OPTIMIZATIONS=1 WINEDEBUG=-all wine Wow.exe 
  • (gets about 27 fps)

As of Wow 5.2.0 (16826) the following invocations work:

  • __GL_THREADED_OPTIMIZATIONS=1 WINEDEBUG=-all wine Wow.exe (about 2 fps)
  • __GL_THREADED_OPTIMIZATIONS=1 WINEDEBUG=-all wine Wow.exe -opengl (23 fps)
  • wine ./Wow.exe (about 12 fps)
  • wine ./Wow.exe -opengl (about 28 fps)

Can't get wow to run on fedora 64-bit

Crashes with illegal memory access after character selection and first world render

  • remove all wine packages except for fonts
  • yum install wine-1.5.17-1.fc17.i686
  • remove ~/.wine
  • copy wow directory from a windows install
  • wine ./Wow.exe
wine: Unhandled page fault on execute access to 0x00000000 at address (nil) (thread 0009), starting debugger...
  • wine ./Wow.exe -opengl
wine: Unhandled page fault on execute access to 0x00000000 at address (nil) (thread 0009), starting debugger...
  • WINEDEBUG=-all wine Wow.exe
wine: Unhandled page fault on execute access to 0x00000000 at address (nil) (thread 0009), starting debugger...

How did this ever work before? And what did I do to suddenly break it?

Install wine 1.4.1 on fedora 17

  • remove wine packages (including fonts)
  • install epel6 repo (even though it conflicts with fedora release repo)

This page (https://fedoraproject.org/wiki/Wine?rd=AndreasBierfert/Wine) tells me that I can get wine 1.4.1 from epel6 repo

  • yum install wine-1.4.1

It gets the packages from epel and installs both i686 and x86_64 binaries.

  • remove ~/.wine
  • run wow
  • allow wine gecko to install
  • wine ./Wow.exe
Unhandled exception: page fault on execute access to 0x00000000 in 32-bit code (0x00000000).
  • wine ./Wow-64.exe
same crash
  • install winetricks pieces
    • vcrun2005sp1
    • vcrun2008
    • vcrun2010
    • vcrun6
  • wine ./Wow.exe
wine: Unhandled page fault on execute access to 0x00000000 at address (nil) (thread 0009), starting debugger...

Upgraded back to wine 1.5 and installed samba-winbind

  • upgraded wine to 1.5.18
  • found this error in the log
err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
  • installed samba-winbind to try to fix

I'm not sure that samba-winbind had any effect. I was able to play for a few hours then crashed and was unable to get past character selection. The problem might be caused by the fact that I had transported to Dalaran (a busy city) and once there, I crashed reliably. I used a different machine to move my character out of Dalaran, and then went back to Fedora Wine and was able to play without crashing.

Launch options

-opengl use opengl
-d3d9 use direct x

Launch environment variables

 __GL_THREADED_OPTIMIZATIONS=1 WINEDEBUG=-all

working config with wine 1.7.32 and Wow-64.exe version 6.0.3 (19342) (Release x64)

I haven't gotten the patcher (battle.net) to work at this version.

But if I install each patch via windows and then copy the World of Warcraft directory into linux, I can then run with wine:

wine ./Wow-64.exe -opengl

And it works reliably. I just have to run in windowed mode instead of full screen since my window manager sometimes cannot select Wow when it is in full screen mode and it always runs invisibly in the background. Set windowed mode like this:

sed -i 's/gxWindow "0"/gxWindow "1"/' "$here/World of Warcraft/WTF/Config.wtf"