Jump to content
  • Sign Up

Playing Guild Wars 2 on Linux - Performance optimizations and more.


Recommended Posts

4 hours ago, Mariyuuna.6508 said:

I found the Lutris-specific crash. CoherintUI requires a 32-bit ICD listed in VK_ID_FILENAMES, but Lutris only places the 64-bit ICD there (with no way to turn this off), resulting in CoherintUI having no access to Vulkan. This is because the game is now a hybrid 32/64-bit application.

 

Hotfix:

Run "ls /usr/share/vulkan/icd.d " to get the filenames;

Then add a new environment variable in Lutris to override it, it should look something like:

VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json

 

If the i686 file is missing, then you need to install the 32-bit MESA drivers. On Debian this is mesa-vulkan-drivers:i386. They will NOT automatically be brought in by 32-bit Vulkan applications, because they're drivers, not libraries, and thus aren't considered as dependancies even though they are.

 

I'll write a follow up post later with detailed fixes for all the crashes we've found so far.

 

Good job finding this.

In the past days I've done a few tests. I did a fresh install on Lutris with the no shader cache script (lutris now has DXVK 1.10.3, I manually added ge-proton 7-25) and the game stopped crashing for a while, then started again with the same error (coherent ui gpu process), I tried deleting cache files but it didn't do anything.

I also configured Windows 10 in dual boot to see if there was a difference, there isn't, game crashes on Windows too with the same Linux error, though it takes more time before it does (probably because of differences in NVIDIA proprietary drivers).

At this point I think there may be some hardware configurations at play, considering for some people it crashes on both systems while for others it works on both.

Maybe the amount of GPU memory matters? Mine is 6 GB.

Link to comment
Share on other sites

I stole this fix from a different thread, but I have gotten GW2 to run on Nvidia hardware using the lutris-fshack-2.2-x86_64 wine version. I get very poor performance for my hardware however. My crash error was a browser crash error however and not the Coherent API error, so I am uncertain if this fix also applies there.

Link to comment
Share on other sites

On 8/21/2022 at 7:38 PM, Fremder.9450 said:

It showed me that each load screen occupies around 15-20 MB of video memory. Opening the trading outpost consumes 100MB for the coherentui_host. Once, the video memory is occupied or exceeds a certain amount (something above 1.5GB with the 12GB card), the application crashes.

 

6 hours ago, Niagara.2715 said:

In the past days I've done a few tests. I did a fresh install on Lutris with the no shader cache script (lutris now has DXVK 1.10.3, I manually added ge-proton 7-25) and the game stopped crashing for a while, then started again with the same error (coherent ui gpu process), I tried deleting cache files but it didn't do anything.

I also configured Windows 10 in dual boot to see if there was a difference, there isn't, game crashes on Windows too with the same Linux error, though it takes more time before it does (probably because of differences in NVIDIA proprietary drivers).

At this point I think there may be some hardware configurations at play, considering for some people it crashes on both systems while for others it works on both.

Maybe the amount of GPU memory matters? Mine is 6 GB.

There is a problem from the category "Out of memory" for 32-bit aplications when large amounts of memory are actively allocated in a 32-bit address space. And, unfortunately, CoherentUI_Host is the 32-bit process.

You can open any process monitor manager (like htop or gnome-system-monitor) and check virtual memory usage, there will be three processes from CoherentUI_Host (performing "Host", "Renderer" and "GPU" tasks). If any of them reach more than 4GB Virtual RAM [not "Videocard RAM"] usage (for Linux. For Windows it's 2GB, but there are no "layer things" so it will work a little more stable) - the crash will happen:

Assertion: Coherent GPU process crashed
File: D:\Perforce\Live\NAEU\v2\Code\Arena\Engine\ArenaWeb\CoherentUi\AwCohContext.cpp(375)

Edited by Reactor.6975
  • Like 2
  • Thanks 1
Link to comment
Share on other sites

I have install notes for GW2 on Wine Staging: https://wiki.realmofespionage.xyz/games:wine:guild_wars_2

 

Esync was the most notable performance improvement for me.

 

Has anyone figured out a way to use a standlaone log-in with the Steam client? The Steam client forces a "-provider Steam" flag, but it seems if that flag is removed, you can use a standalone login with the Steam version (both standalone and Steam versions use the same exe)

Link to comment
Share on other sites

I am now able to enjoy GW2 at 140fps with DXVK, and dx11. 

 

after I got it working with wine-staging, I installed wine-ge-custom from the AUR.

added dx11 via winetricks

installed amd-gpu-pro drivers

installed pro vulkan drivers, including lib32 versions.

installed dxvk from repos

installed dxvk into the wine prefix

launched gw2 with the -dx11 switch

 

game launched, I can log in and play at max visuals. 🙂 I have not tested the trading post yet.

 

I also noticed last night there was an updated wine-ge-custom, have not installed it, b/c I want to enjoy playing for a bit since I've missed it for a month.

 

just wanted to pass along how I could finally get it going again, in case it may help someone else.

 

Link to comment
Share on other sites

Anyone noticed TP loads faster if GW2 is added the official way via Steam (Proton Experimental) under Linux?

If I play via PlayOnLinux (WINE-staging) or Lutris (Proton), the TP always take a lot of time loading. But when I play via Steam (official GW2, not the "add a non-steam game" option), the TP loads much faster.

What setting does Steam have that is not in non-Steam methods?

 

Link to comment
Share on other sites

59 minutes ago, YourOnlyOne.4937 said:

Anyone noticed TP loads faster if GW2 is added the official way via Steam (Proton Experimental) under Linux?

If I play via PlayOnLinux (WINE-staging) or Lutris (Proton), the TP always take a lot of time loading. But when I play via Steam (official GW2, not the "add a non-steam game" option), the TP loads much faster.

What setting does Steam have that is not in non-Steam methods?

 

 

Maybe esync?

Link to comment
Share on other sites

On 8/26/2022 at 8:15 AM, handsomedrave.2870 said:

I am now able to enjoy GW2 at 140fps with DXVK, and dx11. 

 

after I got it working with wine-staging, I installed wine-ge-custom from the AUR.

added dx11 via winetricks

installed amd-gpu-pro ddriver ?

installed pro vulkan drivers, including lib32 versions.

installed dxvk from repos

installed dxvk into the wine prefix

launched gw2 with the -dx11 switch

 

game launched, I can log in and play at max visuals. 🙂 I have not tested the trading post yet.

 

I also noticed last night there was an updated wine-ge-custom, have not installed it, b/c I want to enjoy playing for a bit since I've missed it for a month.

 

just wanted to pass along how I could finally get it going again, in case it may help someone else.

 

Hi good to hear it's working  Have you considered installing mesa instead of amd-gpu-pro drivers ?

 

Mesa is well tested in benchmarks and is faster. Free fps for you

Link to comment
Share on other sites

Currently known crashes, solutions and tweaks; quick reference.

1. The game crashes with a BGFX error.
2. The game crashes with a browser error.
3. The game crashes with a CoherentUI error - Not Lutris specific.
4. The game crashes with a CoherentUI error on Lutris.
5. The game crashes randomly after a while, but everything else works fine.
6. I can't get the game working with DXVK at all.
7. The Trading Post doesn't work properly, or is blank.
8. How do I get post-processing (like ReShade) in LInux?
9. How do I use ArcDPS in Linux?

 

1. The game crashes with a BGFX error.

You're trying to use DX11 without DXVK. Try the solutions in this post to get DXVK working or switch to DX9 with WineD3D9 mode, detailed at the end of the post.

 

2. The game crashes with a browser error.

You're running into the fullscreen bug. Either start the game with the "-windowed" command line parameter, use a Lutris fshack Wine build, or use a virtual desktop (not ideal, since it affects how input works).

 

3. The game crashes with a CoherentUI error - Not Lutris specific.

a) You need to be using at least a Protonified 7.2-2 version of Wine, or have the child window rendering patch.

b) You need to be using DXVK 1.10.1 or higher.

c) Clean out your WINEPREFIX to remove any stale DLL files that can happen both from upgrading Wine from major versions or from ugprading DXVK. Uninstall old DXVK versions before installing new ones.

(Be careful to backup your screenshots dierctory first!)

d) You can solve most dependancy problems by installing Wine64, Wine32 and DXVK from your package manager. Don't use these versions, just have them installed so they pull in the prerequisites!

e) You need to have the 32-bit Vulkan libraries and drivers installed. On some distros drivers aren't considered dependancies and not automatically installed (e.g mesa-vulkan-drivers:i386 on Debian).

 

4. The game crashes with a CoherentUI error on Lutris.

a) Run "ls /usr/share/vulkan/icd.d " to get the filenames;

b) Then add a new environment variable in Lutris to override it, it should look something like:

VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json

c) If the i686 file is missing, then you need to install the 32-bit Vulkan drivers (see above).

 

5. The game crashes randomly after a while, but everything else works fine.

Because CoherentUI_Host.exe is a 32-bit application (2-4GB memory limit), and has a known memory leak on top of that, DXVK eventually runs out of memory to map and the game crashes. You can make it take longer for this to happen by setting the following environment variable:
WINE_LARGE_ADDRESS_AWARE=1

NOTE: This requires a Protonified versiond of Wine.


You still need to restart the game occasionally, and depending on your settings this could be after anywhere from an hour to several hours of playtime.

 

Another workaround is to add "-ignorecoherentgpucrash" (without the quotes) to the command-line parameters of the game, which will allow you to keep playing after a crash.

 

6. I can't get the game working with DXVK at all.

Fall back to DX9 mode with WineD3D. This will result in terrible framerates usually.

a) Set the following environment variable:

AMD: mesa_glthread=true

NVIDIA: __GL_THREADED_OPTIMIZATIONS=1

b) Start the game with the "-dx9 -dx9single" command-line parameters.

c) Make sure you set Character Model Limit to Lowest and Character Model Quality to Low if you want it to be at all playable. Its also ideal to lower or disable reflections and shadows.


7. The Trading Post doesn't work properly, or is blank.

You need to restart the game sometimes due to a known memory leak in CoherintUI.

 

8. How do I get post-processing (like ReShade) in LInux?

a) Install vkBasalt from your package manager, or compile its yourself if not available yet.

b) Set the environment variable ENABLE_VKBASALT=1. It also has a variable for a configuration file, see the vkBasalt website for details on how to configure it properly.

c) Make sure you disable in-game antialiasing when using vkBasalt (Supersample is okay, but not FXAA, etc.).

 

9. How do I use ArcDPS in Linux?

a) Run winecfg (under Lutris, Wine menu->Open Wine console->type winecfg), then on the libraries tab add overrides for both d3d9 and d3d11.

b) Make sure to place the d3d9.dll or d3d11.dll from ArcDPS in your game directory with Gw2-64.exe. If you have both files, it'll break, so you need to switch them out accordingly.

 

Hopefully this helps anyone who still can't get the game working!

Edited by Mariyuuna.6508
  • Like 3
  • Thanks 5
Link to comment
Share on other sites

13 minutes ago, YourOnlyOne.4937 said:

Hmm… not sure. I don't have esync support on my system, doesn't it need a certain feature / kernel?

I have it enabled regardless in non-Steam setup … not sure if Steam Proton Experimental have it turned-on.

 

You're thinking FSYNC, which was also mainlined in kernel 5.16. It should always be available unless a distro specifically disables it, so turn it on for a while and see if it causes any problems.

Edited by Mariyuuna.6508
Link to comment
Share on other sites

7 hours ago, Mariyuuna.6508 said:

You're thinking FSYNC, which was also mainlined in kernel 5.16. It should always be available unless a distro specifically disables it, so turn it on for a while and see if it causes any problems.

 

That was me. I always confuse fsync and esync.

Link to comment
Share on other sites

11 hours ago, Mariyuuna.6508 said:

6. The Trading Post doesn't work properly, or is blank.

You need to restart the game sometimes due to a known memory leak in CoherintUI.

Game elements going blank, that are utilising Coherent UI, can sometimes happen to me when I interact with TP, or the Assembly Device at a Guild hall for the first time after login. That indicates Coherent UI is not only leaking memory, but also outright unstable, at least on Wine. Though I haven't experienced this for a few days now.

 

Edit:

Since I'm using Proton with a kernel that has fsync included, I tried PROTON_NO_FSYNC=1
It seems to make the Coherent UI Host leak slower, and I can play longer before the TP turns into a slideshow.

Edited by Hell Nirvana.9045
Link to comment
Share on other sites

Everything was working fine and then suddenly a week or two ago, I started running into a problem with the login screen (the one in the launcher, not the character select in the actual game) is invisible, but if I move the mouse around I can see bits and pieces of it flashing in and out of existence.  I can interact with it via the keyboard, but not with the mouse.

 

Has anyone else had a similar issue, and is there a known fix for it?

Link to comment
Share on other sites

2 hours ago, Stormy Dragon.9210 said:

Everything was working fine and then suddenly a week or two ago, I started running into a problem with the login screen (the one in the launcher, not the character select in the actual game) is invisible, but if I move the mouse around I can see bits and pieces of it flashing in and out of existence.  I can interact with it via the keyboard, but not with the mouse.

 

Has anyone else had a similar issue, and is there a known fix for it?

you should try a more recent dxvk

Link to comment
Share on other sites

8 hours ago, Stormy Dragon.9210 said:

Everything was working fine and then suddenly a week or two ago, I started running into a problem with the login screen (the one in the launcher, not the character select in the actual game) is invisible, but if I move the mouse around I can see bits and pieces of it flashing in and out of existence.  I can interact with it via the keyboard, but not with the mouse.

 

Has anyone else had a similar issue, and is there a known fix for it?

Please see my post above about the Wine and DXVK versions required to run the game now. The new launcher makes use of certain features missing in older builds.

Edited by Mariyuuna.6508
Link to comment
Share on other sites

On 8/27/2022 at 2:13 PM, Mariyuuna.6508 said:

You're thinking FSYNC, which was also mainlined in kernel 5.16. It should always be available unless a distro specifically disables it, so turn it on for a while and see if it causes any problems.

Ahh I see.

In any case, I have it enabled in Lutris (though I don't think I have kernel support for it, to my understanding, it wouldn't do anything without kernel support - I'm on Pop OS 22.04) with Wine-GE-Proton-7-26 (updated just now to 7-27) and TP load takes time. However, when I launch GW2 via Steam (as an official app) using the built-in Proton Experimental, the TP loads fast.

I'm not sure what's different via Steam and via Lutris. I can also play hours on end via Steam but I had to restart once in a while via Lutris (or PlayOnLinux). I'm just using Steam for now.

Link to comment
Share on other sites

Hello,

does anyone have an idea of what I could do about this problem:

I've been using GW2 on Steam with various proton versions, and since possible also the official steam version. Now, since using Ubuntu 22.04 the game starts heavily dropping frames and audio stuttering after playing for a few minutes, especially in group content. Audio + graphics work in any other place, so I'm aasuming it's GW2.

Regards

Edited by DoktorBaum.3017
Link to comment
Share on other sites

On 8/30/2022 at 6:40 AM, DoktorBaum.3017 said:

Hello,

does anyone have an idea of what I could do about this problem:

I've been using GW2 on Steam with various proton versions, and since possible also the official steam version. Now, since using Ubuntu 22.04 the game starts heavily dropping frames and audio stuttering after playing for a few minutes, especially in group content. Audio + graphics work in any other place, so I'm aasuming it's GW2.

Regards

Make sure first Gw2 is using your video card, if your certain that is the case next step is reducing the game graphics to the bare minimum. If graphics/audio still tank then your probably going to have to launch Steam through the Terminal by typing "steam" without quotations and check for errors through the Terminal readout.

Link to comment
Share on other sites

Hey guys, looking for some support. I installed steam via pacman and installed gw2 via steam. I set the portal option mentioned earlier and I also set up the compatibility mode. I tried both experimental and 7.x but I can't make it work. When I hit the green play button in steam, it turns blue, so steam thinks the game is running but nothing happens. After a few seconds the button changes back again. 

Anything I forgot to set up? Also, how can I debug this? Let me know if I need to provide more info.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...