Jump to content
  • Sign Up

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


Recommended Posts

  • Replies 1.1k
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Maybe we'll finally have some luck trying to make taco work properly on Linux without workarounds. It seems now is open-source:   http://www.gw2taco.com/2021/04/gw2-taco-is-going-open-source

@ArmoredVehicle.2849 said:

@ArmoredVehicle.2849 said:@"Turin.6921" said:Hello,

I seem to have crashes when ever i try to load into cities. I am on an R71700, RX470 with the Oibaf mesa drivers.This is the game crash report:
And this is the debug output:

Too many open files is something esync would cause, to solve it do the following:

As sudo (in a text editor) open "/etc/security/limits.conf" and at the end you'll find 2 entries named:
  • hard nofile (number)
  • soft nofile (number)

Set that number to something higher, in my case it's 1048576 and the game works fine that way. Save it and reboot your system.

Made a new set up downloading a clean copy of the game (before i was copying files from another GW2 wine install i have). Tried what you said above and tried commenting out STAGING_RT_PRIORITY_SERVER. I still get a crash and the too many open files error (even with higher number than the ones you added). although without the in game crash message this time.

https://paste.ubuntu.com/p/WRPwFrTyMb/

Link to post
Share on other sites

@loseridoit.2756 said:

@ThunderBiggi.4651 said:@loseridoit.2756 They are clearly trolling, just ignore them.

trolling is a good time to show the advantages and disadvantages of different engineering solutions.

people are complaining about bad pings and you wanna promote additional lagginess by running a windows native app on linux. dafak is that bork bork thinking?

bad engineering. must be gotten from some garbage-y sources.

Link to post
Share on other sites

@loseridoit.2756 said:

@ThunderBiggi.4651 said:@loseridoit.2756 They are clearly trolling, just ignore them.

trolling is a good time to show the advantages and disadvantages of different engineering solutions.

@ThunderBiggi.4651 said:@loseridoit.2756 They are clearly trolling, just ignore them.

truth hurts and won't set you free. it'll put you inside the sun.

Could you all do this someplace else...

it is a perfectly fine debate that is clogging up the informational thread. I do appreciate the passage of information and the assistance from anyone of course but this is not helping anything.

Link to post
Share on other sites

@ArmoredVehicle.2849 said:

@"jbrother.1340" said:Getting same errors "to many files" that is eluded to above. my limits.conf file does not contain that entry currently only hard/soft nproc but does list nofile above in the variables section that can be used. Can I just add it into the bottom of the file above the end file tag with a sufficiently high number or should I change the proc switch value? It looks like this right now:
        #*               soft    core            0        #*               hard    rss             10000        #@student        hard    nproc           20        #@faculty        soft    nproc           20        #@faculty        hard    nproc           50        #ftp             hard    nproc           0        #@student        -       maxlogins       4        # harden against fork-bombs        *               hard    nproc           16384        *               soft    nproc           4096        # root            hard    nproc           3000        # root            soft    nproc           1850        # End of file

If you add them manually it should fix the problem, "nproc" refers to number of processes (which doesn't apply for this problem) while "nofile" number of files. :-)

I added them manually and same error. Is there something else that needs to be added in addition someplace I am missing? It fails out about 2% into mapload only with that error: "eventfd to many files open".

Link to post
Share on other sites

@ArmoredVehicle.2849 said:

@jbrother.1340 said:Thanks again for your efforts.

I am going to give this new setup a try later once I have time. I want to now do comparisons from the gallium nine setup I have been testing to this and see which does better. I am curious to see how esync changes this on my old hardware.

When you get to it, can you please tell me if the mesa_glthread variable makes any effect on AMD GPU? I lack the hardware to test it.

Is this already set or do I need to make a settings change in one of the config files?

So far my first try is not getting better performance and might actually be worse with the same gfx settings. No real increase overall in stability slightly higher fps possibly but slightly unstable. I am not sure if I need to tweak wine settings or reg in my case. Going to test more. Have not had a lot of time to tinker lately. Will keep trying.

edit 1:

I realize I am getting an error in the new package when starting that I did not notice at first:

wineserver: failed to change priority to SCHED_FIFO/90

not sure if this is even relevant?

I have the previous package in another folder and just ran that and I am still getting a more stable run with that than the new package. I am guessing I need to tweak it for my old pc just not sure where atm.

edit 2:

more testing outside of major city or mistlock... it does seem to run more stable and my FPS at least initially does seem to be higher out on normal maps. A tad more stable possibly as well. Want to do a larger event to see. Usually I do teq so I am going to try tonight at reset if I can be on. Still getting the above error not quite sure why so far in my reading but I am still a Linux noob.

Link to post
Share on other sites

@"jbrother.1340" said:I added them manually and same error. Is there something else that needs to be added in addition someplace I am missing? It fails out about 2% into mapload only with that error: "eventfd to many files open".

Try this:

  • Open up '/etc/systemd/system.conf' (with sudo)
  • Find the line named #DefaultLimitNOFILE= and change it to DefaultLimitNOFILE=1048576

About performance - have you turned on 'mesa_glthread=true' env variable? I added it as a switch in '/bin/user_run' , I don't have an AMD GPU to test this feature with.


EDIT: I updated the main post with the above secondary solution to the "too many files open" issue. Thank you everyone for your reports :-)

Link to post
Share on other sites

@ArmoredVehicle.2849 said:

@"jbrother.1340" said:I added them manually and same error. Is there something else that needs to be added in addition someplace I am missing? It fails out about 2% into mapload only with that error: "eventfd to many files open".

Try this:
  • Open up '/etc/systemd/system.conf' (with sudo)
  • Find the line named
    #DefaultLimitNOFILE=
    and change it to
    DefaultLimitNOFILE=1048576

About performance - have you turned on 'mesa_glthread=true' env variable? I added it as a switch in '/bin/user_run' , I don't have an AMD GPU to test this feature with.

EDIT: I updated the main post with the above secondary solution to the "too many files open" issue. Thank you everyone for your reports :-)

Thanks for the info,

I think I just had a syntax issue in my limits.conf file. I looked at it and changed it around a bit and now it does load in without issue.

I get this error when it starts up in terminal and not sure if it is meaningful or just can be ignored.:

wineserver: failed to change priority to SCHED_FIFO/90


I did not have that switch on and will turn it on and try again and let you know if there is an increase in performance.

Link to post
Share on other sites

@jbrother.1340 said:

@jbrother.1340 said:I added them manually and same error. Is there something else that needs to be added in addition someplace I am missing? It fails out about 2% into mapload only with that error: "eventfd to many files open".

Try this:
  • Open up '/etc/systemd/system.conf' (with sudo)
  • Find the line named
    #DefaultLimitNOFILE=
    and change it to
    DefaultLimitNOFILE=1048576

About performance - have you turned on 'mesa_glthread=true' env variable? I added it as a switch in '/bin/user_run' , I don't have an AMD GPU to test this feature with.

EDIT: I updated the main post with the above secondary solution to the "too many files open" issue. Thank you everyone for your reports :-)

Thanks for the info,

I think I just had a syntax issue in my limits.conf file. I looked at it and changed it around a bit and now it does load in without issue.

I get this error when it starts up in terminal and not sure if it is meaningful or just can be ignored.:

wineserver: failed to change priority to SCHED_FIFO/90

I did not have that switch on and will turn it on and try again and let you know if there is an increase in performance.

I have turned it on and tested and not really sure if I am getting better performance overall.

Should I be seeing this in terminal when starting:

wineserver: failed to change priority to SCHED_FIFO/90ATTENTION: default value of option vblank_mode overridden by environment.ATTENTION: default value of option mesa_glthread overridden by environment

does that indicate it is failing to apply this switches?

Link to post
Share on other sites

@jbrother.1340 said:

Should I be seeing this in terminal when starting:

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

does that indicate it is failing to apply this switches?

It indicates that the game is now using the settings set by the launch script rather than the system's global ones. vblank_mode (V-Sync) for example is on by default (1), in the script however will turn it off (0) for the game. I've set it this way to ensure best performance (you can still use the ingame fps limiter). The terminal is just indicating what's going on, but it's normal.

Link to post
Share on other sites

@"xylef.8307" said:

Try this:
  • Open up '/etc/systemd/system.conf' (with sudo)
  • Find the line named
    #DefaultLimitNOFILE=
    and change it to
    DefaultLimitNOFILE=1048576

This is the way to change the limit in distros using systemd.Also, you need to change it in /etc/systemd/user.conf too.

I'm still getting the "Too many open files" and the game freezes after selecting character to load.Here's my user.conf

DefaultLimitNOFILE=1048576

systemd/system.conf

DefaultLimitNOFILE=1048576

And what I have for the /etc/security/limits.conf

* soft core 0

root hard core 100000

* hard rss 10000

@student hard nproc 20

@faculty soft nproc 20

@faculty hard nproc 50

ftp hard nproc 0

ftp - chroot /ftp

@student - maxlogins 4

* hard nofile 1048576

* soft nofile 5000

I have rebooted since changing the values. Thoughts on what I have wrong or what I can check?

Edit Sorry, I'm not sure how to fix the formatting so it isn't so large for the values of the files after I paste it in here.

Link to post
Share on other sites

@kalel.6129 said:

@"xylef.8307" said:

Try this:
  • Open up '/etc/systemd/system.conf' (with sudo)
  • Find the line named
    #DefaultLimitNOFILE=
    and change it to
    DefaultLimitNOFILE=1048576

This is the way to change the limit in distros using systemd.Also, you need to change it in /etc/systemd/user.conf too.

I'm still getting the "Too many open files" and the game freezes after selecting character to load.Here's my user.conf

DefaultLimitNOFILE=1048576

systemd/system.conf

DefaultLimitNOFILE=1048576

And what I have for the /etc/security/limits.conf

* soft core 0

root hard core 100000

* hard rss 10000

@student hard nproc 20

@faculty soft nproc 20

@faculty hard nproc 50

ftp hard nproc 0

ftp - chroot /ftp

@student - maxlogins 4

* hard nofile 1048576

* soft nofile 5000

I have rebooted since changing the values. Thoughts on what I have wrong or what I can check?

Edit
Sorry, I'm not sure how to fix the formatting so it isn't so large for the values of the files after I paste it in here.

use the code tag from the options above and it puts it into a more pleasing block of text and blocks it out

Link to post
Share on other sites

@ArmoredVehicle.2849 said:

* hard nofile 1048576

* soft nofile 5000

I have rebooted since changing the values. Thoughts on what I have wrong or what I can check?

If you set the (soft nofile to 1048576) does it still produce the error?

Same error and actually locked up my system where I couldn't get it to release control of the GW2 screen (got error saying that the Wine program is not responding or something like that). Had to do a reset on my PC. Right now this new version hasn't worked for me at all and older one is better for me.Thanks.

Link to post
Share on other sites

Just downloaded and installed the new patch and my experience was amazing. Worked out of box for me. I did a Karka run this morning at ~18fps with the old patch, then patched and went back in to beat Teq at 30+ the whole time. I had to keep checking the framerate to make sure I wasn't seeing things. I did experience some mouse issues when switching between fullscreen and windowed. When I went into windowed mode my cursor disappeared then when I tried to move the camera it went bonkers. I just closed and relaunched.

Link to post
Share on other sites

I reverted my file limits in all files, deleted the GW2 root folder and went through ./setup again and copying over my .dat game file. Initial testing was amazing. It was reporting 80+fps, which not even sure I've seen that in Windows - not sure I believe it :P This was on map Lake Doric. When trying to go to LA for a real test - GW2 bugged out and brought up a crash report for ArenaNet. Terminal was just flooded with 'too many open files'. New patch looks amazing, unfortunately I cannot run it.

Link to post
Share on other sites

@"kalel.6129" I had similar problems (I have a few posts above), but I finally managed to resolve them after trying almost every possible combination of the suggested above fixes. Below is what worked.

I reinstalled the game, but this time I didn't copy my data from the older patch (the June one) I just let the GW2 launcher download everything by itself - so a proper clean install.Then I editted "/etc/security/limits.conf" exactly as ArmoredVehicle.2849 suggests in the first post of this thread.Furthermore I changed the line #DefaultLimitNOFILE= in both '/etc/systemd/system.conf' and '/etc/systemd/user.conf' (with sudo) to DefaultLimitNOFILE=1048576 (notice the absence of # in front).

This is all on Ubuntu 18.04. It might be possible that on other systems '/etc/systemd/system.conf'and '/etc/systemd/system.conf' might have other equivalents.

Then I started the game and it worked. It did take a very long time to load (usually it is almost immediate for me, as I am using an SSD) the first time after I clicked play with my character (I actually went to eat after waiting for 5-6 minutes, so not sure whether it was 7 or 27 mintues). Now it loads quickly as usual and deffinitely way better performance.

@ArmoredVehicle.2849 Thank you for doing this!!!

Link to post
Share on other sites

@ThunderBiggi.4651 said:@"kalel.6129" I had similar problems (I have a few posts above), but I finally managed to resolve them after trying almost every possible combination of the suggested above fixes. Below is what worked.

I reinstalled the game, but this time I didn't copy my data from the older patch (the June one) I just let the GW2 launcher download everything by itself - so a proper clean install.Then I editted "/etc/security/limits.conf" exactly as ArmoredVehicle.2849 suggests in the first post of this thread.Furthermore I changed the line #DefaultLimitNOFILE= in both '/etc/systemd/system.conf' and '/etc/systemd/user.conf' (with sudo) to DefaultLimitNOFILE=1048576.

This is all on Ubuntu 18.04. It might be possible that on other systems '/etc/systemd/system.conf'and '/etc/systemd/system.conf' might have other equivalents.

Then I started the game and it worked. It did take a very long time to load (usually it is almost immediate for me, as I am using an SSD) the first time after I clicked play with my character (I actually went to eat after waiting for 5-6 minutes, so not sure whether it was 7 or 27 mintues). Now it loads quickly as usual and deffinitely way better performance.

@ArmoredVehicle.2849 Thank you for doing this!!!

Thanks! I missed ArmoredVehicle's example of troubleshooting in the first post. I'll re-do the setup from scratch and let the game re-download on my slow connection :( I'll then test out what you did and post back in 5-6 hours I'm guessing. Appreciate the feedback.

Link to post
Share on other sites

Hi, and thanks for the patches! Anyways, this newest one causes too much instability in my system, so I reverted back to the previous one. If you are trying to install GW2 at first time to Linux + Wine, I'd still recommend fresh install with staging wine. Also, the previous patch in this thread was pretty stable.

Link to post
Share on other sites

@TamX.1870 said:Hi, and thanks for the patches! Anyways, this newest one causes too much instability in my system, so I reverted back to the previous one. If you are trying to install GW2 at first time to Linux + Wine, I'd still recommend fresh install with staging wine. Also, the previous patch in this thread was pretty stable.

May I ask what kind of instabilities are you getting?

Link to post
Share on other sites

@kalel.6129 said:

@ThunderBiggi.4651 said:@kalel.6129 I had similar problems (I have a few posts above), but I finally managed to resolve them after trying almost every possible combination of the suggested above fixes. Below is what worked.

I reinstalled the game, but this time I didn't copy my data from the older patch (the June one) I just let the GW2 launcher download everything by itself - so a proper clean install.Then I editted "/etc/security/limits.conf" exactly as ArmoredVehicle.2849 suggests in the first post of this thread.Furthermore I changed the line
#DefaultLimitNOFILE=
in both '/etc/systemd/system.conf' and '/etc/systemd/user.conf' (with sudo) to
DefaultLimitNOFILE=1048576
.

This is all on Ubuntu 18.04. It might be possible that on other systems '/etc/systemd/system.conf'and '/etc/systemd/system.conf' might have other equivalents.

Then I started the game and it worked. It did take a very long time to load (usually it is almost immediate for me, as I am using an SSD) the first time after I clicked play with my character (I actually went to eat after waiting for 5-6 minutes, so not sure whether it was 7 or 27 mintues). Now it loads quickly as usual and deffinitely way better performance.

@"ArmoredVehicle.2849" Thank you for doing this!!!

Thanks! I missed ArmoredVehicle's example of troubleshooting in the first post. I'll re-do the setup from scratch and let the game re-download on my slow connection :( I'll then test out what you did and post back in 5-6 hours I'm guessing. Appreciate the feedback.

Process is finally over and game crashes when I try to load a character. Terminal is still flooded with "Too many open files" even though all three files have been modified as suggested and I've rebooted after modifying them. This was also at the end of the terminal output:"Protocol error: process 0008: sendmsg: Bad file descriptoresync: write: Bad file descriptor"

Thanks but not looking promising.

Link to post
Share on other sites

@kalel.6129 said:

@ThunderBiggi.4651 said:@kalel.6129 I had similar problems (I have a few posts above), but I finally managed to resolve them after trying almost every possible combination of the suggested above fixes. Below is what worked.

I reinstalled the game, but this time I didn't copy my data from the older patch (the June one) I just let the GW2 launcher download everything by itself - so a proper clean install.Then I editted "/etc/security/limits.conf" exactly as ArmoredVehicle.2849 suggests in the first post of this thread.Furthermore I changed the line
#DefaultLimitNOFILE=
in both '/etc/systemd/system.conf' and '/etc/systemd/user.conf' (with sudo) to
DefaultLimitNOFILE=1048576
.

This is all on Ubuntu 18.04. It might be possible that on other systems '/etc/systemd/system.conf'and '/etc/systemd/system.conf' might have other equivalents.

Then I started the game and it worked. It did take a very long time to load (usually it is almost immediate for me, as I am using an SSD) the first time after I clicked play with my character (I actually went to eat after waiting for 5-6 minutes, so not sure whether it was 7 or 27 mintues). Now it loads quickly as usual and deffinitely way better performance.

@"ArmoredVehicle.2849" Thank you for doing this!!!

Thanks! I missed ArmoredVehicle's example of troubleshooting in the first post. I'll re-do the setup from scratch and let the game re-download on my slow connection :( I'll then test out what you did and post back in 5-6 hours I'm guessing. Appreciate the feedback.

Process is finally over and game crashes when I try to load a character. Terminal is still flooded with "Too many open files" even though all three files have been modified as suggested and I've rebooted after modifying them. This was also at the end of the terminal output:"Protocol error: process 0008: sendmsg: Bad file descriptoresync: write: Bad file descriptor"

Thanks but not looking promising.

Open a terminal and type these 2 commands please:

ulimit -Hnulimit -Sn

Both of these commands will print a number, can you please post it here or a screenshot of the terminal itself?

Link to post
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...