Jump to content
  • Sign Up

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


Recommended Posts

I tested with my system wine install. "wine-7.12 (Staging)" from arch repository. No DXVK or other fancy stuff. Game starts, but only in DX9 mode. Trying DX11 throws another error, probably because this wine setup doesn't have all necessary ingredients.

It is "playable", as in: doesn't crash, but it isn't playable as in: I only have like 3 fps.

I haven't extensively tested the TP, but I could buy and sell a few things without issues. Well, besides all UI being terribly slow.

This discovery doesn't solve it for me, but at least it shows me that GW2 on wine isn't completely broken on my system.

 

I think I'm going to do something else for the next few hours and look if there has been major progress later. Guess no new epsiode for me today. 😞

Link to comment
Share on other sites

I was running GW2 just fine yesterday with vanilla wine-7.12 and dxvk-1.10.1

 

Today after the update i got the crash too. Updating dxvk to 1.10.2 and wine to 7.13 did not help.

 

After uninstalling dxvk i am able to run GW2 (with dx9), but with low FPS. Seems like this coherentui "update" was a major downgrade for linux users.

Link to comment
Share on other sites

Weird. I made a new folder for the executable, added it as a non-Steam game, set GE-Proton7-25 as the Proton version. But the launcher refuses to boot. It gets stuck at trying to boot up...

Last I remember, the executable fetches the rest of the files required by the game. Even tried copying the game content and folders over, but nothing changed.

 

Edit: It seems the process of building the prefix doesn't even start...

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

On 7/19/2022 at 9:21 PM, ArmoredVehicle.2849 said:

To ANet devs: If you're reading this, it would help us Linux users a huge deal if you revert the CoherentUI update.

@ArmoredVehicle.2849I did some tests. After the GW2 update playing through dxvk requires Vulkan child window rendering:

https://bugs.winehq.org/show_bug.cgi?id=45277

Patches can be found in the Valve repository:
https://github.com/ValveSoftware/wine/commits/f06b97c57d0abd9ab25289d3ccce12737beef51a
7 patches total ("winex11.drv: Remove unused X11DRV_GET_DRAWABLE ExtEscape code" optional)

Rebased versions can be found in the Frogging-Family repository:
https://github.com/Frogging-Family/wine-tkg-git/tree/master/wine-tkg-git/wine-tkg-patches/misc/childwindow

This patchset is not in "vanilla" Wine or Wine-Staging, but builds of Proton, Lutris, GE contain it
(after changing build versions, it may be necessary to create a new prefix).

Edited by Reactor.6975
fix typo
Link to comment
Share on other sites

1 hour ago, zistenz.1945 said:

Confirmed, it works: add gw2.exe as non-steam game and run with Proton GE 7.25,. (But it resets all the settings.)

I did my three PvE dailies, played around, made a small gathering run, browsed the TP, etc., everything worked fine.

Link to comment
Share on other sites

1 hour ago, zistenz.1945 said:

Confirmed, it works: add gw2.exe as non-steam game and run with Proton GE 7.25,. (But it resets all the settings.)

Did you take any other steps besides adding the game and choosing the Proton version? I'm trying to use the same version, but Steam doesn't even begin building the prefix for some reason.

Link to comment
Share on other sites

18 minutes ago, Hell Nirvana.9045 said:

Did you take any other steps besides adding the game and choosing the Proton version? I'm trying to use the same version, but Steam doesn't even begin building the prefix for some reason.

Nothing, just added the exe and selected the Proton compat tool.

Edit: It was the same exe that worked until yesterday with the provided, pre-packaged prefix in ArmoredVehicle's latest Nvidia package.

Edited by zistenz.1945
Link to comment
Share on other sites

35 minutes ago, Kelytha.6832 said:

I've tried cycling through multiple Proton versions... stable, experimental, and several GE releases. But the launcher keeps crashing with all of them.

 

Maybe AMDGPU users are hit worse by this issue?

I had the same problem, and couldn't get any configuration to work. Disabling DXVK at least allows the game to patch, and using dxvk-async allows it to run albeit very buggy with the TP and such.

 

I'm on the standard AMDGPU driver, not the pro version.

 

From what I can tell there's some kind of issue with threading and/or shared memory. I don't know if the bug is in Wine, DXVK or CoherintUI, as its very random in nature and is difficult to track down without having access to the source code of the relevant file.

 

What works for some users doesn't work for the rest of them, and there's no solid configuration that works for everyone yet from what I've seen.

 

Things that help:

- Using the Proton versions of Wine.

- Using DXVK 1.10.2, preferably dxvk-async specifically (might be default for some already).

- Disabling DXVK entirely.

 

EDIT: I can confirm that disabling DXVK and using WineD3D in forced DX9 mode works fine, although of course there's no framerate whatsoever (20 FPS max on medium settings).

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

1 hour ago, zistenz.1945 said:

Nothing, just added the exe and selected the Proton compat tool.

Edit: It was the same exe that worked until yesterday with the provided, pre-packaged prefix in ArmoredVehicle's latest Nvidia package.

So I'm doing exactly what you did, yet my Steam client struggles with the exe.

 

For whatever reason, Steam is trying to load something from the depots 🥴
 

Quote

(steam:8281): Gtk-WARNING **: 22:50:13.017: gtk_disable_setlocale() must be called before gtk_init()
CAPIJobRequestUserStats - Server response failed 2
GameAction [AppID 3631299310, ActionID 1] : LaunchApp changed task to DownloadingDepots with ""
GameAction [AppID 3631299310, ActionID 1] : LaunchApp changed task to DownloadingDepots with ""

 

 

Edit: I had to untick "Enable Steam Play for all other titles" and now GW2 launcher works. Even though I had select a specific version specifically for GW2!

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

10 minutes ago, ArmoredVehicle.2849 said:

 

Did you use a pre-compiled build of fshack-7.2 or ready made one?

 

It was the pre-complied one available to download in lutris version 0.5.10.1

 

Edited by Umiz.5786
Link to comment
Share on other sites

8 minutes ago, Umiz.5786 said:

It was the pre-complied one available to download in lutris version 0.5.10.1

 

 

I've tried to compile it from source and it did not work, which leads me to believe it's most likely a dependency issue somewhere.

 

Could anyone who hasn't yet managed to run the game post your terminal output please?

 

 

Link to comment
Share on other sites

1 hour ago, ArmoredVehicle.2849 said:

Could anyone who hasn't yet managed to run the game post your terminal output please?

 

This is what I get from running in terminal (Lutris): https://pastebin.com/JyCiPGRx

Edit: if it can help, this is what I get by manually launching GW2 with system wine (WINEPREFIX=/home/niagara/Games/guild-wars-2 wine ./Gw2-64.exe): https://pastebin.com/AQQqrTVZ

I tried all suggestions both here and on reddit (different wine versions, disabling dxvk, using steam) but nothing worked for me.

Edit2: my graphic card:  NVIDIA GeForce GTX TITAN, Driver: 470.129.6

Edited by Niagara.2715
Link to comment
Share on other sites

I'm running a Lutris install on Manjaro. GW2 was working earlier today. Stopped this evening. 

 

I just did a big update of Manjaro and switched the Wine version to lutris-fshack-7.2-x86_64 and it started working. DXVK v1.10.2.

 

(Was using lutris-GE-proton7-1-x86_64.)

 

ETA: NVidia 515.57

Edited by Muhgi.2715
Add graphics driver
Link to comment
Share on other sites

I am using the intel legacy version and same story. I receive an error and to report it.

I also tried the other solutions (i.e. changing the runner version) and I managed to get the game running, albeit with ~8FPS. The legacy version worked perfectly on the other hand.

As for graphics card, I’m using Intel HD Graphics 5500.

 

1 hour ago, ArmoredVehicle.2849 said:

 

I've tried to compile it from source and it did not work, which leads me to believe it's most likely a dependency issue somewhere.

 

Could anyone who hasn't yet managed to run the game post your terminal output please?

 

 

 

Thanks for taking your time! This is what I get after running debug.sh:

 

Quote

esync: up and running.
002c:fixme:winediag:LdrInitializeThunk wine-staging 6.10 is a testing version containing experimental patches.
002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
002c:err:wineboot:process_run_key Error running cmd L"C:\\windows\\system32\\winemenubuilder.exe -a -r" (126).
0054:fixme:virtual:NtQueryVirtualMemory (0xffffffffffffffff,0x229880000,info_class=1000,0x229887008,8,(nil)) Unknown information class
0054:err:ntoskrnl:ZwLoadDriver failed to create driver L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\nsiproxy": c0000003
003c:fixme:service:scmdatabase_autostart_services Auto-start service L"nsiproxy" failed to start: 87
ATTENTION: default value of option mesa_glthread overridden by environment.
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

0108:err:winediag:check_version ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
0108:err:ntlm:ntlm_LsaApInitializePackage no NTLM support, expect problems
0108:fixme:heap:RtlSetHeapInformation 0000000000120000 0 000000000011FD60 4 stub
0108:fixme:heap:RtlSetHeapInformation 00000000013B0000 0 000000000011FD40 4 stub
0108:fixme:heap:RtlSetHeapInformation 00000000013B0000 1 0000000000000000 0 stub
0108:fixme:keyboard:LoadKeyboardLayoutW name L"00000409", flags 0, semi-stub!
010c:fixme:kernelbase:AppPolicyGetThreadInitializationType FFFFFFFFFFFFFFFA, 00000000020AFE10
0114:fixme:kernelbase:AppPolicyGetThreadInitializationType FFFFFFFFFFFFFFFA, 00000000022DFE10
0110:fixme:kernelbase:AppPolicyGetThreadInitializationType FFFFFFFFFFFFFFFA, 00000000021CFE10
0108:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
ATTENTION: default value of option mesa_glthread overridden by environment.
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

0108:err:winediag:wined3d_dll_init Setting multithreaded command stream to 0.
ATTENTION: default value of option mesa_glthread overridden by environment.
0108:fixme:gameux:GameExplorerImpl_VerifyAccess (0000000001C6D9D0, L"C:\\GW2\\GW2.exe", 000000000011F430)
013c:fixme:msctf:ThreadMgr_ActivateEx Unimplemented flags 0x4
013c:fixme:crypt:ProvStore_release Unimplemented flags 2
013c:fixme:ver:GetCurrentPackageId (000000000362DAB0 0000000000000000): stub
0158:err:winediag:check_version ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
0158:err:ntlm:ntlm_LsaApInitializePackage no NTLM support, expect problems
0158:fixme:ver:GetCurrentPackageId (02BAFA48 00000000): stub
0158:fixme:heap:RtlSetHeapInformation 00000000 1 00000000 0 stub
0158:fixme:nls:RtlGetThreadPreferredUILanguages 00000038, 02BAF814, 00000000 02BAF818
0158:fixme:nls:get_dummy_preferred_ui_language (0x38 02BAF814 00000000 02BAF818) returning a dummy value (current locale)
0158:fixme:nls:RtlGetThreadPreferredUILanguages 00000038, 02BAF814, 03DDAC10 02BAF818
0158:fixme:nls:get_dummy_preferred_ui_language (0x38 02BAF814 03DDAC10 02BAF818) returning a dummy value (current locale)
0158:fixme:winsock:WSALookupServiceBeginW (0x2baf6e8 0x00000ff0 0x2baf724) Stub!
0158:fixme:iphlpapi:NotifyAddrChange (Handle 0x2baf850, overlapped 0x3de6f2c): stub
0158:fixme:service:I_ScRegisterDeviceNotification Notification filters are not yet implemented.
0158:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
01a0:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {00000000-0000-0000-0000-000000000000}
01b8:err:winediag:check_version ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
01b8:err:ntlm:ntlm_LsaApInitializePackage no NTLM support, expect problems
01b8:fixme:heap:RtlSetHeapInformation 00000000 1 00000000 0 stub
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

ATTENTION: default value of option mesa_glthread overridden by environment.
01b8:fixme:vulkan:X11DRV_vkCreateWin32SurfaceKHR Application requires child window rendering, which is not implemented yet!
01b8:fixme:vulkan:X11DRV_vkCreateWin32SurfaceKHR Application requires child window rendering, which is not implemented yet!
ATTENTION: default value of option mesa_glthread overridden by environment.
021c:err:winediag:check_version ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
021c:err:ntlm:ntlm_LsaApInitializePackage no NTLM support, expect problems
021c:fixme:heap:RtlSetHeapInformation 00000000 1 00000000 0 stub
021c:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {00000000-0000-0000-0000-000000000000}
01c4:fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported constant (parameter) "pEncodePara" in function
01c4:fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported constant (parameter) "dwFlags" in function
021c:fixme:gdi:GdiInitializeLanguagePack stub
021c:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0240:fixme:ver:GetCurrentPackageId (05A5FF20 00000000): stub
0254:err:winediag:check_version ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
0254:err:ntlm:ntlm_LsaApInitializePackage no NTLM support, expect problems
0254:fixme:heap:RtlSetHeapInformation 00000000 1 00000000 0 stub
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

ATTENTION: default value of option mesa_glthread overridden by environment.
0254:fixme:vulkan:X11DRV_vkCreateWin32SurfaceKHR Application requires child window rendering, which is not implemented yet!
0254:fixme:vulkan:X11DRV_vkCreateWin32SurfaceKHR Application requires child window rendering, which is not implemented yet!
ATTENTION: default value of option mesa_glthread overridden by environment.
0258:fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported constant (parameter) "pEncodePara" in function
0258:fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported constant (parameter) "dwFlags" in function
02a0:err:winediag:check_version ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
02a0:err:ntlm:ntlm_LsaApInitializePackage no NTLM support, expect problems
02a0:fixme:heap:RtlSetHeapInformation 00000000 1 00000000 0 stub
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

ATTENTION: default value of option mesa_glthread overridden by environment.
02a0:fixme:vulkan:X11DRV_vkCreateWin32SurfaceKHR Application requires child window rendering, which is not implemented yet!
02a0:fixme:vulkan:X11DRV_vkCreateWin32SurfaceKHR Application requires child window rendering, which is not implemented yet!
ATTENTION: default value of option mesa_glthread overridden by environment.
02a4:fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported constant (parameter) "pEncodePara" in function
02a4:fixme:dbghelp_dwarf:dwarf2_parse_variable Unsupported constant (parameter) "dwFlags" in function

 

 

Edited by Stalkingwolf.6179
Added graphics card info.
Link to comment
Share on other sites

Players keep posting that its working for them but you aren't saying what video card you're using. The combinations being stated as working aren't working for some players and I can imagine the main difference is NVIDIA vs AMD, although we have no way to confirm this without you providing more information.

 

The reason why this is important is if you scroll down in the crash dialog that pops up and shows more information, you'll see the content for the crash is GpuProcessCrashed.

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

Proton 7-03, GE-Proton 7-25 both work for me.

wine-staging 7.3 with dxvk 1.10.1 and dxvk 1.10.2 do not. 

 

GPU: Nvidia 1050ti, nvidia 515.57

kernel: 5.18.12, preempt_dynamic (full)

AMD Ryzen 5 1600

Slackware-current, glibc 2.35

 

It would be interesting to see a cross-section of specs from people who're having the crashes in WvW...

Link to comment
Share on other sites

Quote

I see that the guild wars 2 launcher and game now needs shared resources in the new update. So I'm guessing people will need to use 7.2-2 anyhow from now on.
Or other wines which support that

 

From the DXVK issue mentioned earlier. But since you guys tried several combinations there must be something else causing this behavior.

 

https://github.com/doitsujin/dxvk/issues/2729

Link to comment
Share on other sites

1 hour ago, Mariyuuna.6508 said:

The reason why this is important is if you scroll down in the crash dialog that pops up and shows more information, you'll see the content for the crash is GpuProcessCrashed.

Mine did not say that. 

 

Assertion: Launcher: Browser crashed 
File: D:\Perforce\Live\NAEU\v2\Code\Gw2\Game\Launcher\LauncherCoherent.cpp(25

...

..

*--> Error Logs <--*
23:56:31Z Browser view crashed
Crashed at 23:56:31Z
 

Link to comment
Share on other sites

22 minutes ago, Muhgi.2715 said:

Mine did not say that. 

 

Assertion: Launcher: Browser crashed 
File: D:\Perforce\Live\NAEU\v2\Code\Gw2\Game\Launcher\LauncherCoherent.cpp(25

...

..

*--> Error Logs <--*
23:56:31Z Browser view crashed
Crashed at 23:56:31Z
 

This is different from the crash that alot of us were getting here and on Reddit which says:

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

Edited by Mariyuuna.6508
  • Sad 1
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...