This how-to is for installing and playing World of Warcraft (WoW) using Wine under Ubuntu.
Wine is a free open source implementation of the proprietary Win32 API, and attempts to enable Windows applications and games to run on Unix-like operating systems.
World of Warcraft can also be played under Ubuntu by using the Wine based CrossOver Games, Cedega and PlayOnLinux. This how-to, however, does not address these.
Before you get started
In Linux, Direct Rendering Infrastructure (DRI) facilitates faster graphics rendering, so before you begin the installation you should check whether DRI is enabled. To do this, open a terminal and run the following command:
glxinfo | grep rendering
You should see an output similar to this:
direct rendering: Yes
If this line says No, it means that graphics data will not be passed directly to the graphics hardware, thus significantly reducing speed at which WoW will run. This is usually caused by issues with the graphics card driver, visit binary drivers for more information.
Note: Even if you do have DRI, it still might not be enough to run WoW successfully. Always consult the recommended hardware requirements on the back of the game or in the manual.
Installing Wine
You can easily install Wine through the repositories. Ubuntu will automatically configure and install it for you, just launch the Ubuntu Software Center and search for Wine.
For full instructions on installing Wine, see the Wine documentation.
Before proceeding to install World of Warcraft you must run winecfg at least once. It must setup the ~/.wine directory structure before you can install Windows applications into it. This is a very important step, open a terminal and type the following command:
winecfg
Most average users do not need to do any major changes in winecfg. If you need to configure Wine, please see the Wine documentation for details. As winecfg closes, it will create a the ~/.wine directory structure in your home folder. This folder will be populated with information about drives, devices and software installed through Wine.
Note: If you fail to finish these steps before trying to install World of Warcraft then you'll probably see errors like the following when running winecfg in the future: err:winecfg:apply_drive_changes unable to define devicename of 'C:'
Installing World of Warcraft
If you have the installation discs, this guide recommends that you copy the contents of your discs to your hard disk and install WoW from there. If you don't have the installation discs, please refer to the alternate installations methods.
Create a convenient directory (wow_install on your Desktop for example).
- Copy all of the files from the first WoW CD to this new directory.
- For each of the remaining WoW CD's, just copy the 'Installer Tome #.mpq' files.
- In the end, you should have copied the following files and folders:
DirectX directory, autorun.inf, installer.ico, Installer Tome.mpq and Installer.exe files from disc 1.
Installer Tome 2.mpq, Installer Tome 3.mpq, Installer Tome 4.mpq and Installer Tome 5.mpq from the remaining discs.
- Start the installation by opening a terminal and running these commands:
cd /<path-to-directory>/ wine Installer.exe
Replace <path-to-directory/> with the right path to the directory where you copied all the files above.
- To install expansions such as The Burning Crusade, The Wrath of the Lich King and Cataclysm, repeat the instructions above. Keep in mind to make new folders for each expansion, so that you don't mix up their installation files.
Note: If you've not already done so, you may also want to install Microsoft's proprietary fonts to solve text related glitches during the installation.
Alternate Installation Methods
If the above isn't possible for some reason (you might be missing discs or a working media drive), here are some alternate ways to install the game.
Installing in Windows
Just install WoW in Windows and run WoW under Wine from your Windows Partition. Or copy the entire World of Warcraft folder over from your Windows installation to play from your Ubuntu partition.
Download the entire game
Blizzard also offers it's customers to download and install the entire game through the Blizzard Downloader. This may take some time, even when using a fast connection. The game will be fully or close to fully patched upon finishing. The installer can be downloaded on the respective websites:
US version: https://us.battle.net/account/download/
EU version: https://eu.battle.net/account/download/ (all languages)
Run the installer with the following command in the terminal (Burning Crusade US version example):
wine WoW-BurningCrusade-enUS-Installer-downloader.exe
In order to use the Blizzard Downloader effectively, please see router and firewall configuration.
Configuration
Router & Firewall
If you have a router or firewall you might have problems running World of Warcraft or services such as the Blizzard Downloader. The following ports need to be forwarded for World of Warcraft to work correctly:
- World of Warcraft requires that TCP Ports 1119 and 3724 are forwarded.
- The Blizzard Downloader requires that TCP ports 6881-6999 to be forwarded.
- The World of Warcraft Voice Chat feature uses UDP Port 3724.
- The Battle.net service features uses TCP port 1120.
For detailed information on how to forward ports on your router/firewall see http://www.portforward.com/ or contact your manufacturers customer service. Keep in mind that forwarding ports may reduce your network security.
Note: Most routers have their brand and model number on a sticker underneath the device.
Enabling OpenGL
The Windows version of World of Warcraft supports 3D rendering using either Direct3D or OpenGL. However, in Wine the Direct3D mode is supported only through an emulation layer that runs on top of OpenGL. Therefor it's highly recommended that you enable the OpenGL mode directly, instead of using it indirectly through Direct3D.
Find the file wtf/Config.wtf in your main WoW directory. By default it is found in /home/<username>/.wine/drive_c/Program\ Files/World\ of\ Warcraft/, where <username> is you computer login name.
Open config.wtf using a text editor and add or change the following line:
SET gxApi "opengl"
Note: If config.wtf does not exist, run the game and log into a character, then exit WoW. The game should then have created the file.
Note: As of early april 2014, the 64-bit WoW client crashes after a short time. Running a 32-bit client in a 32-bit wine environment is the currently working solution. However, only D3D9 graphics mode is possible, since the OpenGL mode does not connect. The technical reasons for this are discussed elsewhere.
Update: 5.4.8 Hotfixes (end of may 2014) have apparently resolved two important problems; both the 64-bit operation and OpenGL work fine now. Most people will want to update their Linux configuration for the game, due to much smoother experience.
Playing
Starting the game
You can start the game by double-clicking the icon you find on your Desktop titled World of Warcraft, this will start the launcher. If you have never used something requiring HTML rendering with Wine you will be prompted to download and install the Gecko rendering engine. Doing this will enable the WoW Launcher to display news.
You can also start the game from the terminal:
wine "C:\Program Files\World of Warcraft\Launcher.exe"
Or, dive right into the game with:
wine "C:\Program Files\World of Warcraft\WoW.exe"
Note: The terminal commands above might not reflect your World of Warcraft installation path and may need to be modified.
Gnome menu icon
You can make a Gnome menu entry for WoW by entering the following commands in a terminal:
wget http://kde-files.org/CONTENT/content-files/41569-wow-icon-scalable.svg -O WoW.svg sudo mv WoW.svg /usr/share/pixmaps/ gksudo gedit /usr/share/applications/wow.desktop
Add this to the text editor window, which should have appeared after the third command, change <username> in the Exec= line to your computer login username, and save:
[Desktop Entry] Encoding=UTF-8 Name=World of Warcraft Exec=wine /home/<username>/.wine/drive_c/Program\ Files/World\ of\ Warcraft/WoW.exe Icon=/usr/share/pixmaps/WoW.svg Terminal=false Type=Application Categories=Application;Game; StartupNotify=false
Note: Remember that you should also edit the Exec= line to reflect your WoW installation path, if you've installed to a special location.
Voice communication
Guilds in World of Warcraft often use voice communication software to communicate with other guild members while playing, the most common software are:
- Mumble
- Ventrilo
TeamSpeak and Mumble have native Linux clients and work perfectly under Ubuntu, they can be installed through the Ubuntu Software Center. Ventrilo on the other hand does not have a client for Linux and needs to run through Wine, just like WoW. However there's an open source VOIP client capable of connecting to Ventrilo 3.x servers called Mangler.
Troubleshooting
Install
On some WoW DVD's the installer executable is hidden and you need to re-mount the disc with the 'unhide' option. To do this, open a terminal and type:
sudo umount /dev/cdrom sudo mount -t iso9660 -o ro,unhide /dev/cdrom /media/cdrom0/
Note: The Installer.exe file on the first disc is different from the files of the same name on the subsequent discs; if you get the wrong one the install will fail with: Unrecognized key "options". (AttributeParser::Parse)
It's possible for the installation launcher to become "stuck" when using the stable Ubuntu package for Wine on 13.10 (Saucy). In such cases, try updating to a newer version of Wine.
Audio
If you experience stuttering you could try this:
In config.wtf set:
SET Sound_SoundOutputSystem "1" SET Sound_SoundBufferSize "150"
The optimum value for Sound_SoundBufferSize varies depending on you setup. It may be anything from 50 to 300.
If you are not hearing any audio at all from WoW, you may want to try to switch Wine to use an older audio sub system named OSS. To do this, just type winecfg in a terminal, press enter, and the wine configuration application window should appear and you should go to the audio tab. In there, choose OSS. Make sure you only have one sound output system (e.g. ALSA/OSS/ESD) ticked at a time.
When an application is outputing sound through OSS, it will cause conflicts with other applications outputing audio, because OSS can only output audio from one application at a time. To work around this issue, you can wrap your running WoW instance with the newer audio system using the padsp launch prefix in a terminal.
To do this start WoW through the terminal by typing:
padsp wine WoW.exe
Note: config.wtf and WoW.exe are located in your World of Warcraft catalog.
Graphics
If you are having trouble with your graphics, add the following to config.wtf:
SET ffxDeath "0" SET ffxGlow "0"
Note: Disabling ffxGlow may also enable antialiasing for some users.
If you experience a problem with missing character and object models, and/or the login windows background is black, add:
SET M2UseShaders "0"
regedit tweaks
This is a simple registry edit for Wine that either will either fix crash issues and increase frame rate in game, or it will decrease the performance and even make the game crash. You should give it a try to see what is does for you, as you may always easily remove it again, if it acts negatively for you.
Open a terminal window, type regedit and press enter. This will start the Wine equivalent of the windows registry editor. If you are familiar with using the registry editor under windows then this is pretty much the same.
Find this key HKEY_CURRENT_USER\Software\Wine\
- Highlight the wine folder in the left hand pane by clicking left on it. The icon should change to an open folder
Right-click on the wine folder and select [NEW] then [KEY]
Replace the text New Key #1 with OpenGL
Right-click in the right hand pane and select [NEW] then [String Value]
Replace New Value #1 with DisabledExtensions (Notice it's case sensitive!)
- Then double click anywhere on the line, a dialog box will open.
In the value field type GL_ARB_vertex_buffer_object
nVidia graphics
When running nVidia proprietary drivers with the 64-bit client, you may benefit from threaded shaders, resulting in better performance. See
http://us.download.nvidia.com/XFree86/Linux-x86_64/310.40/README/openglenvvariables.html The nVidia OpenGL variables for 310.40
Support and discussion
For support and discussion on the subject of this how-to, please post at:
External links
WineAppDB - World of Warcraft - The World of Warcraft page on WineHQ.
Wine (WoWWiki) - A WoWWiki guide for running World of Warcraft under Wine.
World of Warcraft/Wine - The Gentoo wiki World of Warcraft page.