Jump to content
  • Sign Up

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


Recommended Posts

@"ArmoredVehicle.2849"

I want to thank you for posting this, I was having some real issues with GW2 on my new Ubuntu Mate install, this got me turned in the right direction and also prompted me to double check/revisit some setting I had changed in my nVidia configuration. (Triple-Buffering seemed like a good idea at the time, lol) My nVidia config wasn't playing well with the PBA patched Wine.

I am using Lutris' Wine 3.3 PBA atm, I initially used your linked Wine PBA as well with equally good results.

https://lutris.net/files/runners/

  • wine-pba-2.21-x86_64.tar.gz 06-Mar-2018 19:41
  • wine-pba-3.3-x86_64.tar.gz 07-Mar-2018 02:42

My system:Intel Core i5 2400 (3.10)Nvidia GT730 2GB/DDR58 GB DDR3250GB SATAPSU Stock Dell 265 Watt

My FPS is far more consistent now and stays above 20 even in WvW runs and big PvE Events. I run at high settings, shadows low, reflections off.

Link to comment
Share on other sites

So, as I am apt to always pursue the ever dangling carrot of performance, I recently installed the latest Wine Development Version 3.5 that has "more Vulkan support, including the vulkan-1 loader". Now, I lack information as to how to really use this in regards to Vulkan. I enabled the vulkan-1 override in my Wine Config, but am uncertain about what else if anything I need to do in addition. I'll continue pecking away at the learning curve, I'm suspecting I need something for the vulkan-1 loader to "load".

Link to comment
Share on other sites

I suspect for GW2, Vulkan support will make new difference, since I don't think the game has been programmed to use it. I believe it would only make a difference for games that use Vulkan, in that wine could do those calls natively and be faster, where as if wine did not have Vulkan support, those games would end up user and older API (DX, openGL).Its possible that wine would translate some DX calls into Vulkan calls to make things go faster, but depending on what it is translating, the cost of translation between the APIs may be more than any advantage gained by using Vulkan.

Link to comment
Share on other sites

I want to thank you for posting this, I was having some real issues with GW2 on my new Ubuntu Mate install, this got me turned in the right direction and also prompted me to double check/revisit some setting I had changed in my nVidia configuration. (Triple-Buffering seemed like a good idea at the time, lol) My nVidia config wasn't playing well with the PBA patched Wine.

Thanks for the detailed report, admittedly I haven't tested the game on 3.x PBA series, glad to hear it still runs the game just as fast (maybe I'll finally get the git repo up to speed). Good old i5-2400 is still rocking to this day I see :smile: I have a system with one too, but since it's running Mint 17 (Ubuntu 14.04 based) I couldn't include it in my tests (Wine built on Debian 9 is too modern for Mint 17).

@"Solvar.7953" said:I suspect for GW2, Vulkan support will make new difference, since I don't think the game has been programmed to use it. I believe it would only make a difference for games that use Vulkan, in that wine could do those calls natively and be faster, where as if wine did not have Vulkan support, those games would end up user and older API (DX, openGL).Its possible that wine would translate some DX calls into Vulkan calls to make things go faster, but depending on what it is translating, the cost of translation between the APIs may be more than any advantage gained by using Vulkan.

As it currently stands, Wine 3.5 has a built in Vulkan loader and with the aid of 'dxvk' (https://github.com/doitsujin/dxvk) you can play many DX11 games at very good performance (dxvk is only for DX11). One impressive video I just found out about is of Kingdom Come: Deliverance.

As for GW2, it cannot benefit from Vulkan yet, the only known DX9 to Vulkan project is called VK9 and it's still in early stages (https://github.com/disks86/VK9).

For the moment I'm happy with Wine-PBA, GW2 is super stable on every system I tried it on and the framerate is very smooth.

Link to comment
Share on other sites

I'm trying this out but I'm getting abysmal performance. We're talking 1-10 FPS at lowest graphics. The game is still downloading though but I'm unsure how this would affect performance this badly. What information would you need to help me out? I really want to play on Linux because my Windows partition is currently basically all GW2.

Link to comment
Share on other sites

@draconicrose.6213 said:I'm trying this out but I'm getting abysmal performance. We're talking 1-10 FPS at lowest graphics. The game is still downloading though but I'm unsure how this would affect performance this badly. What information would you need to help me out? I really want to play on Linux because my Windows partition is currently basically all GW2.

Well, best to have client fully downloaded to be sure what is causing stuttering or fps loss.

But, also, I have noticed that there can be some really poor FPS initially while the shader cache is being built...this would clear up after some time and only crop up again if you zoned into a new area of the game with different shader demands or updated GPU related files.

Additionally, some graphic settings are just horrible for good frames. Namely reflections and shadows if they are set too high. (mileage may vary)

PBA 2.21 worked well but I did occasionally get corrupted graphics that only happened with the PBA stuff.

So I tried 3.3+ PBA and it was horrible FPS even after giving it some time to even out.

I am currently using Wine-Staging 3.5 on my Ubuntu Mate and having no issues, and my frames are more than playable across all game modes for me.

Now my standards aren't too high -playable for me is anything over 20 FPS, anything less and I notice it. so as long as I can consistently have over 20 FPS I am happy. HOT maps are my bench-test for the 20 FPS standard...

Stats:GW2 64bitusing switches: -autologin -cudaGLSL disabledENV Variables:__GL_SYNC_TO_VBLANK = 0

Registry:csmt enabled

Link to comment
Share on other sites

STAGING_SHARED_MEMORY=1 WINEDEBUG="-all" csmt_force=1 wine-any-2.21 Gw2-64.exe -maploadinfo -dx9single

with gpu set to high and cpu set to performance gives decent performance in all modes.

In wvw and during bigger events, like TT or Dragon Stand, Model Count and High Quality Models should be set to 'lowest'. AA turned off. The rest really does not have any real impact (for me).

a) not using pbab) using d3d9.

Link to comment
Share on other sites

@draconicrose.6213 said:I'm trying this out but I'm getting abysmal performance. We're talking 1-10 FPS at lowest graphics. The game is still downloading though but I'm unsure how this would affect performance this badly. What information would you need to help me out? I really want to play on Linux because my Windows partition is currently basically all GW2.

Some hardware details would be a good start. the 2 important ones are: CPU, GPU type (AMD/Nvidia) and driver version.

Link to comment
Share on other sites

I tried different Wine configurations in the past but I always had low, unstable FPS. I have changed my graphics card to an R9 290 and the problem continues. Changing the graphic options have a lot less of impact than expected on framerate, so I suppose it is a problem with FX8350 not being a CPU for this game on Wine. Any thoughts ?

Link to comment
Share on other sites

  • 3 weeks later...

I wonder if anyone with more experience has an idea here.

I am by no means a Linux expert and could use other thoughts.

A friend loaned me his lenovo y520 with hybrid GPU in it. It has an radeon rx560 along with the intel i7700hq. I wanted to test it to see how it would run with linux and gw2.

I have only tried so far with playonlinux to see if it would work well. I am not sure what expectation I should have in fps and performance at what settings with this laptop. I am using opensuse tumblweed on it right now as I am more use to that than other distro's.

I am not getting great performance and am not sure I have the rx560 actually running the game. I have read some forums and been messing with the DRI_PRIME=1 command but am not sure I am using it correctly.

I used this command in the POL console:POL_Config_Write BEFORE_WINE 'env DRI_PRIME=1 mesa_glthread=true'

I have no clue if that activates the card correctly when executing gw2 from in POL? Any thoughts? Is there a way to check which GPU is running gw2? Is there a better method to get what I want here? Should I be using the amdgpu-pro driver?

thanks for any advice.

Link to comment
Share on other sites

ok, make sure you are using the amd graphics, not the intel one.first make sure your environment includes this: R600_DEBUG='sbcl hyperz llvms sisched forcedma'second, for decend radeon performance use this:echo high > /sys/class/drm/card0/device/power_dpm_force_performance_level(card1 if that is your amd gpu)third, make sure your wine version includes d3d9 and staging.fourth enable d3d9 in wineconfigfifth run this command to start the game:STAGING_SHARED_MEMORY=1 WINEDEBUG="-all" csmt_force=1 wine-any-2.21 Gw2-64.exe -maploadinfo -dx9singlereplace wine-any-2.21 with the wine version you run.it also helps to put the cpu in performance mode. Up to 20%fps increase can be found just there.

Link to comment
Share on other sites

hey all -- strange issue i encountered on my Linux Mint 18.3, Ryzen 7 (3200Mhz, 3.6 overclock). I updated to the latest Ryzen bios (version G) and -- while possibly unrelated -- i can no longer see a login screen for Guild Wars. Literally a blank image background with no form elements at all (buttons, form elements, etc). Very strange. Anyone ever encounter something like this before ?

Link to comment
Share on other sites

@"VAHNeunzehnsechundsiebzig.3618" said:yes, has nothing to do with the cpu tho.

what might help you there is to change the wineconfig setting to 'desktop'. So the app runs in its own desktop like window.

I believe i do have it set to do that, within its own desktop virtual window -- not much luck there for me though.

Link to comment
Share on other sites

@"VAHNeunzehnsechundsiebzig.3618" said:ok, make sure you are using the amd graphics, not the intel one.first make sure your environment includes this: R600_DEBUG='sbcl hyperz llvms sisched forcedma'second, for decend radeon performance use this:echo high > /sys/class/drm/card0/device/power_dpm_force_performance_level(card1 if that is your amd gpu)third, make sure your wine version includes d3d9 and staging.fourth enable d3d9 in wineconfigfifth run this command to start the game:STAGING_SHARED_MEMORY=1 WINEDEBUG="-all" csmt_force=1 wine-any-2.21 Gw2-64.exe -maploadinfo -dx9singlereplace wine-any-2.21 with the wine version you run.it also helps to put the cpu in performance mode. Up to 20%fps increase can be found just there.

I am working through this stuff and seeing if I get any better performance. I do for some reason get around 65fps on the character select screen now but I am not getting more than 20fps in game with medium-ish settings. Even "best performance" doesn't change it that much so far. I have not worked through everything here outside that I am currently using Playonlinux and not wine from cli.

per your last point, How do I set the cpu in performance mode with this model laptop if you know. Is it a variable to set in OS? I am running Opensuse Tumbleweed by the way not sure if I said that someplace.

Appreciate the advice so far. I am not even really sure what FPS I should expect from this setup but I thought better than 18-20 with i7700hq and the hybrid gpu. I might be wrong.

Link to comment
Share on other sites

@jbrother.1340 said:

@"VAHNeunzehnsechundsiebzig.3618" said:ok, make sure you are using the amd graphics, not the intel one.first make sure your environment includes this: R600_DEBUG='sbcl hyperz llvms sisched forcedma'second, for decend radeon performance use this:echo high > /sys/class/drm/card0/device/power_dpm_force_performance_level(card1 if that is your amd gpu)third, make sure your wine version includes d3d9 and staging.fourth enable d3d9 in wineconfigfifth run this command to start the game:STAGING_SHARED_MEMORY=1 WINEDEBUG="-all" csmt_force=1 wine-any-2.21 Gw2-64.exe -maploadinfo -dx9singlereplace wine-any-2.21 with the wine version you run.it also helps to put the cpu in performance mode. Up to 20%fps increase can be found just there.

I am working through this stuff and seeing if I get any better performance. I do for some reason get around 65fps on the character select screen now but I am not getting more than 20fps in game with medium-ish settings. Even "best performance" doesn't change it that much so far. I have not worked through everything here outside that I am currently using Playonlinux and not wine from cli.

per your last point, How do I set the cpu in performance mode with this model laptop if you know. Is it a variable to set in OS? I am running Opensuse Tumbleweed by the way not sure if I said that someplace.

Appreciate the advice so far. I am not even really sure what FPS I should expect from this setup but I thought better than 18-20 with i7700hq and the hybrid gpu. I might be wrong.

Not sure if you mean Vulkan game/graphics for WINE. But if so, here is a link that might help: https://www.gamingonlinux.com/articles/you-will-want-to-force-your-cpu-into-high-performance-mode-for-vulkan-games-on-linux.9369/page=6

Link to comment
Share on other sites

@ladydemoriel.4658 said:

@"VAHNeunzehnsechundsiebzig.3618" said:yes, has nothing to do with the cpu tho.

what might help you there is to change the wineconfig setting to 'desktop'. So the app runs in its own desktop like window.

I believe i do have it set to do that, within its own desktop virtual window -- not much luck there for me though.

I also tried setting the username/password via command line-execution but still see the evil blank Guild Wars 2 login (no form elements whatsoever). Even updated the NVIDIA driver. Won't lie, im kinda PO'd....i finally got Lutris-Guild Wars2 running (stable) at over 40fps in WvW with very good graphics. Not been my week.

Link to comment
Share on other sites

@"jbrother.1340" said:

I am working through this stuff and seeing if I get any better performance. I do for some reason get around 65fps on the character select screen now but I am not getting more than 20fps in game with medium-ish settings. Even "best performance" doesn't change it that much so far. I have not worked through everything here outside that I am currently using Playonlinux and not wine from cli.

per your last point, How do I set the cpu in performance mode with this model laptop if you know. Is it a variable to set in OS? I am running Opensuse Tumbleweed by the way not sure if I said that someplace.

Appreciate the advice so far. I am not even really sure what FPS I should expect from this setup but I thought better than 18-20 with i7700hq and the hybrid gpu. I might be wrong.

It seems to me that you're running the game off of the Intel GPU not the Nvidia one. If you have your drivers and software setup correctly, you need to run your game with "optirun" or "primusrun" to use the Nvidia GPU, for example: optirun ./play_GW2.sh

Link to comment
Share on other sites

@ArmoredVehicle.2849 said:

@"jbrother.1340" said:

I am working through this stuff and seeing if I get any better performance. I do for some reason get around 65fps on the character select screen now but I am not getting more than 20fps in game with medium-ish settings. Even "best performance" doesn't change it that much so far. I have not worked through everything here outside that I am currently using Playonlinux and not wine from cli.

per your last point, How do I set the cpu in performance mode with this model laptop if you know. Is it a variable to set in OS? I am running Opensuse Tumbleweed by the way not sure if I said that someplace.

Appreciate the advice so far. I am not even really sure what FPS I should expect from this setup but I thought better than 18-20 with i7700hq and the hybrid gpu. I might be wrong.

It seems to me that you're running the game off of the Intel GPU not the Nvidia one. If you have your drivers and software setup correctly, you need to run your game with "optirun" or "primusrun" to use the Nvidia GPU, for example: optirun ./play_GW2.sh

I am not using a laptop with an Nvidia discrete GPU in it. I am using a laptop with the following it might not make a difference but I want to be accurate here:

radeon rx560

for clarity sake as well I am using distro:Opensuse Tumbleweed with the most recent distribution updates.

I have been looking into using the DRI_PRIME=1 setting that many forums talk about on the webz. I am using as I stated before playonlinux not running it straight with WINE From cli.

I agree that it is most likely using intel gpu on the chip here and not the discrete rx560. I am trying to find a way to verify what starts when it runs.

does anyone know the proper way to force the use of the discrete card using the standard amdgpu driver. I am NOT using the amdgpu-pro driver.

I have adjusted some of the stuff that VAHNeunzehnsechundsiebzig.3618 said in his post and the character screen is now double what it was in FPS at around 60-65 but still getting no real higher than 20-28ish in game no matter what I am doing unless I am looking at the sky. Maybe that is as good as I will get but I would love to figure out if the rx560 is the GPU in play here or if the issue is as you suggest it is using the intel gpu still.

I am getting better perfomance with the phenom II 955 I have in the desktop I have here with a HD 7950 than I am with this setup up right now which seems wrong.

thanks to everyone for the tips and advice so far, I feel like I am getting closer so it is helping.

PS;

would the "cpupower frequency" command also be a valid way to change my CPU power scaling?

Link to comment
Share on other sites

Finally got my Guild Wars 2 under Lutris/WINE back up and running.Fit of desperation/aggravation -- i deleted all my environment variables and started over. My settings Lutris/WINE -wiseLutris WINE Runner Option: ge-3.6-x8664Wine Config Libraries: d3dx9* (24-43 are in my overrides list)Environment Variables: GL_SYNC_TO_BLANK 0, __GL_LOG_MAX_ANISO 0, GL_THREADED_OPTIMIZATIONS 0, __GL_YIELD NOTHING, __GL_FSAA_MODE 0(I tried the GL_THREADED_OPTIMIZATIONS at 1 but lost FPS)

Depending on the map - (low population 60-70, 80 spikes occassionally), moderate population (40-50), wvw type map (high 20s to 30s). Set your in game graphics using the OP original image and tweak as needed.

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