Hello Linux Gamers,
This package aims to provide an easy way to play Guild Wars 2 on Linux without having you jump through hoops. It's completely portable and it comes with many performance tweaks ready for use.
This version of Wine has been built from the using a Debian 9 base package and has also been tested to work on Ubuntu 16.04 (and derivatives such as Mint) as well as Ubuntu 18.04, it may also work on other distros. Please be aware that this package doesn't come with any libraries and it may require you to install several libraries (most commonly 32bit ones) so if you're trying to launch the game and it's crashing please run the game in a terminal by using the 'debug.sh' file and post the log in this thread.
Setting up is straightforward:
- Unzip the package to your desired folder
- In a terminal window run "./setup.sh" (it has easy built in guides)**
- When setup is done, run the "play.sh" file and you're done
**If you're already playing Guild Wars 2 on Linux, let the setup finish normally, at the end there's a guide explaining how to move your existing client into the new version.
Below I've uploaded a picture with settings for a good balance between good performance and visuals, you could use this as a base and tweak to your heart's content:
4th June 2018 Update - (Version 1.1)
- Now using Wine Staging 3.7 + PBA patches (first release was based on 2.21 Staging)
- For Nvidia users, the setup script will now create a folder in "/home/your_user/.local/share/gw2_cache" to save shader cache exclusively for GW2. As I explained a few days ago, this is much better than using the shared cache folder which is used by all games.
- 2nd Tweak for Nvidia users - Nvidia is working on a new Shader Compiler in their new drivers which currently causes some issues with a few games, for safety and stability I've set GW2 to always use the old one.
28th June 2018 Update - (Version 1.2)
- New separate package for Intel/AMD users. I'm providing 2 packages so it's a little easier to get up and running regardless of which GPU you're using.
- GLSL enabled by default for Intel/AMD users. If you're running any of these 2 GPU types you no longer have to fiddle with the Wine registry to re-enable it.
- On-Disk Shader Cache always enabled for Intel users running Mesa 18.0. By default this feature is disabled in Mesa 18.0, I've set the GW2 launch script to always override the setting and enable it for this game.
- A new "debug mode" launcher. By default the game (and Wine) will not output any errors in terminal, this is done to avoid any performance loss due to the amount of text printed. However should the game refuse to run (typically due to missing libraries), now you can run the provided "debug.sh" file (in terminal) which will output all errors and makes it easier to identify the cause.
14th September 2018 Update - (Version 1.3)
- Wine is now at v3.15 and makes use of the 'esync' features for improved performance. (Thanks goes to xylef.8307 for sharing the information.)
- Reorganized some of the launch script contents for easier understanding.
- Modifying the Wine Registry settings can now be done by launching the 'wine_regedit.sh' file.
- The game's '-maploadinfo' launch parameter is now enabled by default.
- Added a switch to enable 'mesa_glthread' (Threaded OpenGL) for Intel/AMD Mesa users, this option can be found in the "bin/user_run" file, remove the # symbol to enable it. I haven't tested this feature much but it may improve performance for some.
13th October 2018 Update - (Version 1.4)
- Removed the "include" folder which contained Wine files for development purposes, has no effect with how Wine works or the game itself. They were just sitting there taking 32MB of HDD space.
- For Intel/AMD users, the "mesa_glthread" environment variable is now enabled by default.
- Added Core Fonts: From what I noticed both the Launcher and Trading Post make use of these, they should provide better out of the box support and compatibility across distros.
- Intel/AMD Package: - MD5 Checksum: 721a31fc286ad08da830cb745aa19ecf
- Nvidia Package: - MD5 Checksum: 0894afa32a010b020d3679715b6cdbc5
When using v1.3 (or newer), if the game is crashing right after character select, chances are that your system's maximum open file limit is too low. In order to fix this, open "/etc/security/limits.conf" in a text editor (must be ran as sudo) and the edit the hard + soft lines as shown in the pic below:
When you're done save the file and reboot your system.
Alternative solution - If the above doesn't work, don't revert those changes, instead try this:
- (with sudo) Open up '/etc/systemd/system.conf' and '/etc/systemd/user.conf' in a text editor.
- Find the line named #DefaultLimitNOFILE= and change it to DefaultLimitNOFILE=1048576 (Both files have this entry).
To verify if your changes have been applied successfully in terminal run ulimit -Hn and ulimit -Sn if they both print '1048576' then you should be good to go.
Depending on the configuration of some distros, solution 2 may take precedence over the settings from solution 1.