Jump to content
  • Sign Up

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


Recommended Posts

@jbrother.1340 said:

@jbrother.1340 said:I am currently running gw2 with gallium straight through WINE.

I've been wanting to ask you about Gallium, are you also using esync in combination with it? If yes, how is the performance compared with esync off?

Those 2 features together can probably get the game to run with almost the same performance as on Windows. I'm considering getting a cheap AMD gpu just to compare it with Win (and hopefully make Gallium package out of it) :)

It has been a while since I have had to mess with it and forgotten. I will have to check later.

Do you know is that part of the wine-nine in opensuse or is was that an option to turn on in the config files for wine? I for some reason am brain dead today, but my job is sort of crushing my left lobe today :)

E-Sync is a separate set of patches that help CPU intensive games (such as GW2), for non-Gallium Nine users this helps massively but I was wondering if Gallium Nine+ESync = even better performance. If you'd be willing to give it a shot I can build you a special package. As my per usual builds, it will not affect your current Wine-Settings, everything is self contained.

I would be happy to test it. Just let me know. I will check back later and see how it is going and give it a try once you are ready.

I've managed to build a custom version of Wine with both ESync and Gallium 9 inside. It looks promising but without AMD hardware I won't be able to get far into testing this myself, so you'll have to be my eyes on this one :)

Download Link: https://drive.google.com/file/d/10UzYuINv1-0rYON3xScnh7N9RP68BPEI

Installation is as follows:

1) Unzip the package somewhere2) In terminal run ./setup.sh3) In terminal run ./wine_settings.sh > From here go to 'Staging' tab and tick 'Enable Gallium Nine for better D3D9 graphic performance'4) From that same folder open up "data/drive_c/GW2" and put the game files there, Note: The executable must be named "GW2.exe"5) Run ./play.sh and you're done

As I mentioned earlier, this runs entirely in portable mode and will not touch anything from your current setup. If you get stuck somewhere let me know.

Link to comment
Share on other sites

@ArmoredVehicle.2849 said:

@jbrother.1340 said:I am currently running gw2 with gallium straight through WINE.

I've been wanting to ask you about Gallium, are you also using esync in combination with it? If yes, how is the performance compared with esync off?

Those 2 features together can probably get the game to run with almost the same performance as on Windows. I'm considering getting a cheap AMD gpu just to compare it with Win (and hopefully make Gallium package out of it) :)

It has been a while since I have had to mess with it and forgotten. I will have to check later.

Do you know is that part of the wine-nine in opensuse or is was that an option to turn on in the config files for wine? I for some reason am brain dead today, but my job is sort of crushing my left lobe today :)

E-Sync is a separate set of patches that help CPU intensive games (such as GW2), for non-Gallium Nine users this helps massively but I was wondering if Gallium Nine+ESync = even better performance. If you'd be willing to give it a shot I can build you a special package. As my per usual builds, it will not affect your current Wine-Settings, everything is self contained.

I would be happy to test it. Just let me know. I will check back later and see how it is going and give it a try once you are ready.

I've managed to build a custom version of Wine with both ESync and Gallium 9 inside. It looks promising but without AMD hardware I won't be able to get far into testing this myself, so you'll have to be my eyes on this one :)

Download Link:

Installation is as follows:

1) Unzip the package somewhere2) In terminal run ./setup.sh3) In terminal run ./wine_settings.sh > From here go to 'Staging' tab and tick 'Enable Gallium Nine for better D3D9 graphic performance'4) From that same folder open up "data/drive_c/GW2" and put the game files there, Note: The executable must be named "GW2.exe"5) Run ./play.sh and you're done

As I mentioned earlier, this runs entirely in portable mode and will not touch anything from your current setup. If you get stuck somewhere let me know.

I should have some time to test this in the next couple of days and will report back once I do or if I have issues.

So just out of curiosity. Are you just using the wine-nine-staging version and integrating the esync patches in with that when you build this up? I am no linux guru by any means but I do like to learn more when I can.

PS,One more question as I seem to have forgotten in my head...I have a hybrid GPU laptop that also has amd gear an rx560 in it.

Where do I put the DRI_PRIME=1 switch to force the AMD GPU over the integrated one? I just cannot remember in your scripting where to add it.

Link to comment
Share on other sites

@jbrother.1340 said:

@jbrother.1340 said:I am currently running gw2 with gallium straight through WINE.

I've been wanting to ask you about Gallium, are you also using esync in combination with it? If yes, how is the performance compared with esync off?

Those 2 features together can probably get the game to run with almost the same performance as on Windows. I'm considering getting a cheap AMD gpu just to compare it with Win (and hopefully make Gallium package out of it) :)

It has been a while since I have had to mess with it and forgotten. I will have to check later.

Do you know is that part of the wine-nine in opensuse or is was that an option to turn on in the config files for wine? I for some reason am brain dead today, but my job is sort of crushing my left lobe today :)

E-Sync is a separate set of patches that help CPU intensive games (such as GW2), for non-Gallium Nine users this helps massively but I was wondering if Gallium Nine+ESync = even better performance. If you'd be willing to give it a shot I can build you a special package. As my per usual builds, it will not affect your current Wine-Settings, everything is self contained.

I would be happy to test it. Just let me know. I will check back later and see how it is going and give it a try once you are ready.

I've managed to build a custom version of Wine with both ESync and Gallium 9 inside. It looks promising but without AMD hardware I won't be able to get far into testing this myself, so you'll have to be my eyes on this one :)

Download Link:

Installation is as follows:

1) Unzip the package somewhere2) In terminal run ./setup.sh3) In terminal run ./wine_settings.sh > From here go to 'Staging' tab and tick 'Enable Gallium Nine for better D3D9 graphic performance'4) From that same folder open up "data/drive_c/GW2" and put the game files there, Note: The executable must be named "GW2.exe"5) Run ./play.sh and you're done

As I mentioned earlier, this runs entirely in portable mode and will not touch anything from your current setup. If you get stuck somewhere let me know.

I should have some time to test this in the next couple of days and will report back once I do or if I have issues.

So just out of curiosity. Are you just using the wine-nine-staging version and integrating the esync patches in with that when you build this up? I am no linux guru by any means but I do like to learn more when I can.

PS,One more question as I seem to have forgotten in my head...I have a hybrid GPU laptop that also has amd gear an rx560 in it.

Where do I put the DRI_PRIME=1 switch to force the AMD GPU over the integrated one? I just cannot remember in your scripting where to add it.

I just tried initial setup quickly to see what it would do.

It launches wine config windows but the "enable Gallium Nine" option in staging tab is grey'd out for me? Not sure why. I have not done a distro upgrade on tumbleweed recently but I do have Mesa drivers installed as well as amdgpu? I am going to do a reboot just to see and might do a distro upgrade later to make sure something is not out of wack but it sometimes breaks stuff bad and I need to do some backups of some data first so it might take a bit.

EDIT:

I tried to run game after copying over data files and it starts and updates the launcher and did attempt to run. I get opening music and cursor change but then it goes black screen on me and only can hear music

I get the following in terminal and it drops back to $ prompt but keeps black screen window open.

ATTENTION: default value of option vblank_mode overridden by environment. ATTENTION: default value of option mesa_glthread overridden by environment. ATTENTION: default value of option vblank_mode overridden by environment. ATTENTION: default value of option mesa_glthread overridden by environment.

I might have copied over some bad data so I am going to overwrite it with the last data I had in your previous package not the updated game files from my gallium install and try again.

EDIT #2:

Ok I tried again after recopying the data and I get same as above but also

Wine cannot find the ncurses library (libncurses.so.5). I do have the libncurses6 libraries installed but not 5 and not sure if that matter or if I should ignore.

It did launch this time though to character screen. I don't think though with Gallium option unchecked in config it is actually running Gallium Nine though right now but game does launch so once we can sort that out should be able to fully test.

Link to comment
Share on other sites

@jbrother.1340 said:

@jbrother.1340 said:I am currently running gw2 with gallium straight through WINE.

I've been wanting to ask you about Gallium, are you also using esync in combination with it? If yes, how is the performance compared with esync off?

Those 2 features together can probably get the game to run with almost the same performance as on Windows. I'm considering getting a cheap AMD gpu just to compare it with Win (and hopefully make Gallium package out of it) :)

It has been a while since I have had to mess with it and forgotten. I will have to check later.

Do you know is that part of the wine-nine in opensuse or is was that an option to turn on in the config files for wine? I for some reason am brain dead today, but my job is sort of crushing my left lobe today :)

E-Sync is a separate set of patches that help CPU intensive games (such as GW2), for non-Gallium Nine users this helps massively but I was wondering if Gallium Nine+ESync = even better performance. If you'd be willing to give it a shot I can build you a special package. As my per usual builds, it will not affect your current Wine-Settings, everything is self contained.

I would be happy to test it. Just let me know. I will check back later and see how it is going and give it a try once you are ready.

I've managed to build a custom version of Wine with both ESync and Gallium 9 inside. It looks promising but without AMD hardware I won't be able to get far into testing this myself, so you'll have to be my eyes on this one :)

Download Link:

Installation is as follows:

1) Unzip the package somewhere2) In terminal run ./setup.sh3) In terminal run ./wine_settings.sh > From here go to 'Staging' tab and tick 'Enable Gallium Nine for better D3D9 graphic performance'4) From that same folder open up "data/drive_c/GW2" and put the game files there, Note: The executable must be named "GW2.exe"5) Run ./play.sh and you're done

As I mentioned earlier, this runs entirely in portable mode and will not touch anything from your current setup. If you get stuck somewhere let me know.

I should have some time to test this in the next couple of days and will report back once I do or if I have issues.

So just out of curiosity. Are you just using the wine-nine-staging version and integrating the esync patches in with that when you build this up? I am no linux guru by any means but I do like to learn more when I can.

PS,One more question as I seem to have forgotten in my head...I have a hybrid GPU laptop that also has amd gear an rx560 in it.

Where do I put the DRI_PRIME=1 switch to force the AMD GPU over the integrated one? I just cannot remember in your scripting where to add it.

I just tried initial setup quickly to see what it would do.

It launches wine config windows but the "enable Gallium Nine" option in staging tab is grey'd out for me? Not sure why. I have not done a distro upgrade on tumbleweed recently but I do have Mesa drivers installed as well as amdgpu? I am going to do a reboot just to see and might do a distro upgrade later to make sure something is not out of wack but it sometimes breaks stuff bad and I need to do some backups of some data first so it might take a bit.

EDIT:

I tried to run game after copying over data files and it starts and updates the launcher and did attempt to run. I get opening music and cursor change but then it goes black screen on me and only can hear music

I get the following in terminal and it drops back to $ prompt but keeps black screen window open.

ATTENTION: default value of option vblank_mode overridden by environment. ATTENTION: default value of option mesa_glthread overridden by environment. ATTENTION: default value of option vblank_mode overridden by environment. ATTENTION: default value of option mesa_glthread overridden by environment.

I might have copied over some bad data so I am going to overwrite it with the last data I had in your previous package not the updated game files from my gallium install and try again.

EDIT #2:

Ok I tried again after recopying the data and I get same as above but also

Wine cannot find the ncurses library (libncurses.so.5).
I do have the libncurses6 libraries installed but not 5 and not sure if that matter or if I should ignore.

It did launch this time though to character screen. I don't think though with Gallium option unchecked in config it is actually running Gallium Nine though right now but game does launch so once we can sort that out should be able to fully test.

That was quick, thanks :)

So to summarize, vblank_mode is basically V-Sync which is usually turned on by default in Mesa, I set the game to not use it to prevent performance loss, the mesa_glthread setting is for multithreaded rendering which improves performance in some games, I set this to make sure the game uses it regardless of what the global system setting is set to, the aim here is also to prevent performance loss. Those 2 are just warnings, nothing bad.

As for ncurses5, it can probably be safely ignored, however I will try to include this in the package as further notice.

Finally the bigger issue: Gallium Nine checkbox grayed out, I expected it with my hardware, but if it's happening also for you, something may be wrong with my build.

EDIT: Well turns out that to compile Wine from source with G9 support you need to have Mesa with G9 installed beforehand, otherwise Wine will compile without the required library and will leave you with just a grayed out checkbox (which is exactly what I did). :)

That brings me to a conclusion, I will take some time to gather info, possibly learn how to compile Mesa myself too and I'll see if I can get a cheap modern AMD card to test with. Might be a while till I get this all set up.

Link to comment
Share on other sites

@ArmoredVehicle.2849 said:

@jbrother.1340 said:I am currently running gw2 with gallium straight through WINE.

I've been wanting to ask you about Gallium, are you also using esync in combination with it? If yes, how is the performance compared with esync off?

Those 2 features together can probably get the game to run with almost the same performance as on Windows. I'm considering getting a cheap AMD gpu just to compare it with Win (and hopefully make Gallium package out of it) :)

It has been a while since I have had to mess with it and forgotten. I will have to check later.

Do you know is that part of the wine-nine in opensuse or is was that an option to turn on in the config files for wine? I for some reason am brain dead today, but my job is sort of crushing my left lobe today :)

E-Sync is a separate set of patches that help CPU intensive games (such as GW2), for non-Gallium Nine users this helps massively but I was wondering if Gallium Nine+ESync = even better performance. If you'd be willing to give it a shot I can build you a special package. As my per usual builds, it will not affect your current Wine-Settings, everything is self contained.

I would be happy to test it. Just let me know. I will check back later and see how it is going and give it a try once you are ready.

I've managed to build a custom version of Wine with both ESync and Gallium 9 inside. It looks promising but without AMD hardware I won't be able to get far into testing this myself, so you'll have to be my eyes on this one :)

Download Link:

Installation is as follows:

1) Unzip the package somewhere2) In terminal run ./setup.sh3) In terminal run ./wine_settings.sh > From here go to 'Staging' tab and tick 'Enable Gallium Nine for better D3D9 graphic performance'4) From that same folder open up "data/drive_c/GW2" and put the game files there, Note: The executable must be named "GW2.exe"5) Run ./play.sh and you're done

As I mentioned earlier, this runs entirely in portable mode and will not touch anything from your current setup. If you get stuck somewhere let me know.

I should have some time to test this in the next couple of days and will report back once I do or if I have issues.

So just out of curiosity. Are you just using the wine-nine-staging version and integrating the esync patches in with that when you build this up? I am no linux guru by any means but I do like to learn more when I can.

PS,One more question as I seem to have forgotten in my head...I have a hybrid GPU laptop that also has amd gear an rx560 in it.

Where do I put the DRI_PRIME=1 switch to force the AMD GPU over the integrated one? I just cannot remember in your scripting where to add it.

I just tried initial setup quickly to see what it would do.

It launches wine config windows but the "enable Gallium Nine" option in staging tab is grey'd out for me? Not sure why. I have not done a distro upgrade on tumbleweed recently but I do have Mesa drivers installed as well as amdgpu? I am going to do a reboot just to see and might do a distro upgrade later to make sure something is not out of wack but it sometimes breaks stuff bad and I need to do some backups of some data first so it might take a bit.

EDIT:

I tried to run game after copying over data files and it starts and updates the launcher and did attempt to run. I get opening music and cursor change but then it goes black screen on me and only can hear music

I get the following in terminal and it drops back to $ prompt but keeps black screen window open.

ATTENTION: default value of option vblank_mode overridden by environment. ATTENTION: default value of option mesa_glthread overridden by environment. ATTENTION: default value of option vblank_mode overridden by environment. ATTENTION: default value of option mesa_glthread overridden by environment.

I might have copied over some bad data so I am going to overwrite it with the last data I had in your previous package not the updated game files from my gallium install and try again.

EDIT #2:

Ok I tried again after recopying the data and I get same as above but also

Wine cannot find the ncurses library (libncurses.so.5).
I do have the libncurses6 libraries installed but not 5 and not sure if that matter or if I should ignore.

It did launch this time though to character screen. I don't think though with Gallium option unchecked in config it is actually running Gallium Nine though right now but game does launch so once we can sort that out should be able to fully test.

That was quick, thanks :)

So to summarize, vblank_mode is basically V-Sync which is usually turned on by default in Mesa, I set the game to not use it to prevent performance loss, the mesa_glthread setting is for multithreaded rendering which improves performance in some games, I set this to make sure the game uses it regardless of what the global system setting is set to, the aim here is also to prevent performance loss. Those 2 are just warnings, nothing bad.

As for ncurses5, it can probably be safely ignored, however I will try to include this in the package as further notice.

Finally the bigger issue: Gallium Nine checkbox grayed out, I expected it with my hardware, but if it's happening also for you, something may be wrong with my build.

EDIT: Well turns out that to compile Wine from source with G9 support you need to have Mesa with G9 installed beforehand, otherwise Wine will compile without the required library and will leave you with just a grayed out checkbox (which is exactly what I did). :)

That brings me to a conclusion, I will take some time to gather info, possibly learn how to compile Mesa myself too and I'll see if I can get a cheap modern AMD card to test with. Might be a while till I get this all set up.

That makes sense both parts.

I am using an HD7950 in this PC. I think you probably can get one or similar for about 40-60$ on ebay but who knows of quality for a used card and they are getting older at this point.

I wish I knew more about compiling at this level of complexity but it still beyond my skill set.

Just let me know once you are ready for further testing and I will keep checking back.

I appreciate the effort you are putting in :)

PS

side note. I installed the libncurses5 libraries and error went away. Not sure if it even really matters as the second time I launched after a reboot it still did error in that way but still launched the game.

Link to comment
Share on other sites

@wisemonkey.6275 said:This has been working really well. I would like to know if we can run GW2 with addons (for e.g. ARCDPS) when running through wineThanks

What addons are you talking about? Stuff like dps meters and such? It is possible I think but I personally have not tried as I don't use them. I have seen posts on other forums of people getting DPS meters going but you would need to look around on the internet and probably integrate some of those files into the system files inside of the WINE prefix for GW2 if you set it up manually. I am guessing you might be able to with Armor's packages here but you might need to talk with him to see about that.

Link to comment
Share on other sites

@jbrother.1340 said:

@wisemonkey.6275 said:This has been working really well. I would like to know if we can run GW2 with addons (for e.g. ARCDPS) when running through wineThanks

What addons are you talking about? Stuff like dps meters and such? It is possible I think but I personally have not tried as I don't use them. I have seen posts on other forums of people getting DPS meters going but you would need to look around on the internet and probably integrate some of those files into the system files inside of the WINE prefix for GW2 if you set it up manually. I am guessing you might be able to with Armor's packages here but you might need to talk with him to see about that.

Yes I was looking specifically for ARC and build-templates.I'll try to search around and see if I can get them working, Thanks :+1:

Link to comment
Share on other sites

HI there,

Thanks so much for making this package! Here's my experience with it. I'm running Debian 9 stretch with the stretch-backports nvidia driver and kernel.

  • Like others in this thread, I simply can't get the launcher to not hang up the entire machine. I edited the end of your user_run script so that it first calls GW2.exe with -image -nopatchui, and then calls it again with -maploadinfo -dx9single -nopatchui. I then pass in the -email <address> -password <password> options when invoking run.sh.
  • On an NVidia Optimus laptop (Lenovo X1 Extreme, Intel + GTX1050) running bumblebee, adding primusrun ahead of the invocation of wine64 was necessary. You can't just optirun or primusrun the play.sh script since optirun/primusrun will not apply to grandchild processes spawned by whatever it starts, as I understand it.
  • On the same laptop, for some reason, I'm unable to select different full screen resolutions unless I first go to windowed mode, then back to a new full screen resolution. (I can't readily run at native res; 4k is just a bit too much load for the GTX1050 and this CPU-bound game.)
  • Finally it seemed necessary to kill compiz (compositing WM that I use alongside Fluxbox) when I first started trying to run the program; I'm not sure if this is still strictly necessary.

So the resultant last 4 lines of bin/user_run look like:

# Launch Commandcd "$PWD/data/drive_c/GW2"primusrun "../../../bin/wine64" ./GW2.exe -image -nopatchuiprimusrun "../../../bin/wine64" ./GW2.exe $@ -maploadinfo -dx9single -nopatchui

I do have the two-factor auth turned on, and I'm worried about the next time I have to move networks - not sure how I'll deal with the launcher hanging the entire system in that case; might have to try using the virtual desktop option with winecfg.

Hope this helps someone!

Link to comment
Share on other sites

@shinything.2380 said:I do have the two-factor auth turned on, and I'm worried about the next time I have to move networks - not sure how I'll deal with the launcher hanging the entire system in that case; might have to try using the virtual desktop option with winecfg.

Hi,

Installing the 'libfreetype6:i386' package, solves the problem with the launcher issue.

Link to comment
Share on other sites

@"wisemonkey.6275" said:This has been working really well. I would like to know if we can run GW2 with addons (for e.g. ARCDPS) when running through wineThanks

I have been using ArcDPS on Linux/Wine (both with default wine from repository, and with the package made by ArmoredVehicle) setup for quite some time without much problems. You install it similar way as in Windows by copying ArcDPS DLL file to correct directory (I think it was GW2 bin64/ for me; I have made it a symlink to point to separate directory where I have ArcDPS files downloaded). Now, what you might need to do is to use winecfg to change DX9 loading from "builtin" to for example "native, builtin". Otherwise Wine keeps loading its internal implementation, even if DLL is available.

Link to comment
Share on other sites

Hey Folks,I am currently running two partitions on my Notebook: Ubuntu for everything and Win10 for GW2, and GW2 ONLY. Guildwars2 is literally the only reason I keep a Windows 10 partition around..Now, I would love to play GW2 on my Ubuntu partition, but i am a little worried about its performance on Ubuntu. I mainly do PVP and Raids.I am playing on a ThinkPad T450s 20BW-S2KM, i7-5600u, Nvidia 940M,12GB DDR3, 512SSD.

What's you experience, comparing the performance of GW2 on Windows vs Ubuntu?

Link to comment
Share on other sites

My 2 cents about performance, specifically proton.
My config is Arch Linux with 4.20 kernel and latest mesa.I've got amd RX 590 gpu and at the start was very disappointed about it's performance with gw2: there were constant heavy framerate drops from 60 to like 15, regardless of settings. I used default settings from Lutris and ArmoredVehicle's package (but before ArmoredVehicle released package with esync+gallium9) It was pretty much unplayable until I tried to launch it via proton. I just installed gw2 via Lutris and select "proton 3.16-beta" as runner (I have Steam alongside with proton enabled so this runner was available without any additional actions). And boom - smooth 50-60 fps on almost ultra settings in 1440p. It drops lower in cities ofc, but in combat it's fine.

Link to comment
Share on other sites

@"WunderWaffla.9485" said:My 2 cents about performance, specifically proton.

My config is Arch Linux with 4.20 kernel and latest mesa.I've got amd RX 590 gpu and at the start was very disappointed about it's performance with gw2: there were constant heavy framerate drops from 60 to like 15, regardless of settings. I used default settings from Lutris and ArmoredVehicle's package (but before ArmoredVehicle released package with esync+gallium9) It was pretty much unplayable until I tried to launch it via proton. I just installed gw2 via Lutris and select "proton 3.16-beta" as runner (I have Steam alongside with proton enabled so this runner was available without any additional actions). And boom - smooth 50-60 fps on almost ultra settings in 1440p. It drops lower in cities ofc, but in combat it's fine.

I also have steam installed in openesuse with Proton 3.16 beta setup. I am not getting options for this in lutris when I try and install a runner? Did you have to take additional manual steps to make this runner available? I don't user Lutris very much normally do this manually with WINE so I am not that savvy with it and might be looking in the wrong spot or missed a step? I try and test all these different methods of playing GW2 with Linux and would like to test this as well if you can provide more info.

Link to comment
Share on other sites

@"jbrother.1340" said:

Did you have to take additional manual steps to make this runner available?Like I said I did nothing additional, just launched lutris and select runner in gw2 runner options. The only thing I did was installing tkg-protonified-3.21 wine version from lutrise's manage versions dialog but I never used it. I deleted it and proton runner still shows up.

I have Lutris 0.4.23. As I can see from lutrise's github proton should be detected since version 0.4.21:https://github.com/lutris/lutris/issues/1056Maybe you've got older Lutris version.

I also found this reddit thread:https://www.reddit.com/r/wine_gaming/comments/99fr3y/will_lutris_get_a_proton_wine_runner/Maybe it will be useful.

Link to comment
Share on other sites

@"ArmoredVehicle.2849" said:EDIT: Well turns out that to compile Wine from source with G9 support you need to have Mesa with G9 installed beforehand, otherwise Wine will compile without the required library and will leave you with just a grayed out checkbox (which is exactly what I did). :)

That brings me to a conclusion, I will take some time to gather info, possibly learn how to compile Mesa myself too and I'll see if I can get a cheap modern AMD card to test with. Might be a while till I get this all set up.

Does your distro not build Mesa with the d3d9 option enabled? Even if you're running the Nvidia binary drivers, you should still be able to compile Wine against the Mesa d3d9 libraries, the Mesa development libraries and the Nvidia drivers can coexist. I have found that on some distros, you have to tell configure where to find the libraries (--with-d3d9-nine-module=<YOUR_PATH_TO_D3DADAPTER9.so.1>).

Anyway, figured I would chime in, I managed to get your 'basic' Intel/AMD Wine build from the top post to work with Gallium Nine and my R9 280X. I disabled PBA, so I'm only running with esync and Gallium Nine enabled, but performance is noticeably better, around 10 FPS, and much more stable (~70 FPS in early zones, ~45 FPS in new ones). "Skill lag" is greatly reduced when there are many players on screen.

I installed the correct 'standalone' Gallium Nine release for my distro (Fedora 29) directly from iXit. That gets you the necessary DLLs and exe files to link into your Wine build to enable Gallium Nine. I then symlinked them into your Wine build. Something like this:

ln -s /lib/wine/ninewinecfg.exe.so ~/wine_gw2_1.6_intel_amd/GW2/lib/wine/ln -s /lib/wine/fakedlls/ninewinecfg.exe ~/wine_gw2_1.6_intel_amd/GW2/lib/wine/fakedllsln -s /lib/wine/d3d9-nine.dll.so ~/wine_gw2_1.6_intel_amd/GW2/lib/wine/ln -s /lib/wine/fakedlls/d3d9-nine.dll ~/wine_gw2_1.6_intel_amd/GW2/lib/wine/fakedllsln -s /lib64/wine/ninewinecfg.exe.so ~/wine_gw2_1.6_intel_amd/GW2/lib64/wine/ln -s /lib64/wine/fakedlls/ninewinecfg.exe ~/wine_gw2_1.6_intel_amd/GW2/lib64/wine/fakedllsln -s /lib64/wine/d3d9-nine.dll.so ~/wine_gw2_1.6_intel_amd/GW2/lib64/wine/ln -s /lib64/wine/fakedlls/d3d9-nine.dll ~/wine_gw2_1.6_intel_amd/GW2/lib64/wine/fakedlls

I created a couple of new run scripts that use a new Wine prefix so the above DLLs would make it into the prefix. It may also be possible to somehow copy them into your premade prefix, but I didn't try. I also made a script using the new Wine prefix, but runs ninewinecfg which is necessary to set up the DLL override. Both scripts were just slight variations of your user_run script.

After that, just run the script that runs ninewinecfg, check the box, then run the game script.

Link to comment
Share on other sites

@BNiels.7648 said:

@"ArmoredVehicle.2849" said:EDIT: Well turns out that to compile Wine from source with G9 support you need to have Mesa with G9 installed beforehand, otherwise Wine will compile without the required library and will leave you with just a grayed out checkbox (which is exactly what I did). :)

That brings me to a conclusion, I will take some time to gather info, possibly learn how to compile Mesa myself too and I'll see if I can get a cheap modern AMD card to test with. Might be a while till I get this all set up.

Does your distro not build Mesa with the d3d9 option enabled? Even if you're running the Nvidia binary drivers, you should still be able to compile Wine against the Mesa d3d9 libraries, the Mesa development libraries and the Nvidia drivers can coexist. I have found that on some distros, you have to tell
configure
where to find the libraries (
--with-d3d9-nine-module=<YOUR_PATH_TO_D3DADAPTER9.so.1>
).

Anyway, figured I would chime in, I managed to get your 'basic' Intel/AMD Wine build from the top post to work with Gallium Nine and my R9 280X. I disabled PBA, so I'm only running with esync and Gallium Nine enabled, but performance is noticeably better, around 10 FPS, and much more stable (~70 FPS in early zones, ~45 FPS in new ones). "Skill lag" is greatly reduced when there are many players on screen.

I installed the correct 'standalone' Gallium Nine release for my distro (Fedora 29) directly from
. That gets you the necessary DLLs and exe files to link into your Wine build to enable Gallium Nine. I then symlinked them into your Wine build. Something like this:
ln -s /lib/wine/ninewinecfg.exe.so ~/wine_gw2_1.6_intel_amd/GW2/lib/wine/ln -s /lib/wine/fakedlls/ninewinecfg.exe ~/wine_gw2_1.6_intel_amd/GW2/lib/wine/fakedllsln -s /lib/wine/d3d9-nine.dll.so ~/wine_gw2_1.6_intel_amd/GW2/lib/wine/ln -s /lib/wine/fakedlls/d3d9-nine.dll ~/wine_gw2_1.6_intel_amd/GW2/lib/wine/fakedllsln -s /lib64/wine/ninewinecfg.exe.so ~/wine_gw2_1.6_intel_amd/GW2/lib64/wine/ln -s /lib64/wine/fakedlls/ninewinecfg.exe ~/wine_gw2_1.6_intel_amd/GW2/lib64/wine/fakedllsln -s /lib64/wine/d3d9-nine.dll.so ~/wine_gw2_1.6_intel_amd/GW2/lib64/wine/ln -s /lib64/wine/fakedlls/d3d9-nine.dll ~/wine_gw2_1.6_intel_amd/GW2/lib64/wine/fakedlls

I created a couple of new run scripts that use a new Wine prefix so the above DLLs would make it into the prefix. It may also be possible to somehow copy them into your premade prefix, but I didn't try. I also made a script using the new Wine prefix, but runs
ninewinecfg
which is necessary to set up the DLL override. Both scripts were just slight variations of your
user_run
script.

After that, just run the script that runs
ninewinecfg
, check the box, then run the game script.

Holy crap, that's some nice work right there, I read about the standalone G9 a few days ago. I'm happy to know the game runs even better :)

My builds don't come with gallium nine support as I still didn't figure out how to build the standalone library.

Which CPU are you running and are shadows enabled?

Thanks :-)

Link to comment
Share on other sites

@"ArmoredVehicle.2849" said:

Holy kitten, that's some nice work right there, I read about the standalone G9 a few days ago. I'm happy to know the game runs even better :)

My builds don't come with gallium nine support as I still didn't figure out how to build the standalone library.

Which CPU are you running and are shadows enabled?

Thanks :-)

You did most of the work! Hopefully you can find a good way to incorporate Gallium Nine with your build.

CPU is an Intel Xeon E3-1230 v3.

1600x1200 resolution, shadows low, reflections sky and terrain only. I can confirm FPS decreases with each increase in shadow detail.

Interestingly, enabling PBA seems to add a couple more FPS. This makes no sense to me since my understanding is the PBA patchset only applies to the DX->OpenGL code path, which isn't used with Gallium Nine. I can confirm that disabling Gallium Nine significantly reduces the framerate, so it is being used. I must be misunderstanding something somhow.

Anyway, using Gallium Nine with esync is definitely worth the effort if you have an AMD card, and likely for Intel users as well once Intel releases their Iris driver. I'd still be happier if ANet would expose the OpenGL renderer through a command line option...

Link to comment
Share on other sites

My apologies if this has been addressed already, I haven't found it if it has. I'm having an issue running GW2 with the i3 window manager. I'm running using the nvidia package from the first post in this thread, with i3wm on Ubuntu 18.04.1 on a 6GB 1060.

The game runs fine, but if it loses focus, such as if I switch focus to my other monitor or switch to a different virtual desktop, it goes completely black and I can't recover from it. I have to kill the game, then relaunch. In the graphics settings, if I select windowed or windowed fullscreen the same happens immediately. Likewise, if I use the window manager to attempt to break it from fullscreen into a window, I get the same thing. All of this means I have no way to switch to another application, such as chat, system monitor, web browser, etc., without having to relaunch the game.

In the case where I set the mode to windowed or windowed fullscreen, the setting persists on restart, but if I launch the game on a screen with another window of something else open, it will tile the window and the game renders properly in that window such that I can get back into settings and revert to native 1920x1080. In that state, if I make any adjustments to the window size it goes black.

The setup I'd like is one in which I can freely switch to other desktops and back to the game without issue, or at the very least be able to run fullscreen on one monitor and have the mouse non-captive so I can interact with applications on the second monitor while keeping the game rendering properly.

I don't have this issue with any native games, or any games through steam, all of which handle windowed or fullscreen operation without issue. I don't have any other games to test with wine though.

Is this something anyone knows a fix for?

I'm happy to provide any additional system information, logs or other debugging information if anyone can point me to what is relevant. I'm competent in Linux, but not with wine or gaming in particular (as applies to GPU drivers, etc.).

Cheers!

Link to comment
Share on other sites

@"SolidFreez.5096" said:My apologies if this has been addressed already, I haven't found it if it has. I'm having an issue running GW2 with the i3 window manager. I'm running using the nvidia package from the first post in this thread, with i3wm on Ubuntu 18.04.1 on a 6GB 1060.

The game runs fine, but if it loses focus, such as if I switch focus to my other monitor or switch to a different virtual desktop, it goes completely black and I can't recover from it. I have to kill the game, then relaunch. In the graphics settings, if I select windowed or windowed fullscreen the same happens immediately. Likewise, if I use the window manager to attempt to break it from fullscreen into a window, I get the same thing. All of this means I have no way to switch to another application, such as chat, system monitor, web browser, etc., without having to relaunch the game.

In the case where I set the mode to windowed or windowed fullscreen, the setting persists on restart, but if I launch the game on a screen with another window of something else open, it will tile the window and the game renders properly in that window such that I can get back into settings and revert to native 1920x1080. In that state, if I make any adjustments to the window size it goes black.

The setup I'd like is one in which I can freely switch to other desktops and back to the game without issue, or at the very least be able to run fullscreen on one monitor and have the mouse non-captive so I can interact with applications on the second monitor while keeping the game rendering properly.

I don't have this issue with any native games, or any games through steam, all of which handle windowed or fullscreen operation without issue. I don't have any other games to test with wine though.

Is this something anyone knows a fix for?

I'm happy to provide any additional system information, logs or other debugging information if anyone can point me to what is relevant. I'm competent in Linux, but not with wine or gaming in particular (as applies to GPU drivers, etc.).

Cheers!

Hi,

For the black screen issue you can try to disable OpenGL Flipping in the nvidia control panel, aside from that I really am out of ideas to what could be causing it.

As for the dual screen setup, you could try this: Run the 'wine_settings' script, go to "Graphics" tab and untick "Automatically capture the mouse in full-screen windows". If it doesn't work you could try to enable the "Emulate a virtual desktop" setting too. On my dual screen setup this works fine and I can use programs on the other screen without minimizing the game. Only issue I found is that the mouse cursor would go out of the screen if I rotate the game's camera long enough.

I hope it helps in some way.

Link to comment
Share on other sites

Hey, coming here from there. What launch arguments do you use? What exactly happens for you?

Currently, -autologin works for me, while -nopatchui just gives me a black screen. The "nopatchui" seems to have been made to not work anymore, based on what I've read.

Autologin at least makes it so I don't have to go through the difficulty of trying to type in my username and password into a super laggy launcher, but I still do have to get the launcher's window to refresh (it doesn't do this reliably) so that I can see and click the start button...

Link to comment
Share on other sites

@ArmoredVehicle.2849 said:

@shinything.2380 said:I do have the two-factor auth turned on, and I'm worried about the next time I have to move networks - not sure how I'll deal with the launcher hanging the entire system in that case; might have to try using the virtual desktop option with winecfg.

Hi,

Installing the 'libfreetype6:i386' package, solves the problem with the launcher issue.

Sorry, it doesn't. I already have that package installed. And of course, now, I can't use the -autologin -email -password options anymore.

I think the issue has something to do with my use of bumblebee, which is essential for my laptop. I'm not going to change over to pure nvidia just to play a game on it... :(

Link to comment
Share on other sites

@shinything.2380 said:

@shinything.2380 said:I do have the two-factor auth turned on, and I'm worried about the next time I have to move networks - not sure how I'll deal with the launcher hanging the entire system in that case; might have to try using the virtual desktop option with winecfg.

Hi,

Installing the 'libfreetype6:i386' package, solves the problem with the launcher issue.

Sorry, it doesn't. I already have that package installed. And of course, now, I can't use the -autologin -email -password options anymore.

I think the issue has something to do with my use of bumblebee, which is essential for my laptop. I'm not going to change over to pure nvidia just to play a game on it... :(

Which distro are you running if I may ask? I've been able to replicate this issue one of my systems with a clean Xubuntu 18.10, installing that package resolved right away. The only other issue I can think of is having a CPU with more than 16 cores / threads.

@"YaoMitachi.2397" said:Hey, coming here from there. What launch arguments do you use? What exactly happens for you?

Currently, -autologin works for me, while -nopatchui just gives me a black screen. The "nopatchui" seems to have been made to not work anymore, based on what I've read.

Autologin at least makes it so I don't have to go through the difficulty of trying to type in my username and password into a super laggy launcher, but I still do have to get the launcher's window to refresh (it doesn't do this reliably) so that I can see and click the start button...

So basically, when you open the launcher you only get a picture without any text? If so, you can try installing the 'libfreetype6:i386' package, for your distro, judging by @shinything.2380's report it may or may not resolved the issue.

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