Yes it is possible to play World of Warcraft on Linux using either Wine or Cedega. Cedega is a commercial version of Wine which supports DirectX while the standart Wine you download with your distribution only supports OpenGL. World of Warcraft support both technologies and tends to be faster using OpenGL.
Installation
This is an advanced installation guide to improve performance and gaming experience. There is no need to explain the basics - googleing for "World of Warcracft Linux" will give you dozens of sites which cover basic installation. Just one hint: copying an existing windows installation to a Linux partition is easiest (use: cp --archive). It's also a good alternative when the update manager won't cooperate (then use: cp --archive --update to save time after updates). On a dual boot system is also possible to use a shared vFAT32 partition so you only have to install the game once.
Seperate X Server
I suggest you use an separate X server to play World of Warcraft. With a separate X Server you have more control over the screen resolution used and you can use a light weight window manager. This is especially important when your graphic card is not powerful enough to render in your standard screen resolution.
Also: No program will be able to interrupt your game with a pop up windows. A constant source of grieve in Windows were Virus-Scanner, Firewalls, Skype and whatever else constantly trys to gain your attention. It's not so bad with Linux - but with a separate X-Server this problem is gone for good.
Add something along the following lines to your /etc/X11xorg.conf
file:
Section "Screen" Identifier "WoW[0]" DefaultDepth 24 SubSection "Display" Depth 24 Virtual 1920 1200 Modes "1920x1200" #Modes "1920x1200" "1440x900" "1368x855" "1280x800" "1152x720" EndSubSection Device "Device[0]" Monitor "Monitor[0]" EndSection Section "ServerLayout" Identifier "WoW[all]" Screen "WoW[0]" InputDevice "Keyboard[0]" "CoreKeyboard" InputDevice "Mouse[1]" "CorePointer" Option "Clone" "off" Option "Xinerama" "off" Option "StandbyTime" "10" Option "SuspendTime" "20" Option "OffTime" "30" EndSection
Only add the screen resolution you are planning to play. Since I upgraded to a new N7600GS I can play at the native resolution of my TFT but with the old FX-5700 it was necessary to reduce screen resolution to something along 1280x800.
Starting X
I use the following Script to start another X Server on display 2 on virtual terminal 9 (usually activated with Ctrl-Alt-F9). The Script used Z-Shell - so make sure that Z-Shell is installed on your system. As window manager I use Window-Maker. Window-Maker is quite light weight and comes with some very un-intrusive - blending into the background themes. I also instruct Window-Maker to use a separate configuration just for World of Warcraft.
#!/bin/zsh typeset -x WINEPREFIX="${HOME}/.wine"; typeset -x GNUSTEP_USER_ROOT="${WINEPREFIX}/WoW" typeset -x DISPLAY=":2"; setopt No_BG_Nice; setopt X_Trace; zmodload zsh/net/tcp if test ! -d "${GNUSTEP_USER_ROOT}"; then mkdir --parents "${GNUSTEP_USER_ROOT}" fi; X -layout "WoW[all]" -br -dpi 96 ${DISPLAY} vt9 & typeset -i X_Server=${!} until ztcp localhost 6002; do sleep 1 done ztcp -c "${REPLY}" # # --no-dock do not show the application Dock # --no-clip do not show the workspace Clip # /usr/bin/windowmaker kill -s SIGTERM ${X_Server} # vim: set nowrap tabstop=8 shiftwidth=4 softtabstop=4 expandtab : # vim: set textwidth=0 filetype=zsh foldmethod=marker nospell :
Starting the Game
While you could just start the Game with wine 'G:\World of Warcraft\WoW.exe' having a special start-up script has a few advantages. My Script does the following tweaks:
- -opengl
- Switches on OpenGL no matter what the configuration files says. That is helpful when you share installation with Windows - which is possible!
- -windowed
- Displays the Game inside a DesktopWindow. Without that switch World of Warcraft will try to change the screen resolution whatever is said in the configuration file - and that can go horrible wrong leaving you with a black screen and the intro music (This can happen on Windows as well).
- renice
- With renice I raise World of Warcraft priority above most of the other applications on the system. Still I suggest to shut E-Mail clients and other applications which do background tasks.
#!/bin/zsh typeset -x WINEPREFIX="${HOME}/.wine"; typeset -x DISPLAY=":2"; setopt No_BG_Nice; setopt X_Trace; # -windowed use window for output # -d3d use d3d as output # -opengl use opengl as output wine 'G:\World of Warcraft\WoW.exe' -opengl -windowed 1&>/dev/null & typeset -i World_of_Warcraft=${!} # # You need the following command in your sudoers file for this # to work: # # User_Alias ADMIN = <<userid>> # Cmnd_Alias RENICE = /usr/bin/renice # ADMIN ALL = (root) NOPASSWD: RENICE sudo /usr/bin/renice -5 -p ${World_of_Warcraft} sleep 3 sudo /usr/bin/renice -5 -p $(ps --no-heading --format="%p" -C WoW.exe) sudo /usr/bin/renice -5 -p $(ps --no-heading --format="%p" -C wineserver) # vim: set nowrap tabstop=8 shiftwidth=4 softtabstop=4 expandtab : # vim: set textwidth=0 filetype=zsh foldmethod=marker nospell :
The Script expect World of Warcraft to be installed on the Windows-Drive G:.
One click start up
Two start Scripts are nice for debugging - but for day to day use a little to much hassle. The following Script will do both steps in one go and shut down the X Server when you leave the Game. Do note the nifty use of the ztcp package to check when the X server is ready to receive requests.
#!/bin/zsh typeset -x WINEPREFIX="${HOME}/.wine"; typeset -x GNUSTEP_USER_ROOT="${WINEPREFIX}/WoW" typeset -x DISPLAY=":2"; setopt No_BG_Nice; setopt X_Trace; zmodload zsh/net/tcp if test ! -d "${GNUSTEP_USER_ROOT}"; then mkdir --parents "${GNUSTEP_USER_ROOT}" fi; X -layout "WoW[all]" -br -dpi 96 ${DISPLAY} vt9 & typeset -i X_Server=${!} until ztcp localhost 6002; do sleep 1 done ztcp -c "${REPLY}" # # --no-dock do not show the application Dock # --no-clip do not show the workspace Clip # /usr/bin/windowmaker & typeset -i Window_Manager=${!} sleep 3 # -windowed use window for output # -d3d use d3d as output # -opengl use opengl as output wine 'G:\World of Warcraft\WoW.exe' -opengl -windowed 1&>/dev/null & typeset -i World_of_Warcraft=${!} # # You need the follwing command in your sudoers file for this # to work: # # User_Alias ADMIN = <<userid>> # Cmnd_Alias RENICE = /usr/bin/renice # ADMIN ALL = (root) NOPASSWD: RENICE sudo /usr/bin/renice -5 -p ${World_of_Warcraft} sleep 3 sudo /usr/bin/renice -5 -p $(ps --no-heading --format="%p" -C WoW.exe) sudo /usr/bin/renice -5 -p $(ps --no-heading --format="%p" -C wineserver) wait ${World_of_Warcraft} kill -s SIGTERM ${Window_Manager} kill -s SIGTERM ${X_Server} # vim: set nowrap tabstop=8 shiftwidth=4 softtabstop=4 expandtab : # vim: set textwidth=0 filetype=zsh foldmethod=marker nospell :
Hints.
Mouse does not work.
If you cant proper drag and drop and click with your mouse then you might want to start the Game in windowed mode - as all the scripts above do. Don't use the in game maximise option, leave it to the window manager maximize the window. Window-Manager for example can be set up to maximise the window so that title-bar and resize bar disappear as well.
Use a shared vFAT32 partition.
If you use a dual boot computer with both Windows and Linux I suggest you use a shared vFAT32 partition - I have not noticed a performance decrease neither against NTFS (on Windows) nor against xfs (on Linux) - all three file systems I have tested and they work fine.
Install the Game under Windows - which is less troublesome and mount the game partition on Linux using the following mount options:
/dev/disk/by-label/WOW /media/WoW vfat noauto,gid=users,dmask=0002,fmask=1113,utf8,shortname=winnt 0 0
In fact I suggest you mount all you Dos-Drives using shortname=winnt - the default shortname=lower is old fashioned and should not be used on current (i.E WinNT or better) systems.
Since the scripts set -opengl -windowed sharing the configuration file (WTF/Config.wtf
) won't be a problem either.