Jump to content
  • Sign Up

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


Recommended Posts

On 9/11/2021 at 1:51 PM, Samurro.1463 said:

Anybody noticed very dark character graphics?

https://imgur.com/a/KYQpJWI
Regardless of graphic settings it seems models have like zero lightning?

 

Not sure about characters, but, personally, my environment has become somewhat "darker" after some last update(not sure witch one), - it is especially noticeable in the caves and other places with low lighting

 

Link to comment
Share on other sites

On 9/13/2021 at 1:47 AM, Nortes.5692 said:

Not sure about characters, but, personally, my environment has become somewhat "darker" after some last update(not sure witch one), - it is especially noticeable in the caves and other places with low lighting

 

This is the same in Windows 10 actually, at least on my end. It started with the First EoD Elite Spec Beta.

On my end, I have to enter Full Screen mode so I can use the Gamma setting in the game settings. If I stay on Windows-mode Maximize, the Gamma setting is not usable and relies on the OS display settings.

Edited by Shael.4703
Link to comment
Share on other sites

I thought things seemed more contrasty than usual lately. The Deepstone fractal boss fight is kind of awful, but I just got into fractals recently so I never saw what it was like before. Hopefully it's just temporary, I wonder if it's maybe a bug with a shader that's been modified as part of the upcoming DX11 upgrade or something.

Edited by JaneCV.9267
Link to comment
Share on other sites

New package update 🙂

 

Changelog:

- DXVK updated to 1.9.2-async

- For AMD/Intel users running Mesa 21.1.0 or newer, the game will now make use of the new single-file shader cache feature. As opposed to the default shader cache method which creates thousands of files per game, this creates just 3 files per game/application. For non-SSD users this might help reduce stutter.

 

 

Edited by ArmoredVehicle.2849
  • Like 2
  • Thanks 1
Link to comment
Share on other sites

The game crashes on the character selection screen or right after the first mapload. Using "-dx9" in the script is works as usual.

I tried "-dx11" too and it works, but the game became slightly transparent even in full screen mode and keyboard doesn't work. (Arch/XFCE4, NVidia GTX 1660 Ti)

I'll try and test other options tomorrow too.

Link to comment
Share on other sites

On 9/20/2021 at 11:18 AM, ArmoredVehicle.2849 said:

New package update 🙂

 

Changelog:

- DXVK updated to 1.9.2-async

- For AMD/Intel users running Mesa 21.1.0 or newer, the game will now make use of the new single-file shader cache feature. As opposed to the default shader cache method which creates thousands of files per game, this creates just 3 files per game/application. For non-SSD users this might help reduce stutter.

 

 

I'm having problems getting this working. The previous version works fine but the new one doesn't and debug.sh spits this out:

 

Quote

esync: up and running.
wine: could not open working directory L"C:\\windows\\system32\\", starting in the Windows directory.
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:main Cannot set the dir to L"C:\\windows" (2)
002c:err:wineboot:process_run_key Error running cmd L"C:\\windows\\system32\\winemenubuilder.exe -a -r" (2).
wine: could not open working directory L"C:\\windows\\system32\\", starting in the Windows directory.
0034:fixme:service:scmdatabase_autostart_services Auto-start service L"MountMgr" failed to start: 2
0034:fixme:service:scmdatabase_autostart_services Auto-start service L"NDIS" failed to start: 2
0034:fixme:service:scmdatabase_autostart_services Auto-start service L"PlugPlay" failed to start: 2
0034:fixme:service:scmdatabase_autostart_services Auto-start service L"winebus" failed to start: 2
0034:fixme:service:scmdatabase_autostart_services Auto-start service L"wineusb" failed to start: 2
0034:fixme:service:scmdatabase_autostart_services Auto-start service L"Eventlog" failed to start: 2
002c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
002c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
002c:err:shell:SHGetFolderPathAndSubDirW Failed to create directory L"C:\\users\\jane\\AppData\\Roaming".
002c:err:shell:SHGetFolderPathAndSubDirW Failed to create directory L"C:\\users\\jane".
002c:err:shell:SHGetFolderPathAndSubDirW Failed to create directory L"C:\\users\\jane\\AppData\\Local".
002c:err:shell:SHGetFolderPathAndSubDirW Failed to create directory L"C:\\users\\jane\\AppData\\Local\\Microsoft\\W
indows\\INetCache".
002c:err:wininet:cache_containers_init Couldn't get path for default container 0
002c:err:shell:SHGetFolderPathAndSubDirW Failed to create directory L"C:\\users\\jane\\AppData\\Local\\Microsoft\\W
indows\\History".
002c:err:wininet:cache_containers_init Couldn't get path for default container 1
002c:err:shell:SHGetFolderPathAndSubDirW Failed to create directory L"C:\\users\\jane\\AppData\\Local\\Microsoft\\W
indows\\INetCookies".
002c:err:wininet:cache_containers_init Couldn't get path for default container 2
wine: could not load kernel32.dll, status c0000135

 

Just doing a clean install of it, not trying to overwrite my old installation or anything. Went through the exact same steps again with a clean 2.3.1 install and it worked just fine.

 

Link to comment
Share on other sites

 

1 hour ago, JaneCV.9267 said:

I'm having problems getting this working. The previous version works fine but the new one doesn't and debug.sh spits this out:

 

 

Just doing a clean install of it, not trying to overwrite my old installation or anything. Went through the exact same steps again with a clean 2.3.1 install and it worked just fine.

 

Thanks for the report, this was an oops on my part during packaging.

Re-uploaded packages with fix. Should work fine now 🙂

-------------------

Also: Testing out the DX11 renderer, so far seems to work fine with dxvk.

Edited by ArmoredVehicle.2849
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

DX11 is also working fine here.

I am a bit puzzled why I'm not noticing any difference in FPS anywhere, from empty areas to combat. It's not higher or lower than before, and I still have the stutters when new pipelines are started (even with DXVK-async). It's like nothing has changed. Also tried it with a new prefix, both with and without DXVK-async, but FPS is the same. I don't think it's my CPU that's holding things back because empty areas also didn't change.

Specs: Ryzen 5 1600, GTX 1080 Ti, nVidia drivers 470.63.01, Wine 6.11

I'm glad it's working without problems at least. I was a bit afraid we would have to beg the Wine project to fix things before the DX9 client is retired 😛

Edited by Terr.4758
Link to comment
Share on other sites

2.3.2 works fine now, thanks!

 

On my Ryzen 3600 / GTX 1060 6GB...

I've been dual booting lately for GW2 because d912pxy was such a framerate boost it was worth the extra trouble. The two areas I try to benchmark when I'm messing around are a point in LA near the Trader's Forum WP overlooking the fountains and facing south, and the ledge at Shipwreck Point looking out over Verdant Brink. I use the "best appearance" preset, reflections on terrain & sky, with medium/medium for characters. Unfortunately, it's hard to get reliably consistent results because the framerate can change a lot depending on how many people are nearby and what retina-scorching cosmetics they have on, but generally on DX11 I'm looking at 50-60 FPS at my spot in LA, and 60-70 FPS at the VB ledge on Windows 10. Using ArmoredVehicle's 2.3.2 package and DX11 on Kubuntu 21.04 I'm getting around 45-55 in LA and 50-55 in VB.

 

At least for me, WINE and DXVK still runs noticeably worse than natively on Windows 10, but this is a substantial improvement over the last time I really tried to compare a few months ago, where I was seeing 40 FPS or so on the VB ledge in WINE and 60-70 with d912pxy. How much of that is DX11 and how much of that is just ArmoredVehicle's hard work? I couldn't say.

  • Thanks 1
Link to comment
Share on other sites

On gentoo with wine staging 6.17, i7-770k, gtx-1060 and dxvk 1.9.1. For me both dxvk and esync were worth setting up.

 

I found with esync disabled dx11 gives me higher fps than dx9. I am not seeing much difference in fps between dx9 and dx11 with esync enabled. Both dx9 & 11 give me higher fps with esync. My final set up is dxvk 1.9.1, dx11, esync.  So far so good.

Edited by Keyur.2587
Link to comment
Share on other sites

19 hours ago, JaneCV.9267 said:

2.3.2 works fine now, thanks!

 

On my Ryzen 3600 / GTX 1060 6GB...

I've been dual booting lately for GW2 because d912pxy was such a framerate boost it was worth the extra trouble. The two areas I try to benchmark when I'm messing around are a point in LA near the Trader's Forum WP overlooking the fountains and facing south, and the ledge at Shipwreck Point looking out over Verdant Brink. I use the "best appearance" preset, reflections on terrain & sky, with medium/medium for characters. Unfortunately, it's hard to get reliably consistent results because the framerate can change a lot depending on how many people are nearby and what retina-scorching cosmetics they have on, but generally on DX11 I'm looking at 50-60 FPS at my spot in LA, and 60-70 FPS at the VB ledge on Windows 10. Using ArmoredVehicle's 2.3.2 package and DX11 on Kubuntu 21.04 I'm getting around 45-55 in LA and 50-55 in VB.

 

At least for me, WINE and DXVK still runs noticeably worse than natively on Windows 10, but this is a substantial improvement over the last time I really tried to compare a few months ago, where I was seeing 40 FPS or so on the VB ledge in WINE and 60-70 with d912pxy. How much of that is DX11 and how much of that is just ArmoredVehicle's hard work? I couldn't say.

 

Those are interesting results, I wonder how does the game perform without d912pxy vs the current state of Linux, however those numbers are still closer to Windows than I thought.  I occasionally play the game on an old laptop i3-5005U CPU and Intel HD graphics and it's quite playable with a few graphics options lowered (not totally potato mode).
 

As far as performance optimizations go, so far I've implemented all possible switches I could think of.  However I'm looking forward to see what the futex2 Kernel feature will bring in a few months (this will hopefully replace esync and perform better). 🙂

  • Like 1
Link to comment
Share on other sites

Oh, those Windows numbers I gave are plain DX11 on Windows vs. DX11 on your 2.3.2 setup, I removed d912pxy and all addons for the beta. My GPU usage does generally seem to be higher on Windows which I take to mean that the CPU bottleneck is more pronounced on Linux, which I suppose makes sense since WINE will naturally incur a performance penalty translating some calls. There's a lot more performance being left on the table just by the game's poor optimization than anything else though, which is why I'm sitting here with 50 FPS at 35% CPU (2/6 cores) and 45% GPU usage, haha.

Link to comment
Share on other sites

On 9/21/2021 at 11:04 PM, Terr.4758 said:

[...]

 

It's a few days later now and while I still don't think my FPS is higher, I think the stuttering when loading into a busy map and looking around is a lot less than with DX9.  I did have two crashes in a row during the Seneb bounty in Sandswept Isles with DX11, so I quickly switched to DX9 and that's when the stuttering was really noticeable.

Maybe it was the patch from yesterday that changed things (I didn't see if there was a patch today [edit: a new build just became available]) or maybe I didn't notice it before, but I think the game is more pleasant to play now.

Edited by Terr.4758
Link to comment
Share on other sites

11 hours ago, Terr.4758 said:

 

It's a few days later now and while I still don't think my FPS is higher, I think the stuttering when loading into a busy map and looking around is a lot less than with DX9.

before, with v-sync turned off, the stuttering was a big pain and the fps jumped around like crazy. with vsync a lot of frames are lost, but the stuttering was ok. I have the same, smooth experience now with dx11 on and vsync off. fps are a little bit higher overall, but not much - I guess dx11 can only do so much. BUT it was worth it.

 

also new 2.3.2 package works fine (manjaro stable)

Link to comment
Share on other sites

Installed the new package, got on the dx11 beta and I gotta report around the same FPS, maybe a little higher, but a lot less FPS drops which results in a buttery smooth game for me, even in areas with a lot of players (Palawadan for me). The only thing I've noticed is some floor textures going black, like the Astralarium floors.

Unrelated to dx11, does anyone else have the bug report feature fail to take screenshots?

Link to comment
Share on other sites

Anybody else failing to use the new Arcdps with dx11? Installing it both as dxgi or d3d11 results on the character selection screen loading then everything turning pitch black after 3 seconds. I can still see the mouse and click/hear the game on the background but the game is completely black.

 

Works perfectly fine without arcdps. I even have gshade running on dx11.

Link to comment
Share on other sites

Hey, I also have problem mentioned before, i used 2.3.2 nvidia package:
 

Quote

esync: up and running.
wine: could not open working directory L"C:\\windows\\system32\\", starting in the Windows directory.
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:main Cannot set the dir to L"C:\\windows" (2)
002c:err:wineboot:process_run_key Error running cmd L"C:\\windows\\system32\\winemenubuilder.exe -a -r" (2).
wine: could not open working directory L"C:\\windows\\system32\\", starting in the Windows directory.
0034:fixme:service:scmdatabase_autostart_services Auto-start service L"MountMgr" failed to start: 2
0034:fixme:service:scmdatabase_autostart_services Auto-start service L"NDIS" failed to start: 2
0034:fixme:service:scmdatabase_autostart_services Auto-start service L"PlugPlay" failed to start: 2
0034:fixme:service:scmdatabase_autostart_services Auto-start service L"winebus" failed to start: 2
0034:fixme:service:scmdatabase_autostart_services Auto-start service L"wineusb" failed to start: 2
0034:fixme:service:scmdatabase_autostart_services Auto-start service L"Eventlog" failed to start: 2
002c:err:shell:SHGetFolderPathAndSubDirW Failed to create directory L"C:\\users\\elim\\AppData\\Roaming".
002c:err:shell:SHGetFolderPathAndSubDirW Failed to create directory L"C:\\users\\elim".
002c:err:shell:SHGetFolderPathAndSubDirW Failed to create directory L"C:\\users\\elim\\AppData\\Local".
002c:err:shell:SHGetFolderPathAndSubDirW Failed to create directory L"C:\\users\\elim\\AppData\\Local\\Microsoft\\Windows\\INetCache".
002c:err:wininet:cache_containers_init Couldn't get path for default container 0
002c:err:shell:SHGetFolderPathAndSubDirW Failed to create directory L"C:\\users\\elim\\AppData\\Local\\Microsoft\\Windows\\History".
002c:err:wininet:cache_containers_init Couldn't get path for default container 1
002c:err:shell:SHGetFolderPathAndSubDirW Failed to create directory L"C:\\users\\elim\\AppData\\Local\\Microsoft\\Windows\\INetCookies".
002c:err:wininet:cache_containers_init Couldn't get path for default container 2
wine: could not load kernel32.dll, status c0000135

 

EDIT:
I fixed the issue by reformatting the drive from ntfs to ext4.

Edited by EvilBanana.9645
Link to comment
Share on other sites

Hi,

 

Beta update made things go bad for me. After loading the character menu, frames dropping to 3-5 fps. Also without activated dx11. Any idea why?

 

https://imgur.com/a/14oEgjn

 

This is my debug log:

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.
010c:fixme:heap:RtlSetHeapInformation 0000000000120000 0 000000000011FD60 4 stub
010c:fixme:heap:RtlSetHeapInformation 00000000013B0000 0 000000000011FD40 4 stub
010c:fixme:heap:RtlSetHeapInformation 00000000013B0000 1 0000000000000000 0 stub
0110:fixme:kernelbase:AppPolicyGetThreadInitializationType FFFFFFFFFFFFFFFA, 00000000020AFE10
011c:fixme:kernelbase:AppPolicyGetThreadInitializationType FFFFFFFFFFFFFFFA, 00000000023EFE10
0114:fixme:kernelbase:AppPolicyGetThreadInitializationType FFFFFFFFFFFFFFFA, 00000000021CFE10
0118:fixme:kernelbase:AppPolicyGetThreadInitializationType FFFFFFFFFFFFFFFA, 00000000022DFE10
010c:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
ATTENTION: default value of option mesa_glthread overridden by environment.
010c:err:winediag:wined3d_dll_init Setting multithreaded command stream to 0.
ATTENTION: default value of option mesa_glthread overridden by environment.
010c:fixme:gameux:GameExplorerImpl_VerifyAccess (0000000001C9C5C0, L"C:\\GW2\\GW2.exe", 000000000011F430)
0170:fixme:msctf:ThreadMgr_ActivateEx Unimplemented flags 0x4
018c:fixme:heap:RtlSetHeapInformation 00000000 1 00000000 0 stub
018c:fixme:heap:RtlSetHeapInformation 00000000 1 00000000 0 stub
018c:fixme:nls:RtlGetThreadPreferredUILanguages 00000038, 028CF6F4, 00000000 028CF6F0
018c:fixme:nls:get_dummy_preferred_ui_language (0x38 028CF6F4 00000000 028CF6F0) returning a dummy value (current locale)
018c:fixme:nls:RtlGetThreadPreferredUILanguages 00000038, 028CF6F4, 03AF0B90 028CF6F0
018c:fixme:nls:get_dummy_preferred_ui_language (0x38 028CF6F4 03AF0B90 028CF6F0) returning a dummy value (current locale)
018c:fixme:winsock:WSALookupServiceBeginW (0x28cf760 0x00000ff0 0x28cf7a8) Stub!
018c:fixme:iphlpapi:NotifyAddrChange (Handle 0x28cf638, overlapped 0x3af7888): stub
018c:fixme:service:I_ScRegisterDeviceNotification Notification filters are not yet implemented.
018c:fixme:service:I_ScRegisterDeviceNotification Notification filters are not yet implemented.
018c:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
01c8:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {00000000-0000-0000-0000-000000000000}
018c:fixme:winsock:WSALookupServiceBeginW (0x28cdc70 0x00000ff0 0x28cdcb8) Stub!
01f4:fixme:heap:RtlSetHeapInformation 00000000 1 00000000 0 stub
01f4:fixme:heap:RtlSetHeapInformation 00000000 1 00000000 0 stub
01f4:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {00000000-0000-0000-0000-000000000000}
01f4:fixme:gdi:GdiInitializeLanguagePack stub
01e0:fixme:file:NtLockFile I/O completion on lock not implemented yet
018c:fixme:iphlpapi:CancelIPChangeNotify (overlapped 0x3af7888): stub
01a4:err:esync:__esync_wait_objects Polling on fd 50 returned 0x20.
0170:fixme:wtsapi:WTSRegisterSessionNotification Stub 0000000000020080 0x00000000
0170:fixme:msctf:ThreadMgr_ActivateEx Unimplemented flags 0x4
ATTENTION: default value of option mesa_glthread overridden by environment.
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
02c0:fixme:avrt:AvSetMmThreadCharacteristicsW (L"Audio",000000001CDFFDB8): stub
02b0:err:winediag:MIDIMAP_drvOpen No software synthesizer midi port found, Midi sound output probably won't work.
02dc:fixme:heap:RtlSetHeapInformation 00000000 1 00000000 0 stub
02dc:fixme:heap:RtlSetHeapInformation 00000000 1 00000000 0 stub
02dc:fixme:nls:RtlGetThreadPreferredUILanguages 00000038, 028CF6F4, 00000000 028CF6F0
02dc:fixme:nls:get_dummy_preferred_ui_language (0x38 028CF6F4 00000000 028CF6F0) returning a dummy value (current locale)
02dc:fixme:nls:RtlGetThreadPreferredUILanguages 00000038, 028CF6F4, 03AF0B90 028CF6F0
02dc:fixme:nls:get_dummy_preferred_ui_language (0x38 028CF6F4 03AF0B90 028CF6F0) returning a dummy value (current locale)
02dc:fixme:winsock:WSALookupServiceBeginW (0x28cf760 0x00000ff0 0x28cf7a8) Stub!
02dc:fixme:iphlpapi:NotifyAddrChange (Handle 0x28cf638, overlapped 0x3af7888): stub
02dc:fixme:service:I_ScRegisterDeviceNotification Notification filters are not yet implemented.
02dc:fixme:service:I_ScRegisterDeviceNotification Notification filters are not yet implemented.
0170:fixme:win:FlashWindowEx 00000000042EF030 - semi-stub
02dc:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0170:fixme:keyboard:LoadKeyboardLayoutW name L"00000409", flags 0, semi-stub!
0170:fixme:keyboard:X11DRV_ActivateKeyboardLayout 0x4090409, 0000: semi-stub!
0170:fixme:msctf:KeystrokeMgr_TestKeyUp STUB:(0000000001D21330)
0170:fixme:msctf:KeystrokeMgr_TestKeyUp STUB:(0000000001D21330)
02f0:err:esync:__esync_wait_objects Polling on fd 136 returned 0x20.
02dc:fixme:iphlpapi:CancelIPChangeNotify (overlapped 0x3af7888): stub
02f0:err:esync:__esync_wait_objects Polling on fd 62 returned 0x20.
0170:fixme:wtsapi:WTSUnRegisterSessionNotification Stub 0000000000020080
010c:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFFFFFFFFFA, 000000000011FD70
    /mnt/g/GW2  00a8:err:rpc:I_RpcReceive we got fault packet with status 0x1c010003

 

 

 

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...