World of Warcraft (WoW) is a Massively Multiplayer Online Role-Playing Game (MMORPG) by Blizzard Entertainment taking place in the fictional world of Azeroth, the world that previous Blizzard titles in the Realtime Stategy (RTS) Warcraft series. For more information about the game itself, visit the Official World of Warcraft website.

This article will describe how install and run in on Arch Linux using Wine.

Introduction

As Blizzard so kindly created World of Warcraft with OpenGL support, we don't need Transgaming's Cedega, which is a non-free version of Wine with better DirectX support. Wine has as good, or better, OpenGL support than Cedega, and doesn't cost you a penny.

Running WoW is slightly more difficult than some other games with Wine, but still relatively easy. It's quite possible that you will need to patch Wine to work with WoW, however, even this process is rather simple with Arch. The following guide will explain it all, step by step.

Installation

There are two options for installing World of Warcraft. One is to simply copy an exisiting WoW installation from a Windows drive to Linux.

NOTE: If you do not alreay have Wine installed, or have not run World of Warcraft with Wine before, you should skip down to #Installing Wine, then come back to this section. Please DO NOT SKIP this section unless you are absolutely sure you know what you are doing.

Copying an Existing Installation

Copy the C:\Program Files\World of Warcraft directory from Windows to ~/.wine/drive_c/Program Files/World of Warcraft.

Example (assuming your windows partition is mounted at /mnt/windows and you are in your home directory) (Quotes are needed because of the spaces in the file names):

New Installation from CD

NOTE: We will assume that your Wine CD-ROM drive is "D:\" for this guide. Please use the correct letter as set up in the #Installing Wine section.

Insert the first CD, mount it, and start the installation with:

wine "D:\Installer.exe"

When it asks for the next cd, simply unmount your CD drive and mount the next CD. Make absolutely sure that you mount the CD before telling the installer to load the CD, or it may make the installation fail. If you have any issues installing using the CDs, please read the next section.

The WoW installation uses all 5 CDs, so it will take a while. Go outside and get some fresh air while the CD loads, because soon you won't have any "free time". :P

CD Installation Issues

Some users have reported that World of Warcraft will only start the installation from the first CD, then will crash when attempting to change disks. An easy work around is to copy all of the data from each CD to a temporary directory, then install WoW from the directory. This will take a while, but the installation will run faster off your hard drive, and you are much less likely to get errors. The process would be something like this (our temp dir will be called /mnt/temp):

Post-Installation

Now we will need to update WoW. As of today (2006-04-18), the latest version of WoW is 1.10.1. You can always find the latest patches at World of Warcraft Patch Notes.

The easiest way to update WoW is will a full patch, then let the WoW Updater take care of the minor updates. The latest patch can be found at the above Patch Notes link, or various places online. Note that you MUST get the proper patch for your language. If you are installing a enUS version of the game, you must get enUS patches. If you have a jp version of the game, you need jp patches. Always double check to make sure you are getting the proper language version of patches.

If you have set up Wine properly, there should be no issues at all with the patching process, however, it's can be extremely CPU intensive and may make your desktop fairly unresponsive. So, once again, go outside and get some fresh air for 10 minutes.

Running World of Warcraft

After patching and installing the wine package (see further down on this page) and fixed the sound, run the following command to play WoW:

wine "C:\\Program Files\\World of Warcraft\\WoW.exe" -opengl

Run WoW in a Window

Some people perfer to play WoW in windowed, rather than fullscreen mode. To enable this, edit your ~/.wine/drive_c/Program Files/World of Warcraft/WTF/Config.wtf and add these lines:

SET gxColorBits "24"
SET gxResolution "1024x768"
SET gxWindow "1"

The gxColorBits bit is important. Make sure that it matches your desktop bit depth, or you may get strange rendering errors while running the game.

gxResolution can be any standard resolution. This will be the size of the window when you run the game.

If for some reason the game still runs in fullscreen after this, run winecfg and click on "Graphics" and enable the "Emulate a virtual desktop" option and change the "Desktop size" to match gxResolution.

Sound Issues

If have no sound, edit ~/.wine/drive_c/Program Files/World of Warcraft/WTF/Config.wtf and add or change:

SET SoundOutputSystem "1"
SET SoundBufferSize "100"

NOTE: You can set the SoundBufferSize to anywhere between 75 and 200. For most users, 100-150 will be best.

Stuttering or Static Sound

Run winecfg, and in the "Audio" tab, selected "OSS" as the sound driver, using "Standard" hardware acceleration and driver emulation enabled.

You can also set WoW to run at a higher "nice level", which will usually improve sound performance (renice must be run as root):

sudo renice -15 `pidof WoW.exe`

Installing Wine

There are several ways to go about installing Wine with Arch Linux, but the standard version of Wine that comes with Arch will not work properly. There are two other ways to get a version that will work:

wine-cvs-wow from the AUR

wine custom package

Wine-cvs-wow From the AUR

wine-cvs-wow from the AUR is a version of Wine from CVS compiled with the WoW fixes. It uses the patches posted in Wine's appdb, and it is the easiest way to install a version of Wine that will run WoW. To compile and install this version of wine, run the following commands:

Now execute the following commands to build and install your custom wine:

cd /var/abs/local/wine
makepkg -w `pwd`
pacman -U wine-*.pkg.tar.gz

You now have a working version of Wine!

Configuring Wine

There are a couple of extra things we need to do before wine is completely set up.

First, run the following command to set up your ~/.wine, which is the directory that the "fake windows" will exist in.

wine

Now, we need to configure Wine a little:

winecfg

Check all the options and set things as necessary. You will need to create a CD-ROM drive for Wine by clicking on "Drives", then clicking "Add". Call this drive "D:\" and have it point to your mount point for your CD drive. You can also click the "Autodetect" button to have Wine set up drives for each of your partitions in /etc/fstab.

Next we need to "install" two DLL files for World of Warcraft to run. Download msvcp60.dll and mfc43.dll to ~/.wine/drive_c/Windows/System32.

The Blizzard update program also requires Windows ActiveX controls. You can get this with the Mozilla ActiveX Controls. To install these, download the MozillaControl1712.exe program somewhere, then install it:

wine MozillaControl1712.exe

You may also want to install the Mozilla Browser as well, but it's not necessary for WoW to work.

Congratulations! You now have a Wine system that should be able to run and install World of Warcraft without any issues at all.

Performance Tweaks

1. Here is a performance tweak that can boost your FPS significantly (everything without quotes):

- Open the registry editor by starting "regedit"
- Goto HKEY_CURRENT_USER\Software\Wine\
- Select the "Wine" folder, right-click onto the folder symbol and select New-> Key and rename it to "OpenGL"
- Select the OpenGL-Key, then right-click into the right-hand pane, chose New-> String Value and hit enter
- Rename "New Value #1" to "DisabledExtensions"
- Double-Click on the renamed Key and enter "GL_ARB_vertex_buffer_object" into the "value" field

That was it, close the registry editor again, your changes will be saved automatically.

2. If you are finding it annoying that turning your charakter by let's say 90 degree takes n seconds normally, but n+m seconds in pupolated areas (in other words: that the polygon count of your surroundings affect the camera turning speed), apply something to "GL_ARB_vertex_buffer_object", like let's say a "2", so it looks like this: GL_ARB_vertex_buffer_object2"