Guild Wars 2 on Wine
Using the Wine software, Guild Wars 2 can be run on UNIX-like operating systems, such as Linux. Though this is unsupported by ArenaNet and NCSoft, various people have reported excellent results running Guild Wars 2 on GNU/Linux.
Although this technique can be used to run Guild Wars 2 on OS X, it is no longer ideal, as there is an official OS X client based on TransGaming-technology Cider. Cider is in fact a Wine fork.
How it Works
Many people believe Wine emulates a Windows environment and that this will result in slower performance than on native Windows. Though Wine can indeed result in slightly slower performance than a native environment, for faster systems, the difference is unlikely to be noticeable because Wine is not an emulator. Wine works by taking the Win32 system calls and redirecting them to your system's native Unix (or Linux) system calls. Wine is more of a compatibility layer than an emulator. Any performance issues under Wine are likely caused by unoptimized graphics card drivers in Linux, which are in general inferior to the proprietary Windows offerings - even when using fglrx for ATI-users or Nvidia's native Linux drivers.
Though performance is generally comparable between Windows and Wine, this does not mean the experience will be bug-free. There are currently many known Guild Wars 2 graphical bugs, though the game is considered playable both on WineHQ and on the Crossover database, where both consider it gold.
To run Guild Wars 2 on a non-Windows operating system, you will need to install Wine on your system. Most GNU/Linux distributions offer an installation method of their own; it is advised you use it. Otherwise, you may download it at the official website and follow instructions there. Additionally, you may need to install a proprietary graphics card driver for Guild Wars 2 to function properly. Again, it is recommended you use the installation method or package manager of your own GNU/Linux distribution. For vanilla Ubuntu users, this means using the Additional Drivers tool in the menu.
There are a number of options to install Guild Wars 2 on Wine. The most basic option is to manually install it using Wine. However, due to the complexity of managing wine environment settings, this could be come hectic. More user friendly ways include using PlayOnLinux or Crossover.
PlayOnLinux is a Crossover-like front-end for Wine that simplifies the installation process of Guild Wars 2. You'll need to download and install PlayOnLinux using binaries available from the PlayOnLinux website or from your distribution's repositories. If you're using Ubuntu, PlayOnLinux is available on the Ubuntu Software Centre.
To install Guild Wars 2 using PlayOnLinux, download, install and launch PlayOnLinux and follow the first run wizard. Then, wait for the message "Refreshing PlayOnLinux" to go away from the bottom pane of the PlayOnLinux window. Once it is finished refreshing, click the "Install" button at the top of the window. This will open a new window. Select "Games" from the sidebar, and select "Guild Wars 2" from the list. (If it does not appear, you will need to check the "Testing" search option.) This will launch a step-by-step wizard that will automatically download and install pre-requisites like DirectX dlls and the Guild Wars 2 installer for you. Once the wizard is complete, Guild Wars 2 will appear in the list of games in your PlayOnLinux main window. Double-clicking it will launch the launcher for Guild Wars 2.
If you use PlayOnLinux, there is no need to manually create .desktop files or set icons for these files, since this is done for you by the wizard.
Note that in some cases playing on fullscreen might freeze your screen. If this happen when you start the game, open the Wine configuration menu for Guild Wars 2 in PlayOnLinux and enable "Emulate a virtual desktop" with your screen resolution as size.
Wine (manual install)
Guild Wars 2 can be installed by downloading the Guild Wars 2 Client (available here) to a folder of your choosing, and executing the following command. You may need to replace "Gw2.exe" with the full location of the file if you're not running Wine from the same folder.
wine Gw2.exe -dx9single
The launcher will start and download the necessary data. To run Guild Wars 2, executing the very same command should suffice.
For convenience, in most systems you can also create a desktop shortcut or a link in your Start menu to launch Guild Wars 2. Just make sure that your link executes the above command. When updating, the patcher may crash after a while; however, you can just restart it and continue the download.
Using the 64-bit-Client
Download the 64-bit-Client (of Guild Wars 2; for Windows of course) from the official website and copy it to the program folder of Guild Wars 2 (the 64-bit version will use all data, that you have already downloaded with the 32-bit version).
Then Install wine-staging, an installation guide for many distributions can be found here: https://github.com/wine-compholio/wine-staging/wiki/Installation
Then run the following command in a terminal inside the program folder of Guild Wars 2:
'WINEPREFIX="/home/user/foldername" WINEARCH=win64 /opt/wine-staging/bin/wine Gw2-64.exe'
Replace "user" with your username and "foldername" with a name of your choice. This command will create a new Wine-Prefix for the 64-bit version of Wine and will then run the 64-bit version of Guild Wars 2 with wine-staging.
You should also enable CSMT as mentioned in this article: https://github.com/wine-compholio/wine-staging/wiki/CSMT You can do this with 'winecfg'. Just type 'WINEPREFIX="/home/user/foldername" WINEARCH=win64 /opt/wine-staging/bin/winecfg' inside a terminal and search for the CSMT-option.
If you have performance issues, create some registry entries. Just type "WINEPREFIX="/home/user/foldername" WINEARCH=win64 /opt/wine-staging/bin/wine regedit.exe".
- Go to HKEY_CURRENT_USER->Software->Wine
- Create a key named "Direct3D" (if its not already existing)
- Create some new String values (inside the "Direct3D"-key; right click->"new string value"), including:
- "VideoMemorySize": Set its value to the amount of memory that your GPU has, in MB and add an "M" for MB; for example '2048M' for 2 GB
- "UseGLSL": Set it to 'disabled'
More Information: Wine AppDB: https://appdb.winehq.org/objectManager.php?sClass=version&iId=32861
Useful registry-entries can be found here: http://wiki.winehq.org/UsefulRegistryKeys
"-dx9single" is an optional command, see http://wiki.winehq.org/Native_D3DX9 for more information of native DirectX in wine. You can download and install (native) DirectX-versions (or better to say the libraries) more easy and safe with "winetricks" (maybe needs to be installed seperately), description can be found here: http://wiki.winehq.org/Native_D3DX9
Tested on Debian 8.2 (Jessie) 64-bit with wine-1.7.55 (Staging). It runs very well, but don't expect to use the highest graphic settings.
The following Wine settings can have significant performance boost:
- Enable CSMT (must be running wine-staging or a CSMT-patched wine version)
- Setting correct video memory size
Get the size with: $ lspci -v | grep -i VGA -A 10 Set the size with: $ winetricks videomemorysize=XXXX
- Disable GLSL (especially helpful for Nvidia cards)
$ winetricks glsl=disable
- Install d3dx9 component
$ winetricks d3dx9
- __GL_THREADED_OPTIMIZATIONS in combination with GLSL disabled can cause fps loss, disable it when running CSMT
$ export __GL_THREADED_OPTIMIZATIONS=0
- The game spams a lot of fixme debug messages, causing a huge memory leak. Turning these off improves performance and stability
$ export WINEDEBUG=-all $ export LOGFILE=/dev/null (optional for PlayOnLinux, keeps it from writing to the logfile)
- Turning off Vsync and GL_YIELD might also help with fps:
$ export __GL_SYNC_TO_VBLANK=0 $ export __GL_YIELD="NOTHING"
- Use the latest Wine-Version, available here: https://www.winehq.org/download/ and here: https://wine-staging.com/ (you can also compile it by yourself)
- Look at the Wine AppDB: https://appdb.winehq.org
- take a look at the wine bugzilla website: https://bugs.winehq.org
Frequent Game Crashes (Out Of Memory Exception)
Try the 64-bit Beta-Client. Download the files and drop Gw2-64.exe into your existing GW2 installation folder. Notice that for this to work, you need to use a 64-bit Wineprefix for Guild Wars 2 (PlayOnLinux defaults to 32-bit).
This can usually be fixed by running the launcher in a virtual desktop. This can either be achieved by ticking the corresponding option in the PlayOnLinux settings / winecfg or by using the following command line:
wine explorer /desktop=gw2,1024x768 ~/Gw2.exe
A launcher freezing the desktop can also be fixed by using the 32-bit client in a 32-bit Wine prefix. This may cause the screen to be redrawn enough in order to normally launch the game. As soon as the launcher is gone, this freezing issue is gone too.
It does not actually freeze the system but causes the desktop to no longer be redrawn. You can still launch the program (game) by entering your credentials and pressing the buttons even though you will see no visual feedback of your actions.
As mentioned above the launcher/patcher continuously crashes while downloading. The following helped me to avoid continuous restart of the launcher:
- setup virtual windows machine in Virtualbox
- install GW2 using Wine or PlayOnLinux
- create symbolic link to the installation folder in home directory (only required if the path to installation folder is not accepted by next step)
- set installation (or link) folder as shared folder with the virtual machine (requires guest additions to be installed)
- install/update GW2 in virtual machine using shared folder and enjoy playing on Linux using Wine/PlayOnLinux
If you have audio problems, do the following:
- Use the latest wine version
- Use the latest version of pulseaudio
- Test other programs and apps
If rotating the camera in the game halts when your cursor reaches the edge of the window (from the point where you started rotating) use the option MouseWarpOverride and set it to "enable".
In PlayOnLinux this option is in the Miscellaneous tab. In the Wine registry editor, you can find it at:
HKEY_CURRENT_USER\Software\Wine\DirectInput where you may need to create the string value "MouseWarpOverride" and set it to "enable".
Guild Wars 2 experiences some bugs and issues when running in Wine. They are currently best documented at Guild Wars 2's WineHQ and Crossover profiles. Some can be solved with program arguments, like the freezing during character creation or a black screen when launching the game, which can be solved with the "-dx9single" flag. Others are hardware dependent, like the NVIDIA precipitation bug. For more information on these bugs and fixes, visit one of the two profiles above.
-  Guild Wars 2 in the Wine AppDB
- Guild Wars on Wine (Guild Wars Wiki)
- PcGamingWiki article on wine with separate wine version and prefix tutorial.
- Arch Linux Wiki
- Reddit Wiki