Jump to content
  • Sign Up

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


Recommended Posts

Good news for Nvidia GPU users, an employee from Nvidia itself commented on the D9VK github that he identified the bug and will be fixed in a future driver release.

In other news - To avoid torturing you from downloading the full package and rebuilding the shader cache from scratch at every update, I'm considering releasing patches for small changes. They would come in the form of unzip > overwrite > you're done.

Link to comment
Share on other sites

@ArmoredVehicle.2849 said:Good news for Nvidia GPU users, an employee from Nvidia itself commented on the D9VK github that he identified the bug and will be fixed in a future driver release.

In other news - To avoid torturing you from downloading the full package and rebuilding the shader cache from scratch at every update, I'm considering releasing patches for small changes. They would come in the form of unzip > overwrite > you're done.

If you want you have possibility to push my github on your post for help new users ^^When you make new version im make new installer version...Installer have possibility to upgrade install :D

Best Regards

Link to comment
Share on other sites

@Skotlex.7580 said:

@ArmoredVehicle.2849 said:Good news for Nvidia GPU users, an employee from Nvidia itself commented on the D9VK github that he identified the bug and will be fixed in a future driver release.

I couldn't find this information in the previous pages, so I ask.... what exactly is this nvidia bug about?

When Postprocessing is set to 'High' the sun appears as a square in some areas. Screenshot below:58044235-f1bb7700-7b47-11e9-9846-565dd58

@"04D95143-7F7C-4289-8567-88D4F26CEEF9.2615" said:

@ArmoredVehicle.2849 said:Good news for Nvidia GPU users, an employee from Nvidia itself commented on the D9VK github that he identified the bug and will be fixed in a future driver release.

In other news - To avoid torturing you from downloading the full package and rebuilding the shader cache from scratch at every update, I'm considering releasing patches for small changes. They would come in the form of unzip > overwrite > you're done.

If you want you have possibility to push my github on your post for help new users ^^When you make new version im make new installer version...Installer have possibility to upgrade install :D

Best Regards

I will put your link as an alternative download source :)

Link to comment
Share on other sites

@04D95143-7F7C-4289-8567-88D4F26CEEF9.2615

I tried out your installer and I can say I'm loving it already. Would you be able to expand it and add 2 more checkboxes to the GUI where for example "Checkbox 1 runs script A" and "Checkbox 2 runs script B"?

The reason I ask is because I've been thinking about a possible way to modify my setup scripts and merge the two packages into one (Intel/AMD + Nvidia together), then you wire up those checkboxes to the corresponding one.

Let me know what you think :)

Link to comment
Share on other sites

@Exceedinglimits.8025 said:hi, thanks for your work. The only thing really keeping me from switching to linux more permanently is i have no clue how to make arcdps work with d9vk or if it's even possible. Anyone got it working or know how?

I am working with josha to make it work.. :)Will let know here once initial version is available

Link to comment
Share on other sites

Just a brief note ....Long time GW2 player (6 years) and long time Linux user although casually, I've always played GW2 in Windows first on 7 then on 10, never really had much issues other than the occasional graphics driver problem till I ran Win 10 which has been hit and miss as far as stability with each update MS pushes out.

A couple years ago I wanted to switch totally to Linux and the distro of my choice was Fedora, at that time playing a Windows game on Linux was impossible for most, Wine was just getting started up, there was no Lutris, if you got a title to run on Wine at that point it was a big accomplishment but also a big disappointment performance-wise.

So I did the next best thing and that was run Windows in a KVM with hardware pass through on top of Fedora, this was also a new-ish solution but one I mastered and ran for over a year playing Windows/GW2 just like it was on bare metal....but then...lol

I got the bright idea to build a new system....blah blah. Without going into a lot of detail I decided to try wine/lutris on Fedora 30 to run GW2, it took a few tries to get it configured and all the dependencies figured out (most folks seem to do this on Ubuntu or some Debian variant). The last few days I've been able to play GW2 on this setup, frame rates are mostly 35-60 and the colors don't seem as vibrant but then again I'm using a Radeon 570 and not a new card from the green team..lol

If I could get my Logitech G13 to work I'd be all set which is my current project, gaming on Linux is one thing but without peripheral support (which should be a easy task for the devs) it going to be more of a uphill battle, hardware manufactures like Logitech and Corsair Should be working on at the least minimal driver support for their products in Linux.

Anyway just wanted to thank the OP and everyone who contributed to this thread it has been a big help to me. Thank You!

Link to comment
Share on other sites

First off, huge shout out to Armored Vehicle and everyone else for their great work getting GW2 to work better with Wine! I did a bit of a comparison myself to see which gave better performance in GW2: just using straight up CrossOver or Armored Vehicle's patches. I'll post more details below, but the TL;DR is that Armored Vehicle's patches DRASTICALLY IMPROVE performance. What I absolutely adore though is that Lutris apparently includes these same patches and makes it super easy to install. The only real pain-in-the-neck was doing the registry edits as described below but it really wasn't that difficult or anything.

My Specs:OS: Arch Linux 64-bitKernel: 5.1.5-arch1-2-ARCHRAM: 16GB DDR3CPU: Intel i7 3770GPU: GeForce GT 1030 2GBNvidia Driver Version: 430.14CrossOver version: 18.1

Environment:Used plain CrossOver 18.1 with the" __THREADED_OPTIMIZATIONS=1 -dx9single" arguments and several wine registry edits (UseGLSL = disabled, VideoMemorySize=2048 etc).

With Wine-staging + esync + PBA patches, I also used the "__THREADED_OPTIMIZATIONS=1" argument but did NOT use the -dx9single as I read it causes loss of FPS. I also used the same registry edits as with CrossOver.

Both tests were conducted at a screen resolution of 1600x900, and I disabled some of the more demanding eye-candy like Reflections, vsync etc and lowered character model limits etc. Game still looks gorgeous.

What was tested:Wandered around Queensdale, also roamed Divinity's Reach.

Results:

CrossOver 18.1:I got anywhere from 25-70 FPS in Queensdale with CrossOver, however it seemed to hover around 35-40 FPS. The framerate was not very stable though, I experienced several moments where the FPS would drop from 60 to 25 and then rebound which was jarring at times. In Divinity's Reach the FPS was anywhere from 19-50 FPS, hovering around 25-30 FPS depending on if I was near a ton of players etc. Overall not a bad experience, definitely playable but the FPS dips were noticeable.

Wine-staging + esync + PBA patches (installed via Lutris):Results were hugely improved. My FPS was anywhere from 40 FPS to as high as 100 FPS (yes, you read that right!) and it tended to average around the 60-70 FPS mark in Queensdale. In Divinity's Reach I also saw drastically improved FPS, anywhere from 45-70 FPS depending on if I was in an area with lots of other players. Overall the game played buttery smooth and the FPS was very stable. I honestly forgot I was on Linux for a while, the game felt just like I was playing on Windows!!

Edit: for comparison, on Windows 10 in Queensdale I would average ~60-80 FPS and ~50-75 FPS in Divinity's Reach using the same video settings. Only real difference is the FPS tends to be slightly higher and more stable on Windows 10, but not by much.

Verdict:Use Armored Vehicle's installer, or use Lutris. I'll be deleting my GW2 bottle within CrossOver as it's inferior to my Lutris installation. Seriously, performance with these patches is about 95% of what I would get on Win 10 which is AWESOME!! Major kudos again to Armored Vehicle and everyone else that supported this!!

Link to comment
Share on other sites

@"04D95143-7F7C-4289-8567-88D4F26CEEF9.2615" said:You have possibility to update the package for https://github.com/Joshua-Ashton/d9vk/releases/tag/0.12

I've tested that version and unfortunattely I noticed a small performance regression compared to the current packaged build, For example if I stand in a certain spot in the fractal lobby I lose about 9fps. I'm being selective on the updates to make sure performance remains optimal.

Nice work on that GUI, this weekend I should have the merging of both packages done :)

Link to comment
Share on other sites

Kind Greetings,

First of all, I would like to thank you for your very helpful guide :)

I have been using your script for months now, I used it on two older laptops and both of them had intel CPUs (i7 4500U, and the other is a variant of i5), and the GPUs were nvidia based. I ran both on Ubuntu Mate, and my experience was very stable and positive and I didn't need any system tweaking.

I just built a PC a few days ago, and since I read that AMD is opensource friendly, I chose it.System Specs:CPU: Ryzen 5 2600 unlocked.GPU: RX580Ram: 16 GB 3200 GHzStorage: Crucial m.2 SSD 1 TBPSU Corsair CX 650M >> 650 Watts

I got a bit confused in terms of which drivers to use, but I tried both. I ended up switching though from Ubuntu Mate to Solus. In Solus though, I had to tweak things in the system and the settings to get the game to run.

I managed to get it to run smoothly for a day. But after that, it suddenly stopped working, and I am not sure whether I changed anything unknowingly or not. I am considering changing Distros again. But before that, I will continue to try different things here and there :) ,, if there is anything I can do to help please let me know. While my linux skills are still a work in progress, I am serious about improving myself in it, and I would like to help people like you at least by sharing results.

Thanks and cheers!

P.S. When I ran debug.sh, this is the text that was registered in the terminal

000b:fixme:winediag:start_process Wine Staging 4.6 is a testing version containing experimental patches.000b:fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org.0009:fixme:heap:RtlSetHeapInformation 0x30000 0 0x25fd00 4 stub0009:fixme:heap:RtlSetHeapInformation 0x380000 0 0x25fce0 4 stub0009:fixme:heap:RtlSetHeapInformation 0x380000 1 (nil) 0 stub002a:fixme:ver:GetCurrentPackageId (0xc3fdd0 (nil)): stub002a:fixme:thread:SetThreadStackGuarantee (0xc3fdd0): stub0009:err:winediag:wined3d_dll_init Setting multithreaded command stream to 0x1.ATTENTION: default value of option vblank_mode overridden by environment.ATTENTION: default value of option mesa_glthread overridden by environment.0009:fixme:gameux:GameExplorerImpl_VerifyAccess (0x1906f20, L"C:\\GW2\\GW2.exe", 0x25f170)0040:fixme:msctf:ThreadMgrSource_AdviseSink (0x1a4d800) Unhandled Sink: {ea1ea136-19df-11d7-a6d2-00065b84435c}0040:fixme:imm:ImmDisableTextFrameService Stub0040:fixme:ntdll:NtQueryInformationJobObject stub: 0x264 2 0x333dbb0 64 (nil)0040:fixme:ntdll:NtQueryInformationJobObject stub: 0x264 9 0x333dbf0 144 (nil)0047:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub0047:fixme:process:SetProcessDEPPolicy (3): stub0047:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub0047:fixme:nls:GetThreadPreferredUILanguages 00000038, 0x34f674, (nil) 0x34f6700047:fixme:nls:get_dummy_preferred_ui_language (0x38 0x34f674 (nil) 0x34f670) returning a dummy value (current locale)0047:fixme:nls:GetThreadPreferredUILanguages 00000038, 0x34f674, 0x2ae4b70 0x34f6700047:fixme:nls:get_dummy_preferred_ui_language (0x38 0x34f674 0x2ae4b70 0x34f670) returning a dummy value (current locale)0047:fixme:winsock:WSALookupServiceBeginW (0x34f6e0 0x00000ff0 0x34f728) Stub!004d:fixme:esync:__esync_wait_objects Can't wait on esync and server objects at the same time!0047:fixme:iphlpapi:NotifyAddrChange (Handle 0x34f5b8, overlapped 0x2ae5888): stub0047:fixme:win:RegisterDeviceNotificationW (hwnd=0x1007e, filter=0x34f798,flags=0x00000000) returns a fake device notification handle!0047:fixme:win:RegisterDeviceNotificationW (hwnd=0x1007e, filter=0x34f798,flags=0x00000000) returns a fake device notification handle!0056:fixme:ntdll:EtwRegisterTraceGuidsW (0x495320, 0x24ef248, {3dada31d-19ef-4dc1-b345-037927193422}, 1, 0x24a4f04, (null), (null), 0x24ef260): stub0056:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {00000000-0000-0000-0000-000000000000}0047:fixme:winsock:WSALookupServiceBeginW (0x34dbf0 0x00000ff0 0x34dc38) Stub!0061:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub0061:fixme:process:SetProcessDEPPolicy (3): stub0061:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub0061:fixme:ntdll:EtwRegisterTraceGuidsW (0x495320, 0x24ef248, {3dada31d-19ef-4dc1-b345-037927193422}, 1, 0x24a4f04, (null), (null), 0x24ef260): stub0061:fixme:ntdll:EtwRegisterTraceGuidsW   register trace class {00000000-0000-0000-0000-000000000000}0061:fixme:gdi:GdiInitializeLanguagePack stub0058:fixme:winsock:WSALookupServiceBeginW (0x3dcf564 0x00000ff0 0x3dcf5ac) Stub!0058:fixme:winsock:WSALookupServiceBeginW (0x3dcf564 0x00000ff0 0x3dcf5ac) Stub!Terminated
Link to comment
Share on other sites

@"VAHNeunzehnsechundsiebzig.3618" said:there is nothing interesting in that output. What driver are you actually using?

Hi, thanks for your prompt interaction :)This is what I got under graphics using inxi -FGraphics:Device-1: AMD Ellesmere [Radeon RX 470/480/570/570X/580/580X/590]driver: amdgpu v: kernelDisplay: x11 server: X.Org 1.20.3 driver: amdgpu,atiunloaded: fbdev,modesetting,vesa resolution: 1920x1080~60HzOpenGL: renderer: Radeon RX 580 Series (POLARIS10 DRM 3.27.05.0.16-116.current LLVM 7.0.0)v: 4.5 Mesa 19.0.4

I just remembered that I also used taskset -c 0-5 GW2.exe to run it using only half of my threads. I will look up how to reverse it online and check. Maybe that was the change that messed it up.

Thanks!

Link to comment
Share on other sites

As already mentioned by @"VAHNeunzehnsechundsiebzig.3618" , the terminal log looks clean. Furthermore the "taskset 0-5" doesn't make the game crash as I use the same command everyday. My only suspicion is that you may not have the Vulkan library installed, I'm not familiar with Solus, however on Ubuntu family this can be found as "libvulkan1".


June 4th news:

Good news for Nvidia GPU users: Consider upgrading to the latest beta driver version 418.52.10 this carries with it a fix for the "square-shaped" sun in some areas when Postprocessing is set to "High". There is no need to do anything else aside from that :)

The game can now be considered entirely glitch free on Linux regardless of your GPU vendor.

Link to comment
Share on other sites

@ArmoredVehicle.2849 said:As already mentioned by @"VAHNeunzehnsechundsiebzig.3618" , the terminal log looks clean. Furthermore the "taskset 0-5" doesn't make the game crash as I use the same command everyday. My only suspicion is that you may not have the Vulkan library installed, I'm not familiar with Solus, however on Ubuntu family this can be found as "libvulkan1".


June 4th news:

Good news for Nvidia GPU users: Consider upgrading to the latest beta driver version 418.52.10 this carries with it a fix for the "square-shaped" sun in some areas when Postprocessing is set to "High". There is no need to do anything else aside from that :)

The game can now be considered entirely glitch free on Linux regardless of your GPU vendor.

Hi,

I tried to look things further in Solus but I found that there is a limitation in terms of educational resources for new comers. I tried Ubuntu Mate, but it was not a very smooth experience for my setup although it worked fine for my older laptops :).

My last move was to try Manjaro (I was hesitant at first because I had some issues with it on my older laptops related to wifi drivers). And to my surprise, Manjaro worked amazingly well out of the box. When I updated the system and downloaded all required libraries it worked even better :)

Thanks for all the help so far :) I will try to check out the post between time to time. Let me know if there is anything I can help with.

Cheers!

Link to comment
Share on other sites

@"draconicrose.6213" said:https://imgur.com/q5S4IpOI have an issue where parts of the skyscale are pitch black. Any idea what kind of settings might be causing this? I'd like to have a normal skyscale while playing on my normal settings.

Can you post some details about your setup, mainly: GPU type/model and driver version and a screenshot of your ingame settings. Also, if you open up the mounts panel and go to the Skyscale section, does it also appear like that in the preview Window?

I tried various graphics settings but none of them could replicate it, this is on a GTX1060, drivers version 318.52.10.I don't have the mount yet but I can preview it and this is how it appears for me: yllryfh.jpg

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