World of Warcraft
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.
Some of this information was provided by http://www.wowwiki.com/Linux/Wine which is the best general source of information on WoW on Wine.
- 1 Installing Wine
- 2 Installing the Game
- 2.1 Downloading and installing via Blizzard's client
- 2.2 Copying the CDs to a folder
- 2.3 Copying an Existing Installation
- 2.4 New Installation from CD
- 2.5 New Installation from DVD
- 3 Installing Patches
- 4 Configuration
- 5 Performance Tweaks
- 6 Links
Installing the Game
There are five options for installing World of Warcraft.
Downloading and installing via Blizzard's client
The most straightforward way of installing World of Warcraft on Linux is usually this method, while it may not be the fastest. On slower connections, however, you may not wish to use this method due to the fact that you will have to download the entire game, including patches.
It is known to work with Wine 1.1.39 which can be downloaded off Wine's website and compiled. However, you may wish to try with the newest version from the extra section, installed via Pacman like so:
# pacman -S wine
Downloading the Client
First step is to download the client. European users can download it off the european World of Warcraft website here, while people from the United States would probably want to download the US client.
Installing the Game
Once the client is downloaded run the file with Wine:
Not able to agree to terms
In case you can not see the license text, you probably have to install gecko, since the license is rendered as HTML.
To install it (on 64 bit enable [multilib])
pacman -S wine_gecko
In some versions of Wine, you can not agree to the terms even though you scrolled down. Try to compile the latest Wine from source. Or use a version of Wine it is known to work with, i.e. 1.1.39, 1.7.10 (please add more here).
Wine crashes while reading terms
Wine crashes as soon as the terms which must be agreed to install the game opens. This is because the installer fetches the terms from a website somewhere, and therefore uses a browser implementation to show them. Wine's implementation of this is named [Gecko http://wiki.winehq.org/Gecko], and this must be installed in order for the installation to work!
Battle.net cannot connect
The new (V5) battle.net installer will not be able to connect without libldap. To install:
pacman -S lib32-libldap
Copying the CDs to a folder
This method's goal is to copy the 5 install CDs to a folder. This seems to solve problems with deciding whether a CD is mounted and needs changing or not ; I think this is a fundamental problem because Windows does not have the basic concept of mounting and unmounting drives.
mkdir /mnt/temp cd /mnt/temp
mount /mnt/cdrom cp -R /mnt/cdrom/* /mnt/temp umount /mnt/cdrom (repeat above for each of the 5 CDs)
Then run the World of Warcraft Installer with :
Copying an Existing Installation
The third 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.
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):
cp -R "/mnt/windows/Program Files/World of Warcraft" ".wine/drive_c/Program Files/World of Warcraft"
This will ensure that Wine knows about your WoW and will be able to configure it properly, and also ensures that WoW will not notice it has even been moved at all.
Now that you have WoW installed, skip down to #Post-Installation.
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:
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 will not have any "free time". :P
New Installation from DVD
NOTE: Note that on some WoW DVD's the installer executable is hidden and you need to mount the disc with the 'unhide' option. To do this type in a terminal:
mount -t iso9660 -o ro,unhide /dev/cdrom /media/cdrom/
Insert first the DVD. If it will be mounted automatically - just unmount.
# umount /media/dvd
Now mount manually
# mount -t iso9660 /dev/dvd0 /mnt/dvd
Now you will find the Install.exe on the DVD
~ wine /mnt/dvd/Installer.exe
Now we will need to update WoW. As of Noevember 30th 2010, the latest version of World of Warcraft is 220.127.116.1129. This will change over time, of course. The best place I have found to access the latest patches is http://www.wowwiki.com/Patch_mirrors
I think the simplest way of updating World of Warcraft is to download the patches (links are at the Patch Wiki) and copy them into the working directory for World of Warcraft. I have had problems with the Blizzard Downloaders either not working at all, or working very slowly. If you download them, you can reuse them if you reinstall or have an accident.
When you have downloaded the files into their own folder for neatness, copy these patches into the World of Warcraft working directory.
cp * ~/.wine/drive_c/Program\ Files/World\ of\ Warcraft/
The 1.12.x patch needs to be unzipped into the working directory
cd ~/.wine/drive_c/Program\ Files/World\ of\ Warcraft/ unzip wow-1.12.x-to-2.0.1-engb-patch-3.zip
The simplest way to install the patches seems to be to run World of Warcraft. It detects that you have downloaded the patches and does not do it again.
cd ~/.wine/drive_c/Program\ Files/World\ of\ Warcraft/ wine WoW.exe
You have to keep going round 5 times, it does get a bit dull, but it is fairly reliable. Accept the offer to Install the Gecko renderer when it comes up on your first patch install.
The original Wiki says you can install patches with Wine as follows:
This method is currently still working.
If the Launcher (it displays a little box with News and Play) seems to stop when downloading, close its window and re-run WoW.exe
UPDATED for 4.3
If the Launcher crashes when downloading patches start backgrounddownloader and deactivate peer to peer and restart the launcher. Now everything will download and install.
The World of Warcraft configuration file is kept in the WTF directory (do Blizzard have a sense of humour ?)
Edit it with
Add the following line which makes WoW run in OpenGL (hurrah !) instead of grotty old DirectX Mode (boo).
SET gxApi "opengl"
Resolution and Colour depth
You can change the following two lines to set the default WoW resolution. I have a 19" Monitor so I can use the following.
SET gxColorBits "24" SET gxResolution "1440x900"
You can run in a Window by setting this, which is confirmed to work in Wine.
SET gxWindow "1"
Black textures issue
If you're using an Intel graphics card and you can see black textures in the game (or the game crashes in OpenGL mode), you should enable S3TC texture compression support. It can be enabled throughor by installing .
Configuring the Buffer
If the sound makes a horrendous racket with squeaks and white noise try :
SET SoundOutputSystem "1" SET SoundBufferSize "100"
Stuttering or Static Sound
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`
1. Here is a performance tweak that can boost your FPS significantly (everything without quotes):
- Open Wine's version of the registry editor by running "regedit" - Navigate to 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 character by let us say 90 degree takes n seconds normally, but n+m seconds in pupolated areas (in other words: that the polygon count of your surroundings affects the camera turning speed), apply something to "GL_ARB_vertex_buffer_object", like let us say a "2", so it looks like this: "GL_ARB_vertex_buffer_object2". You will still have the performance boost of the above tweak, but with a smoother feeling.
You can also find this comment on WineHQ very useful. It can double your FPS.
For NVIDIA users
As of version 310.14 of the nvidia driver, an option exists for threaded OpenGL performance optimization. WoW benefits greatly from utilizing this.
(Sidenote: this makes the 'RGL' patch/library/hack redundant for nVidia users)
Exporting __GL_THREADED_OPTIMIZATIONS=1 enables the optimizations. Example of launching WoW with these optimizations:
__GL_THREADED_OPTIMIZATIONS=1 wine Wow.exe -opengl
Once you've confirmed the game works well for you (applies to any game, not just WoW) you can turn off debugging output to potentially improve performance further:
WINEDEBUG=-all __GL_THREADED_OPTIMIZATIONS=1 wine Wow.exe -opengl $> /dev/null
NVIDIA users and Direct3D mode
If running the game in Direct3D mode, in conjunction with the above optimization, compiling Wine with the "Use glBufferSubDataARB for dynamic buffer uploads" patch should yield a further performance increase. This patch does not appear to increase performance in OpenGL mode, though OpenGL mode generally results in higher framerates anyway... albeit at the cost of the game's more advanced Direct3D eye candy.
NOTE: You MUST turn off Wine's debugging to benefit from this
WINEDEBUG=-all __GL_THREADED_OPTIMIZATIONS=1 wine Wow.exe
On 64 bit systesm, if you're using bumblebee and using optirun to run game with Nvidia Graphic card on your system, you will encounter this error:
X Error of failed request: GLXUnsupportedPrivateRequest
In most cases installing bbswill solve this problem.
AMD CPU users=
As WoW significant benefits from L3-Cache you should check if your Processor/Bios has a L3-allocation Option available, BSP-Only allocation is what worked for me pretty well. By switching from all-cores allocation to BSP-only the FPS on my system did jump from ~70 outdoors to over 120+. This was done on a II X4 640 with Nvidia Graphics Card(proprietary driver) using -opengl and the thread optimization.
You can greatly increase World of Warcraft performance by choosing the right schedulers for your machine. Currently, the most-recent version of wine in the official repositories is not configured to fully take advantage of the linux-ck kernel. Instead, it is recommended that wine gamers use the CFS scheduler. Also, World of Warcraft runs better with the deadline I/O scheduler (as opposed to noop, cfq, bfq, etc). You can check if you will benefit from switching I/O schedulers first by determining which I/O scheduler you are using on your drive:
# fdisk -l *to determine the hard drive arch is installed on* # cat /sys/block/sdX/queue/scheduler *Where X is the letter of the drive fdisk reports* # echo deadline > /sys/block/sdX/queue/scheduler
This is a temporary fix (it does not set deadline permanently), but you may gain an additional 5-30fps, by enabling deadline as the I/O scheduler. Moreover, feel free to play around with other schedulers to pick the one which runs best on your machine, especially if you have an SSD