NOTE: This was written while using Gnome 2 in 11.04. Things and changed a little, but not much. Will try to update later
I know this subject gets alot of reads, but there has not been an updated version for awhile (at least, not since before Cata came out).
I do NOT believe in using Play On Linux (POL), Crossover, or anything other than wine itself. Why add layers of complexity to a project that works in it's most basic form? (POL/Crossover, et. al., use wine as their base. So, I just use wine. Makes it easier).
If you have an issue, and anywhere in there you use POL or anything else except wine, DON'T post in here. If you use their products, and even worse PAY FOR THEM, go get help from them.
Now, for the preliminaries.
These are the basics you should do BEFORE you install WoW:
Note: wine 1.3.26 and above work fine now, with no mouse issues anymore
- Activate your proprietary video drivers in System > Administration > Additional Drivers (Nvidia users: If 'nvidia-settings' works, then it IS activated, ATi/AMD: If card is not supported or no drivers available, good luck, and Intel probably won't work at all)
- Install wine 1.3 It's easiest to look in the stickies in this forum, and install the wine ppa.
- Create a wine install directory by running 'winecfg' in a terminal. If it wants you to install Gecko, do it, or your Launcher won't show news. Also, set the default install as XP for sound to work, and go to your Sound tab and set the sound driver to ALSA.
Recently, the WoW cursor issues while running in opengl mode have been fixed. There is NO need to 'patch' wine for now.
That pretty much covers it. From here on out, it depends on how you install WoW.
- Install from the Client Download from Blizzard (This is how I have just installed WoW. The lower "costs" of download time for patches ALONE saved me almost 13GB of downloading. YES. 13GB!!)
- Install from DVD (If you have the Cata DVD, use that. No need to install all of them, just the most recent you have). What I do is mount the DVD with the correct options for 'unhiding' it, then I copy all the files to a folder in my .wine folder (makes it easier). Right click on 'Installer.exe', choose 'open with wine', and wait until it's done.
- Copy from an existing Windows install (Copy to ~/.wine/drive_c/Program Files/World of Warcraft. Using this method, you'll have to create your own launcher for WoW. Google for how to create a launcher in Ubuntu)
For any of the above, when you get the chance after it installs, close the game. Then, do the following to avoid the common mistake of installing other programs into your WoW install:
- Rename your .wine folder to .wine-wow or whatever you wish.
- Edit you laucher command to run WoW from the new folder. EX:Replace <USERNAME> with your Ubuntu username. This tells wine to run in the new wine-wow folder and run Launcher /WoW in opengl mode.Code:env WINEPREFIX="/home/<USERNAME>/.wine-wow" wine "C:\Program Files\World of Warcraft\Launcher.exe" -opengl
- Run the Launcher, and let it update patches/whatever until it's done (Note: If installed from DVD, the first patch alone is almost 8GB..then more patches. Be prepared)
If you run an Nvidia card, this is ALL you need to run WoW in wine. ATi/AMD might need a registry tweak (Google for it), and Intel MIGHT work if you DON'T run it in opengl mode, but FPS will be low, and LOTS of video issues.
**** NOTE: After the 4.2 patch, I have had issues with Launcher.exe actually running the game (Windows users have also reported this same issue). To temporarily fix this, edit your command to launch WoW to:This will launch Wow.exe directly. I will edit this as Blizzard addresses this issue ****Code:env WINEPREFIX="/home/<USERNAME>/.wine-wow" wine "C:\Program Files\World of Warcraft\Wow.exe" -opengl
Additional settings, etc (Raising FPS, Vent, Mangler)
Now that WoW is running, it is time to address additional issues, like low FPS. A quick overview might be in order.
WoW, like most Windows games, prefers to use DirectX for 3D rendering. Direct3D (D3D), however, is closed source, and while there have been strides in the open source community to get D3D functionality in Wine, it STILL isn't fully implemented yet. Also, wine 'converts' D3D calls to OpenGL, so we can still use this. Also, WoW supports OpenGL. Kind of.
WoW OpenGL is NOT a full blown OpenGL game, however. Many effects that D3D handles, are NOT handled in OpenGL in WoW. Sunshafts and Shadows come to mind. Also, if you look in your Settings for Video, your slider might be stuck on the lowest setting.This is mostly due to a combination of WoW/OpenGL/wine not being FULLY supported.
So, why run in OpenGL? Because, as the 'native' mode of Linux, it is FAST. If you have the EXACT same settings in both Windows/WoW and wine/WoW, wine/wow can beat Windows/WoW in FPS (due to OpenGL and MUCH better/faster/more efficient networking. Less 'lag' = more FPS due to better communication with the servers.) But you have to trade 'eyecandy' for FPS. Personally, I would rather have the FPS advantage than all the pretty graphics.
Ignore the 'slider'. Really. Just set EVERYTHING to the lowest settings. ALL of the drop downs in Video and Advanced.
Try it out. If you don't like how it looks, you can improve the visuals by changing ONE setting at a time, and see how your FPS changes. View Distance is a big killer of FPS, as is Anti-Aliasing. Start at the lowest, and slowly increase, testing after each change, until you strike the balance you like between 'eyecandy' and FPS. There is no "magic setting" or tweak that does more to help FPS/Looks than you trying to get a balance. What I prefer may not be what you prefer. Just remember, just because you can run "Ultra" settings in Windows D3D does NOT mean the same card will not choke on the same settings in OpenGL/wine.
Now, for those who need Ventrilo (Vent): DON'T. Use Mangler instead. I have used the Vent client under wine, and got it to kind of work, almost, but always had SOME kind of issue with it, whether it was key-bindings, sound quality, or whatever. Then I tried Mangler. It has the same functionality as the Windows Vent client, but is a Native Linux program. Easy to install, and easy/fast to run. No fiddling with sound/environment variables, or any of that stuff. It JUST WORKS.
Installing a Windows based accessory (Curse Client, etc...)
Now, you will see why I install WoW into it's own wine folder. If you keep WoW in the basic '.wine' folder, and you install other Windows programs, those programs can, and do, add things to a perfectly fine WoW install, and may create havoc with WoW. While this is not a big deal for most Windows programs, imagine if you HAVE TO REINSTALL WOW FROM SCRATCH! Personally, I would rather have each Windows program in it's own folder/prefix/environment. That way, if any of them bork up for whatever reason, at the most I would lose is just that one program, and not ALL of the programs I use in wine.
Another reason for 'separate wine folders' is: Windows gets malware and viruses just by existing! By seperating all the programs into their own 'bottle', it reduces the chance of a complete meltdown/reinstall. The chance is STILL there, but greatly reduced. A good example is if you have 4 cars and only room in the garage for 3 cars. If the garage burns down, one car should still be ok. (It could still catch fire/be damaged, but the odds are reduced). Or a hail storm hits, and one car gets damaged, but the three in the garage are protected. Do you see the point I am trying to make?
A good example of this is the Curse Client. It needs to have IE6 installed for it to work properly, but wine/WoW/IE6 has issues. So, How do I setup a program separated from WoW, but can still access it, without messing up the WoW 'system files'? Easily.
To continue with the Curse Client example, we first need to get a couple of programs. You will need:
- The Curse Client for Windows (version 3 works best for me. Find it on the Ver 4 download page. It's there)
- winetricks (It may already be installed. If not, can be gotten from the repos)
We are going to install everything into the default '.wine' folder first, then change/rename things to get it into it's own folder.
First, run winecfg. This will setup your wine folder for everything it needs. Next, run winetricks, install vcrun6, then dotnet2.0, and then install IE6 (there are a few versions of winetricks out there. You need to find how to install things through it). After this, install the Curse Client. (If you want to install ver 4 of the Curse client, you need to install IE8. Curse may fail on loading, but just exit, and try again)
Now, for the magic:
- Make sure you can run Curse, and login all the way. Don't worry about errors for "cannot find World of Warcraft files". We will fix in a moment)
- Exit curse, and rename the '.wine' folder to something like '.wine-curse'
- Edit the Curse launcher command to reflect the new name (env WINEPREFIX="/home/<USER>/.wine-curse" wine <PROGRAM>). Check and edit the command until Curse launches correctly.
- Create a link to your REAL World of Warcraft folder (i.e. : ~/.wine-wow/drive_c/Program Files/World of Warcraft). I usually just open the 'Program Files' folder, right click "World of Warcraft", and 'create link'.
- Copy that link to where the 'Program Files' in your 'curse folder' (i.e. ~/.wine-curse/drive_c/Program Files) so it thinks WoW is there. Rename the link so it is called "World of Warcraft"
What we have done up to now, is install Curse into it's own folder, but have linked WoW in such a way to NOT mess with the running enviornment/system files of WoW, but have allowed access to the files of WoW itself for Curse to do it's thing.
In this manner, if Curse gets messed up, all you have to do is delete the '.wine-curse' folder, reinstall curse like above, and your actual WoW game and all it's Gigabytes of data are still there and working.
Now, doesn't that make sense? If you need to install other programs, do it the same way:
- Install into the .wine folder crated when you run winecfg
- Tweak it until it runs. Add whatever support it need through winetricks or whatever.
- Rename the .wine folder to something else, and edit the launcher command to use that new folder i.e env WINEPREFIX="/home/<USER>/.wine-foo" wine "foo"
- Create links to other folders as needed.
Please, constructive comments are appreciated. Try to keep things civil.