Guild Wars on Wine

Wine provides a win32 API implementation for operating systems not made by Microsoft and can be used to run Guild Wars on such systems. The following guide has been written with Linux in mind, but can work on BSD- and Darwin-based systems under most circumstances. Be aware that without a powerful central processor and a reasonably powerful graphics card, Guild Wars is unlikely to be playable: translating system calls for a complex program constitutes a great deal of overhead.

Guild Wars has been given Wine's "platinium" application status, indicating the highest level of compatibility. Given the correct settings and hardware, it should work as well on Linux as it does on Windows.

CrossOver is commercial version of Wine with official support of Guild Wars on Linux and MacOS using Intel processors.

Cedega, a DirectX optimized commercial wine fork, supports Guild Wars. For more information about Guild Wars on Cedega you can visit their wiki.

Get Wine
First, we'll need to download and install Wine on your system, if it isn't already there. Most package management systems have a copy of Wine available in the default repositories. Here are some distribution-specific instructions:

It is recommended you use the latest stable Wine (or well tested development) release, which should be included in the package archive of your distribution. If you wish to use the latest development release, follow the instructions at the Wine downloads page. ''Note: The development release may include regressions which can prevent Guild Wars from working properly. If this occurs, try rolling back to a previous verison.''

Configure Graphics driver
Check if the system uses your Video Card's 3d acceleration driver.

Network install
Open a terminal window and download the Guild Wars installation program: wget http://www.guildwars.com/downloads/gwsetup.zip unzip gwsetup.zip Then run gwsetup: the /complete switch will download all the files so you get a complete install rather than piece meal as you enter each zone. This makes the install slower but the game play isn't delayed whenever you enter a new area. wine GwSetup.exe /complete Proceed with the installation, which will download the basic GW data.

Media install
Mount Guild Wars media and use winecfg to assign a "Letter" to the mount point. Then run Setup.exe from the media: wine "D:\Setup.exe" Where D: is the Letter for the media Drive Mapping. You may need to unmount and mount the next media yourself if wine failed to do so.

Running Guild Wars
To run Guild Wars after the installation, simply type this command from a terminal window: wine "C:\Program Files\Guild Wars\Gw.exe"

You can use your system's menu editor to add a shortcut to the above command, so you don't have to manually run it from a terminal every time.

In case you experience problems when running Guild Wars, you may want to try tweaking with the configuration of Gw.exe or Wine.

Extra configuration
The process above will in the majority of cases land you with a working Guild Wars installation. However, for those systems where this doesn't happen, or where you are unsatisfied with the performance and want to try tinkering with the settings to get a better game experience, the following instructions may help.

Tuning xorg.conf
When using Intel onboard graphics like GMA 3100 disabling the option SwapbuffersWait in the device section can improve the performance. Option "SwapbuffersWait" "false" See  for the details about this option.

Tuning wine
Start  and, if your hardware supports it, configure the following options.

In the Graphics tab Allow Pixel Shader and set Vertex Shader Support to Hardware. Also it is highly recommended that Allow the window manager to control the window be disabled, this will prevent common desktop hotkey to activate during play. (eg: Switch desktop, cycle window, ...)

If you're running a lower-spec machine, like a netbook, turn off pixel shader support and use the pbuffer for OSR instead. This will make the game look worse but perform better.

In the Audio tab enable the driver that support your audio hardware, ALSA Driver will work in most installation. The following audio options are recommended, Hardware Acceleration select Emulation and make sure Driver Emulation is checked.

Registry Settings

 * Start

If graphics freeze for short durations when moving or turning (loading new shaders):
 * Create key "HKEY_CURRENT_USER/Software/wine/Direct3D", create string "UseGLSL", set value to "disabled". This hint applies to Wine 0.9.49 and later. Re-enable GLSL whenever upgrading to see if this performance issue was fixed, because graphics quality increases with GLSL enabled.

In the latest stable release of WINE, i.e. 1.2, disabling GLSL causes footprints to become white squares. Using an older version of WINE such as 1.1.40 prevents such occurrences.

Enable Multi-sampling (Anti-Aliasing):
 * Create key "HKEY_CURRENT_USER/Software/wine/Direct3D", create string "Multisampling", set value to "enabled".
 * Within Guild Wars, enter Menu, Options, Graphics and chose desired Anti-Aliasing setting. Though the Guild Wars setting seems to be non-influential, it is good practice to keep it in sync.

If your GW screen turns black when Multi-sampling or post-process effects are enabled:
 * Create key "HKEY_CURRENT_USER/Software/wine/Direct3D", create string "OffscreenRenderingMode", set value to "backbuffer". There seems to be no performance or quality penalty.

For a full reference of further registry keys, see http://wiki.winehq.org/UsefulRegistryKeys

Configuring Gw.exe
Wine implementation of Microsoft DirectX9 can be lacking in old versions. If that is the case, try running Gw.exe with the flags -dx8 -noshaders. You can also change the Windows version Wine emulates in the Wine Configuration panel. Several people have better luck getting it to work in Windows 98 mode than others. However this mode causes a massive number of graphics anomalies since the Eye of the North updates. It is possible to force Guild Wars to run in a window instead of fullscreen; this can be useful if you run into problems. To do this the flag -windowed is added to the gw.exe command. We will use this until we are satisfied with the results. Also because Wine will generate a lot of debugging output when running, this can slow the game, environment variable WINEDEBUG will be set to -all (minus all) to prevent any debug output on the console. WINEDEBUG=-all wine "C:\Program Files\Guild Wars\Gw.exe" -windowed

Running on a separate X server
If you run Guild Wars on a separate X server, it doesn't interrupt other applications on other X servers. If Wine or Guild Wars crashes on one X server, the other remains unaffected. Since separate X servers can without or a different window manager than another, keys can be rebound and not get in the way of playing Guild Wars. If you usually run a compositing window manager (e.g. compiz), you might also see a speed increase, as the visual effect can be disabled on the other X server.

On the other hand, minimizing Guild Wars or switching to window mode won't work as expected any more - but you can switch between your regular desktop and Guild Wars anytime usually by using Ctrl-Alt-F7 / -F8 (your mileage may vary). Multiple X servers can also take up overall performance on slower machines.

If you like those features, do as follows: Create a text file containing the command to start Guild Wars, without the -windowed switch WINEDEBUG=-all wine "C:\Program Files\Guild Wars\Gw.exe" save it, for example as ~/run_guildwars, and make it executable chmod +x ~/run_guildwars To start a second X server with Guild Wars running, execute this command (or add a corresponding shortcut or menu entry): xinit ~/run_guildwars -- :1 -br
 * 1) !/bin/bash