Guild Wars on Linux

Saturday, May 23. 2009

Guild Wars on Linux

Because I'm currently playing Guild Wars pretty often and I was too lazy to switch between Windows and Linux when I switched between playing and working I installed lots of development software on Windows so I can work there, too. But after Windows crashed and shredded some of my source files while doing this I decided to ditch Windows completely. So I installed Guild Wars on Linux (using Wine) and after some configuration changes it works well enough. It never runs as fast as on Windows but it is fully playable.

I'm currently using Ubuntu 9.04 on a system equipped with an Nvidia GeForce 8800 GTX with 768 MB RAM. I simply installed the wine package which comes with this Linux distribution. Then I downloaded the Guild Wars Installer from the Guild Wars website and started it. Per default double-clicking an EXE file resulted in starting the Archive Manager (To support Self-extracting Windows archives, I think). To change this, right-click the EXE file, select the Open With tab and select Wine Windows Program Loader.

Now double-clicking the GwSetup.exe correctly starts it with Wine. The installer runs without any problems. When it started downloading files I closed the program because I already had all files on the Windows partition. I simply copied them into ~/.wine/drive_c/Program Files/Guild Wars/.

The installer places a Guild Wars.desktop file on the Desktop. It looks like a security feature that this starter icon is not active per default. If you double-click then you must first confirm that you trust this starter. After doing this the starter now appears correctly on the screen and you can double-click it to start Guild Wars.

With the default Wine settings the game was not running smoothly. The solution was to disable the use of GLSL with the following registry key: HKEY_CURRENT_USER/Software/Wine/Direct3D/UseGLSL="disabled".

Another problem was that the game did not allow enabling anti-aliasing and the game looks pretty ugly without anti-aliasing. Solution was to setup anti-aliasing with the nvidia-settings program (ATI users may have a similiar tool on Linux, don't know). Simply activate anti-aliasing by choosing Override Application Settings and select the anti-aliasing level you want. I chose 4x (4xMS) which looks good enough and is still fast enough.

But there were more problems:

  • When clicking the right mouse button while holding the Alt key a popup menu from the window manager appeared.
  • The game crashed sometimes during startup. I think this is because of OpenGL conflicts when the window manager opens the game window (with a nice 3D effect)
  • The keyboard mapping is wrong (I have a German keyboard layout)

I solved all these problems by starting the game with a little shell script which starts a wine application in a separate X Screen without any window manager and with a US keyboard layout. Put the file into /usr/local/bin and then change the exec line in the application launcher into this:

/usr/local/bin/runwinegame "C:\\Program Files\\Guild Wars\\Gw.exe"

If no new X Screen is opened then you probably don't have the permission to start a new screen. To get access switch to the root user and edit the file /etc/X11/Xwrapper.config. Set the allowed_users key to the value anybody. Now Guild Wars should start fine in a separate X Screen. The game runs with 30-40 FPS on my system with full graphic details. As I said: Not as fast as on Windows but playable.

Posted in Gaming, Linux | Comments (0)

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.