个人工具

UbuntuHelp:WorldofWarcraft

来自Ubuntu中文

Wikibot讨论 | 贡献2008年12月16日 (二) 20:53的版本

跳转至: 导航, 搜索

This howto is for installing and playing World of Warcraft using Wine under Ubuntu-x86. 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 proprietary Cedega and CrossOver Linux. This howto, however, does not address these two. Another option is an application called PlayOnLinux. This application is free, easy-to-use open source application that should do all configurations for you. If you encounter some graphical issues, you might want to check out the configuration guide of config.wtf on this page. 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, run the following command:

glxinfo | grep rendering

You should see 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 a configuration issue with the graphics card driver. See the troubleshooting section for elaboration.

Installing Wine

The official deb package file of Wine from WineHQ's download page, is recommended for most users, as it works almost out of the box for most people, and has a gold rating at the moment. For full instructions on installing Wine see the Wine page.

Deb package

To install the deb you need to add the WineHQ repository and then install Wine. For additional help on adding repositories, see the Repositories page.

  1. Open a terminal(also called a console, CLI, and command prompt) and choose one of the following two commands to run, based on your version of Ubuntu:

For Ubuntu Intrepid Ibex (8.10):

 sudo wget http://wine.budgetdedicated.com/apt/sources.list.d/intrepid.list -O /etc/apt/sources.list.d/winehq.list

For Ubuntu Hardy Heron (8.04):

 sudo wget http://wine.budgetdedicated.com/apt/sources.list.d/hardy.list -O /etc/apt/sources.list.d/winehq.list

1.#2 Now do these three commands in a terminal:

 wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg -O- | sudo apt-key add -
 sudo apt-get update
 sudo apt-get install wine

1.#3 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. In a Terminal window type the following:

 winecfg

Select your Windows type, configure disk and removable drives, etc, then press Apply and Ok. As it closes, winecfg will create a .wine directory structure in your home folder, populating with information about drives and devices installed in your system. If you fail to do this 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:'

Compiling Wine from source

Other experienced users, who are unable to make this work or just want more control over the installation, may want to try to compile Wine from source in order to play WoW. Instructions can be found here: https://wiki.ubuntu.com/BuildingWineFromSource

Installing WoW

Original WoW

The best method, if you have access to the installation discs is to copy the contents to your hard disk and run them from there. If you have the new DVDs see the note below.

  • 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, copy just the 'Installer Tome #.mpq' files. In the end, you should have the 'DirectX' directory, and the 'autorun.inf', 'installer.ico', 'Installer Tome.mpq', and 'Installer.exe' files from disc 1, and 'Installer Tome 2.mpq', 'Installer Tome 3.mpq', 'Installer Tome 4.mpq', and 'Installer Tome 5.mpq' from the remaining discs. Note that 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)
  • Note that 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 type in a terminal:
 sudo umount /dev/cdrom
sudo mount -t iso9660 -o ro,unhide /dev/cdrom /media/cdrom0/
  • 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. Some dialogs during installation may appear blank or garbled, and the installer may even hang for up to 5 minutes at 100% CPU, while appearing to be doing nothing. Simply wait and click next when possible. Note: If you have not already done so, you may want to install Microsoft's|proprietary fonts, because they can solve some text related graphical glitches during installation.

Burning Crusade

The BC install is more or less the same as the base game install.

  • Create a new directory separate from the directory where you copied the original game discs.
  • Copy the 'Autorun.inf', 'Installer.exe', 'Installer.ico', and 'Installer Tome.mpq' files from the first Burning Crusade disc to this new directory.
  • Copy just 'Installer Tome 2.mpq', 'Installer Tome 3.mpq', and 'Installer Tome 4.mpq' from the remaining install discs.
  • Run the installer by opening a terminal and executing 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 (the BC files, not the original WoW files).

Alternate Installation Methods

If the above isn't possible for some reason (you don't have the discs for example, or a working media drive), here's some alternate ways to install the game.

Alternative 1 (Copy from Windows):

You can also just install WoW in Windows and then copy the entire World of Warcraft folder over from your Windows installation.

Alternative 2 (Download the Entire Game):

If you have lost a CD, do not have access to a CD drive or simply would not like to bother with patching and messing with the CD's, you can download and run the install of the trial version, which is in fact the full game almost fully patched, from the blizzard torrentlike downloader. They work very nicely with Wine. Installer Downloads: Original WoW - US Version Burning Crusade - US Version (requires a valid account for log in) WoW - European clients, in all languages In order to use the Blizzard Downloader effectively, you must 1) open certain ports on your computer and 2) enable port forwarding on your router.

Firewall Configuration for Blizzard Downloader

The easiest way to open these ports is to use the firewall program Firestarter.

  • From the command line, install Firestarter with this command: sudo apt-get install firestarter.
  • When it is running, select the "Policy" tab, right-click in the Allow Service area, and select Add Rule.
  • Under port, type 6112 and make sure that the "Anyone" radio button is selected. Make a note in the comments field that this port relates to Blizzard.
  • Repeat these steps for ports 3724 and for the range 6881-6999 (which will be recognized as BitTorrent ports).
Router Configuration for Blizzard Downloader

Next, configure your router to forward those ports on the router to your computer only. The steps are similar to the above, but vary slighly from router to router and may be found on Blizzard's website: [1] Once the firewall is configured and the network port forwarding is working, run the downloader with (Burning Crusade US Version example):

wine WoW-BurningCrusade-enUS-Installer-downloader.exe

Configuration

Config.wtf

WoW uses DirectX by default, but for most people it will not perform well in this mode. If this is the case for you, then you should change it to run in OpenGL mode instead. To do this you need to 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. Note that since .wine begins with a period, you will not be able to see it, but you may still access it in a terminal. In the Nautilus file manager, you can press Ctrl + h to see hidden files. If config.wtf does not exist, run the game and log into a character. The game should then create the file. Open it using a text editor, and add the following line to it:

SET gxApi "opengl"

If you experience poor performance, graphical glitches, or the game does not run at all, then add the following options as well:

SET ffxDeath "0"
SET ffxGlow "0"

Note that 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"

If you experience stuttering, bad sound or no sound what so ever, then add the following options as well:

SET Sound_SoundOutputSystem "1"
SET Sound_SoundBufferSize "150"

winecfg

If you experience stuttering, bad sound or no sound what so ever, then you must try a few things in winecfg. Just type winecfg in a terminal, press enter, and the wine configuration application window should appear and you should go to the audio tab. For most people OSS will work better than ALSA, so you should make sure that only OSS is ticked. But for some ALSA works better, so try that as a second solution, make sure you only have one ticked at a time. Also, refer to the Voice chat section for information on getting multiple audio streams working with OSS and ALSA (more than one program using audio at once). It will wave you grief should you ever want to listen to music and chat on Ventrilo or Teamspeak while playing, and similar. You may also try ticking Driver Emulation or setting the Hardware Acceleration dropdown to Emulation. Remove it again if it does not help.

Registry configuration

This is a simple registry edit for Wine that will dramatically increase the framerate in game. It is gathered from this thread on Ubuntuforums.org: http://www.ubuntuforums.org/showthread.php?t=303509 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.

  1. Find this key HKEY_CURRENT_USER\Software\Wine\
  2. Highlight the wine folder in the left hand pane by clicking left on it. The icon should change to an open folder
  3. Right-click on the wine folder and select [NEW] then [KEY]
  4. Replace the text New Key #1 with OpenGL
  5. Right-click in the right hand pane and select [NEW] then [String Value]
  6. Replace New Value #1 with DisabledExtensions (Notice it's case sensitive!)

1.#7 Then double click anywhere on the line, a dialog box will open.

  1. In the value field type GL_ARB_vertex_buffer_object

Note: If you are unable to rename the newly created key "New Key #1" to "OpenGL" then expand the left hand pane of the regedit window using the vertical divider bar. You should now be able to change it. A known bug in Wine is causing this unwanted behavior. Note: If you have installed the patch Echos of Doom, 3.0.2, many users have discovered that they were getting very low frame rates and that by removing this registry tweak their framerates were returned to normal.

Playing

Start from the Desktop Icon

Double click 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, you should do this as it will enable the WoW Launcher to display news.

Start from the Terminal

Starting from the terminal is simple, just enter:

wine "C:\Program Files\World of Warcraft\Launcher.exe"

(install when prompted about the Gecko rendering engine) Or, dive right into the game with:

wine "C:\Program Files\World of Warcraft\WoW.exe"

Gnome menu icon

You can make a Gnome menu entry for WoW by doing 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=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 chat

If you choose to configure Wine to use OSS for sound, then you will experience an issue with making voice chat applications and WoW use sound input and output simultaneously. You need to be able to mix sound in order for this to work, but most modern onboard soundcards do not support hardware sound mixing. You will either have to get a PCI soundcard, which supports this feature, or use software mixing. The issue with software mixing comes down to the two different sound interface architectures available in Linux, OSS and ALSA. OSS(old/legacy): Does not allow you to use software mixing. Meaning only ONE application will be able to use sound at a time. ALSA(new): Allows software mixing. Meaning several programs can use sound simultaneously. However, as stated previously in this howto, for some people the sound may stutter or be otherwise corrupted when using ALSA, this may force you to use OSS. So you see the problem:

  • WoW runs in Wine, ergo uses OSS
  • Ventrilo runs in Wine, ergo uses OSS
  • The Linux version of TeamSpeak is based on OSS

Only one of these applications will be able to use sound at a time, but this can be solved by using alsa-oss, which channels OSS applications through ALSA, making them then work more or less like regular ALSA programs. ALSA-OSS is installed by running this command:

sudo apt-get install alsa-oss

And then one uses it by starting the programs with the "aoss" command, something like this:

aoss /path-to-program/TeamSpeak
aoss wine /path-to-program/Ventrilo.exe
aoss wine /path-to-program/WoW.exe

Remember that both the voice chat program and WoW need to be run with the aoss command in front.

Troubleshooting

This section has been moved to its own article for better overview and navigation. See UbuntuHelp:WorldofWarcraft/Troubleshooting

Support and discussion

For support and discussion on the subject of this howto, please post at: http://ubuntuforums.org/showthread.php?t=579378

External links