I had a hard time getting WoW to work in wine using the information I found on this forum and others. After being pointed to this howto (http://wiki.kaspersandberg.com/doku....orldofwarcraft) by a helpful individual named 'vanilla' on the winehq irc channel, I had great success. I thought I would make a post on the Ubuntu forums showing what worked for me. I borrowed heavily from that howto, but added some things I did to deal with workspace switching better, and some customizations I have done.
If you have already installed wine from the repositories, you will want to do a "complete removal" of it before continuing.
Install the 'build-essential' package if you haven't already that will install the compiling utilities you will need.
You will probably want to run the command 'sudo apt-get build-dep wine' which should install anything you will need to compile wine. Otherwise you may get messages during './configure' about missing libraries.
Download and extract the source code for wine (I used 0.9.6) from sourceforge http://prdownloads.sourceforge.net/w...-0.9.6.tar.bz2.
Get the two patch files needed, and place them in the top directory of the source files:
Get the two Windows .dll files necessary:
Get MozillaControl (I think this is needed for patching WoW)
COMPILATION AND INSTALLATION
Before compiling and installing wine, we have to patch the source code. From the top directory of the source files:
$ patch -p1 < wine-cvs-glx.diff
$ patch -p1 < wine-wow-fixes.patch
Now we compile and install wine:
$ make depend && make
$ sudo make install
Now we need to, as root, make a file with a text editor in /etc called ld.so.conf, that contains a single line specifying a directory: /usr/local/lib
Now run the command 'sudo ldconfig'. This is necessary due to the special way Ubuntu handles dynamic linking (I think), while Wine expects the more standard method.
You may at this point want to run 'wine' with no application specified.
This should create the .wine directory in your home directory with the fake C drive.
Now we can put the .dll files in the system folder:
$ mv msvcp60.dll mfc42 ~/.wine/drive_c/windows/system32/
Now we need to install MozillaControl under wine:
$ wine MozillaControl1712.exe
Now we can use the graphical wine configuration utility and choose the following options:
1. In the Applications tab change Windows version to “Windows XP”
2. In the Graphics tab:
1. Enable Pixel Shaders
2. Set Vertex Shader to Hardware
3. Enable Allow the window manager to control the windows
3. In the Audio tab set to OSS output (Option, but reported to be best)
WORLD OF WARCRAFT SETUP
Ok, wine is now ready for WoW. If you do not have a working copy of WoW available, and need to install, your best bet is to copy all of the contents of every CD into a directory on your hardrive, and start the installer using wine. I haven't tested this myself.
Once you have installed WoW, the /World of Warcraft/wtf/Config.wtf file needs to be modified. Add the following lines:
SET gxApi "opengl"
SET SoundOutputSystem "1"
SET SoundBufferSize "100"
SET gxColorBits "24"
SET gxDepthBits "24"
You should also add in the following two lines, but fill in values for the screen resolution and vertical refresh rate that are right for your setup. Mine were:
SET gxResolution "1280x1024"
SET gxRefresh "85"
Ok, now to run, you can type 'wine WoW.exe -opengl' in a terminal.
Ok, I like to use the workspace switching feature in Gnome (also found in every other window manager I am aware of) when playing WoW, to check Thottbot, reply to a IM, particularly on those long griffon/bat flights. I have set shortcut keys to switch to each workspace under System > Preferences > Keyboard Shortcuts, mine are set to CTRL-F1 through F4. If you do this after starting WoW from wine in a terminal, it will switch out, but when you switch back, keyboard input is routed to the terminal instead of the game, so you can no longer use the ingame chat among other things. To fix this, I use a custom panel button to start the game instead. To make this panel button:
1. Right click on the panel you want to add it to (such as the one containing the Applications drop down) and select "Add to Panel..."
2. Highlight "Custom Application Launcher" and click "Add"
3. Give it a "Name" (such as "WoW Wine")
4. Under "Command" type "wine /path/to/World of Warcraft/WoW.exe -opengl"
5. Do not select "Run in terminal"
You can access these options by right-clicking on the button you made and choosing "Properties".
To get the World of Warcraft icon for your shortcut, you can install the 'icoutils' package (in the universe repository I believe). Then run the command:
$ wrestool -x --output=. -t14 /path/to/WoW.exe
This will extract the icon from the .exe file, placing the .ico file in your working directory. To add this icon, press "No icon" in the Properties window for your button, enter the directory where your .ico file is, and choose it.
If you use the panel button to start the game, when you switch workspaces back to the game, the keyboard input will go to the game properly.
LOADING NVIDIA SETTINGS
If you have an nvidia card, you may notice that until you use nvidia-settings during your session, your antialiasing and anisotropic filtering will not be activated. My method to activate these automatically is to start WoW with a script. To create this script, just make a file (mine is named simply 'wow') with the following lines (you can use gedit or other editor):
cd '/path/to/World of Warcraft'
wine WoW.exe -opengl
This will load your video card configuration before starting the game. To make this script executable:
$ chmod +x scriptname
To run this from your panel button, just put the script (including the full path) in the Command field.
TOP PANEL PROBLEM
What I experienced is that when switching back to the workspace of the game, the top Gnome panel was still on the screen, and the WoW screen was drawn underneath it, cutting off a small bit at the bottom. My workaround was to drag the top panel (the one with the Applications drop-down) down to the bottom of the screen, just on top of the bottom panel (the one with the trash icon and workspace indicators). This is not ideal, but it worked for me.
SCREEN RESOLUTION/REFRESH RATE PROBLEM
When switching out of the WoW workspace to a different one, I have experienced that the screen resolution switches a few times before settling on the proper desktop resolution (I am running both my desktop and game at 1280x1024 at 85 Hz). It's a bit jarring, but it's not a big deal. However, when exiting the game, the desktop inexplicably settles on a 1600x1200 resolution, which is the highest my monitor can handle. I am then forced to return it to 1280 x 1024 under System > Preferences > Screen Resolution.
If anyone has any ideas on how to avoid top panels being rendered or how to solve the screen resolution issues, or any other ideas or questions, please post to this thread. I'll see you in Azeroth!
UPDATE January 23, 2006
I found a workaround for the problem of it switching to 1600x1200 after game exits (this is apparently a Wine bug). I removed all instances of "1600x1200" in the various "Display" subsections in the /etc/X11/xorg.conf file. Now that resolution is no longer available, and the desktop returns to 1280x1024 upon exit. Also, the workspace switching is much smoother, with just a brief bit of flickering.
UPDATE January 25, 2006
Switched the order of the commands to install MozillaControl and .dll files, and added running the command 'wine' to create the .wine directory in the home directory.