ehm, you have to install the game via wine setup.exe and then go to the games directory, where you enter the command
cd .wine/drive_c/Program Files/Guild\ Wars 2
STAGING_SHARED_MEMORY=1 WINEDEBUG="-all" csmt_force=1 wine Gw2-64.exe -maploadinfo -dx9single
(the wine-any is for gentoo users who have installed wine-any-VERSION, gentoo lets you install douzends of wine versions in parallel).
Ok, sorry, I was assuming most were using the ./setup script from OP for how they were running this. I'll look to download and setup x64 and go from there with trying to change away from wine-any as well.
Thanks.
Got this running with the command you provided but not seeing any difference from just running ./play.sh. HOT map I get between 13-20 fps, Queensdale I can sometimes jump to 30. None of the CPU cores are hitting above 50% so I don't think I'm limited there, yet? Any thoughts on what I can look to tweak to try and get it more fluid? Right now I have lots of waiting for textures etc. to load and then I can run about. If a decent group of people are around some will "pop up" as it slowly loads the area of characters. All settings are turned to lowest possible.
@jbrother.1340 said:
right now what concerns me is that running it like this I cannot access the trading post at all or the store. I get net error. If I load another way armor's script or lutris/playonlinux it will let it load but starting it via cli and the gallium setup I cannot? Any thoughts on that?
Can you please post the terminal log with Gallium? Even if there's a slight indication of the error, it might be enough to find the cause.
I updated mesa to 18.2, wine(any) to 3.15. Played some wvw. Performance was very pleasant. Despite some big fights going on. Didn't even need to drop to 'lowest' character and model count.
But then again, I don't use third party installation methods. Just gentoo's wine version with staging and d3d9.
what's the logic of playing gw2 on linux when all the premade gaming pcs are running on windows and gw2 is designed to run on mac/windows pc? must be sinister. lel.
Your Math Tèacher [MATH]
Digital Headhuntaz [aBrA]
No, those flags are meant to enable the amdgpu kernel driver. Amdgpu and Radeon uses the same shader path for both opengl and gallium nine.
Amdgpu has the ANV vulkan driver.
You should post logs printed on the console. The marketplace worked when I last remembered it.
I do not feel like downloading the game and logging in anymore to test.
use stderr redirect to a file. Append this line to the gw2 console.
2> gw2_error.txt
Either way, gallium nine devs would probably ask you to run with full debug to figure out what is wrong.
@alcopaul.2156 said:
what's the logic of playing gw2 on linux when all the premade gaming pcs are running on windows and gw2 is designed to run on mac/windows pc? must be sinister. lel.
Please understand this is thread is not a debate about what and why. it is a thread to troubleshoot issues surrounding playing GW2 with Linux. Please start another thread if you want to have that discussion.
you will notice almost the entire thread and replies are dealing with troubleshooting or method of this.
It is totally ok you don't want to play it on linux. It is also totally ok that some of us do, no further explanation on either end is needed and at least in my case is not desired either.
Testing out the installer, not getting some of the frame rates you guys are but its buttery smooth nonetheless. Definitely keeping an eye on this project. I really want to switch back to linux full time.
Using a GTX 1060 and a intel i5, any ideas on why the frame rate hovers around 20 in aerodrome and lion's arch?
ehm, you have to install the game via wine setup.exe and then go to the games directory, where you enter the command
cd .wine/drive_c/Program Files/Guild\ Wars 2
STAGING_SHARED_MEMORY=1 WINEDEBUG="-all" csmt_force=1 wine Gw2-64.exe -maploadinfo -dx9single
(the wine-any is for gentoo users who have installed wine-any-VERSION, gentoo lets you install douzends of wine versions in parallel).
Ok, sorry, I was assuming most were using the ./setup script from OP for how they were running this. I'll look to download and setup x64 and go from there with trying to change away from wine-any as well.
Thanks.
Got this running with the command you provided but not seeing any difference from just running ./play.sh. HOT map I get between 13-20 fps, Queensdale I can sometimes jump to 30. None of the CPU cores are hitting above 50% so I don't think I'm limited there, yet? Any thoughts on what I can look to tweak to try and get it more fluid? Right now I have lots of waiting for textures etc. to load and then I can run about. If a decent group of people are around some will "pop up" as it slowly loads the area of characters. All settings are turned to lowest possible.
I've tried to go further with this but probably close to my "know how". I've tried through PlayOnLinux but can't even install GW2 - no screen pops up and just sits there showing a gray screen if I hover over it.
I seem to get slower fps/worse performance when trying x64 client, with or without wine64. Running just the GW2.exe with wine64 grants slower loads and worse fps as well. I do find it odd that x86 will give me better performance than using the x64 client, thoughts? I see from https://wiki.guildwars2.com/wiki/Guild_Wars_2_on_Wine they mention wine 3.3 and for CSMT or enable it manually - mine winecfg doesn't have a 'Staging' tab. So far with default setup from OP and turning settings lowest and not doing scale to DPI I'm getting pretty good results. Drop to maybe 16fps in LA and was jumping into 40s at times when gliding around in Maguma.
Do I need to look at updating wine or just be content with what I get and even though CPU isn't maxing, this is the best I can do with it on Linux? Quick Google was looking like WineHQ? Disabling certain features to enable others (if reg. wine is different than winehq) is not something I'm familiar on how to do.
No, those flags are meant to enable the amdgpu kernel driver. Amdgpu and Radeon uses the same shader path for both opengl and gallium nine.
Amdgpu has the ANV vulkan driver.
You should post logs printed on the console. The marketplace worked when I last remembered it.
I do not feel like downloading the game and logging in anymore to test.
use stderr redirect to a file. Append this line to the gw2 console.
2> gw2_error.txt
Either way, gallium nine devs would probably ask you to run with full debug to figure out what is wrong.
@Rikou.4720 said:
Testing out the installer, not getting some of the frame rates you guys are but its buttery smooth nonetheless. Definitely keeping an eye on this project. I really want to switch back to linux full time.
Using a GTX 1060 and a intel i5, any ideas on why the frame rate hovers around 20 in aerodrome and lion's arch?
@alcopaul.2156 said:
what's the logic of playing gw2 on linux when all the premade gaming pcs are running on windows and gw2 is designed to run on mac/windows pc? must be sinister. lel.
You actually experience fewer driver issues on Linux. Linux drivers have a tendency to be written for correctness with a strong regression testing. IHV do not have room to play this driver obscuration game like they do on windows since all drivers are open source. For games like Gw2, Anet is pretty good at Q/A. If you see graphics issues on tech support, it is more likely it due to driver issues than Anet programmers.
@alcopaul.2156 said:
what's the logic of playing gw2 on linux when all the premade gaming pcs are running on windows and gw2 is designed to run on mac/windows pc? must be sinister. lel.
You actually experience fewer driver issues on Linux. Linux drivers have a tendency to be written for correctness with a strong regression testing. IHV do not have room to play this driver obscuration game like they do on windows since all drivers are open source. For games like Gw2, Anet is pretty good at Q/A. If you see graphics issues on tech support, it is more likely it due to driver issues than Anet programmers.
That and the occasional graphics card giving in to old age.
As for sinister logic, I guess we'd all welcome it, if Anet ported GW2 to run natively on Linux. However, Anet may not have the time and manpower to port their client/engine using inhouse labour, nor the money and risk/reward expectation to let their client/engine be ported over by another company.
Though I suspect their servers may already be running on linux, porting over all those graphical goodies from DirectX 9.0 to OpenGL is a lot of work. And Anet may not be willing to open up their codebase for a group of maintainers to port the client, because of trade secrets, that may inevitably be picked up by the competition.
So for the time being, WINE is good enough to run Guild Wars 2 on Linux. It is not hyper-optimized, but I can enjoy dungeons, raids and any instanced content without issue, open world is generally fluid, only massive zergs with lots of effects á la prime time Palawadan get my FPS to noticeably slow down.
@alcopaul.2156 said:
what's the logic of playing gw2 on linux when all the premade gaming pcs are running on windows and gw2 is designed to run on mac/windows pc? must be sinister. lel.
You actually experience fewer driver issues on Linux. Linux drivers have a tendency to be written for correctness with a strong regression testing. IHV do not have room to play this driver obscuration game like they do on windows since all drivers are open source. For games like Gw2, Anet is pretty good at Q/A. If you see graphics issues on tech support, it is more likely it due to driver issues than Anet programmers.
That and the occasional graphics card giving in to old age.
As for sinister logic, I guess we'd all welcome it, if Anet ported GW2 to run natively on Linux. However, Anet may not have the time and manpower to port their client/engine using inhouse labour, nor the money and risk/reward expectation to let their client/engine be ported over by another company.
Though I suspect their servers may already be running on linux, porting over all those graphical goodies from DirectX 9.0 to OpenGL is a lot of work. And Anet may not be willing to open up their codebase for a group of maintainers to port the client, because of trade secrets, that may inevitably be picked up by the competition.
So for the time being, WINE is good enough to run Guild Wars 2 on Linux. It is not hyper-optimized, but I can enjoy dungeons, raids and any instanced content without issue, open world is generally fluid, only massive zergs with lots of effects á la prime time Palawadan get my FPS to noticeably slow down.
anet doesnt even need to do a full port. All they have to do is wrap the client in wine and have a vulkan renderer. It would satisfy the majority of gamers.
@kalel.6129 said: https://wiki.guildwars2.com/wiki/Guild_Wars_2_on_Wine they mention wine 3.3 and for CSMT or enable it manually - mine winecfg doesn't have a 'Staging' tab. So far with default setup from OP and turning settings lowest and not doing scale to DPI I'm getting pretty good results. Drop to maybe 16fps in LA and was jumping into 40s at times when gliding around in Maguma.
Hi,
Going by your description and the lack of the 'Staging' tab, it seems you're trying to launch GW2 using a different Wine version which would explain why the low performance. Also in my release I've set most of the performance switches on by default, I tried to make it as out of the box ready as possible, the only thing one needs to do is to have some of the 32bit libraries installed.
@loseridoit.2756 said:
anet doesnt even need to do a full port. All they have to do is wrap the client in wine and have a vulkan renderer. It would satisfy the majority of gamers.
I don't think they'll repeat the Mac's mistake, at first the Cider wrapper worked well so to speak, as the game got bigger and hungrier they were forced to make a native OpenGL port. They wouldn't want the same thing happening with Wine.
To keep it as pressure free as possible, I think a Vulkan renderer would be enough. The community will most likely handle the rest and I think Lutris is a good example of that.
@Castigator.3470 said:
porting over all those graphical goodies from DirectX 9.0 to OpenGL is a lot of work.
They've already ported it to OpenGL, what do you think the native Mac client is running on? It is however not available on the Windows version
@ArmoredVehicle.2849 said:
I don't think they'll repeat the Mac's mistake, at first the Cider wrapper worked well so to speak, as the game got bigger and hungrier they were forced to make a native OpenGL port. They wouldn't want the same thing happening with Wine.
To keep it as pressure free as possible, I think a Vulkan renderer would be enough. The community will most likely handle the rest and I think Lutris is a good example of that.
Transgaming is just terrible in general. Wine is great because Codeweavers can tap into one of the largest q/a communities around. Linux users are more willing to send stack traces to devs than other users.
@Castigator.3470 said:
porting over all those graphical goodies from DirectX 9.0 to OpenGL is a lot of work.
They've already ported it to OpenGL, what do you think the native Mac client is running on? It is however not available on the Windows version
Apple's Opengl is terrible. Vulkan on top of Metal is much better.
@ArmoredVehicle.2849 said:
They've already ported it to OpenGL, what do you think the native Mac client is running on? It is however not available on the Windows version
They already did? Then what is stopping them from allowing their windows client to use OpenGL rendering mode? Or a hypothetical Linux client. As for Vulkan, it's a lower level(as in less abstraction) implementation, which can gain additional frames per second, but isn't it more work intensive to implement?
Or maybe it isn't since DX9 is already pretty close to the wire, we may already have experts with Anet, who can work their way around the GPU and only get confused, when additional layers of abstraction are stacked on their habitat.
@kalel.6129 said: https://wiki.guildwars2.com/wiki/Guild_Wars_2_on_Wine they mention wine 3.3 and for CSMT or enable it manually - mine winecfg doesn't have a 'Staging' tab. So far with default setup from OP and turning settings lowest and not doing scale to DPI I'm getting pretty good results. Drop to maybe 16fps in LA and was jumping into 40s at times when gliding around in Maguma.
Hi,
Going by your description and the lack of the 'Staging' tab, it seems you're trying to launch GW2 using a different Wine version which would explain why the low performance. Also in my release I've set most of the performance switches on by default, I tried to make it as out of the box ready as possible, the only thing one needs to do is to have some of the 32bit libraries installed.
Ok. I was just trying to see if I could "up" the performance by running it a different way from what your script does. However, your script using 32-bit has been the best experience I've been able to get, so thank you! I haven't booted into Windows for weeks now as GW2 was my real only need for it.
Hi,
Unfortunately I'm unable (due to lack of skill) to merge the esync patches with PBA and Staging. The numbers on that reddit post is definitely much higher than my build, If he can provide me the pre-patched sources I can update my package to include esync.
Weekend is here so I'll have some time to play with it. Thanks for the link :-)
EDIT: I downloaded a pre-patched (esync+pba+staging) 3.15 source from the Lutris repo, I'll see if I can get a build up and running by tomorrow.
Update:
I have successfully replicated the OP's settings on that reddit post and the performance gains are indeed huge, in some situations it's almost double and it handles high details almost effortlessly. I've also monitored core usage on a Ryzen 1700X and the load is spread evenly across 8 threads, hopefully this will also help those on low end systems too.
I'm currently in the process of adapting all this into the new update. Expect new packages soon!!!
I'm happy to announce that a new release is now ready for download.
No doubt the highlight of this update is the addition of esync which improves performance dramatically (again, thanks xylef), I've also cleaned up my scripts to be better understood for who wants to tinker with environment variables, and lastly I noticed some Mesa users mentioning the use of mesa_glthread, I added this in the form of a switch in the 'bin/user_run' file.
The full details can be found on the first page, I also tidied that up a bit.
Thank you everyone for the suggestions and comments :-)
@ArmoredVehicle.2849 said:
I'm happy to announce that a new release is now ready for download.
No doubt the highlight of this update is the addition of esync which improves performance dramatically (again, thanks xylef), I've also cleaned up my scripts to be better understood for who wants to tinker with environment variables, and lastly I noticed some Mesa users mentioning the use of mesa_glthread, I added this in the form of a switch in the 'bin/user_run' file.
The full details can be found on the first page, I also tidied that up a bit.
Thank you everyone for the suggestions and comments :-)
I made a few minor last minute tweaks before posting, it should work now. Sorry about that :-)
Dumb question but how does one do the "update"? Is it merely re-downloading and running /.setup again or what all do I need to do? Sorry for such a dumb question.
Dumb question but how does one do the "update"? Is it merely re-downloading and running /.setup again or what all do I need to do? Sorry for such a dumb question.
A typical update goes like this:
Download the new package.
Extract it and run the ./setup.sh file and wait for it to finish.
Go into your old installation and move the contents of "data/drive_c/GW2" in the new one.
Try sudo setcap cap_sys_nice+ep wineserver
Or commenting out STAGING_RT_PRIORITY_SERVER in the launcher script.
I have the same problem as @Turin.6921 and first tried with commenting out STAGING_RT_PRIORITY_SERVER in user_debug inside the bin folder, as this is what I assumed you mean by the launcher script (I run the game with the debug.sh file). However, nothing changed.
Then I run the command you have provided - sudo setcap cap_sys_nice+ep wineserver. This now leads to the following error when I run debug.sh
ERROR: ld.so: object 'libpthread.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object 'libGL.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
/home/username/Guild Wars 2 wine 3.15/bin/wineserver: error while loading shared libraries: libwine.so.1: cannot open shared object file: No such file or directory
@ThunderBiggi.4651 said:
ERROR: ld.so: object 'libpthread.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object 'libGL.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
/home/username/Guild Wars 2 wine 3.15/bin/wineserver: error while loading shared libraries: libwine.so.1: cannot open shared object file: No such file or directory
Not sure what is happening
EDIT: I am on an Intel/NVIDIA system
This is usually caused by missing libraries. Did you enable 32bit library support in your system? While the game is 64bit, it also uses some 32bit components. The 'libpthread.so.0' library can be found by installing the package named "libc6-i386" (any 32bit software ran on 64bit Linux will fail to run without this package).
@ThunderBiggi.4651 said:
ERROR: ld.so: object 'libpthread.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object 'libGL.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
/home/username/Guild Wars 2 wine 3.15/bin/wineserver: error while loading shared libraries: libwine.so.1: cannot open shared object file: No such file or directory
Not sure what is happening
EDIT: I am on an Intel/NVIDIA system
This is usually caused by missing libraries. Did you enable 32bit library support in your system? While the game is 64bit, it also uses some 32bit components. The 'libpthread.so.0' library can be found by installing the package named "libc6-i386" (any 32bit software ran on 64bit Linux will fail to run without this package).
I do have this library.
I should probably mention that I was playing GW2 for a few months on Linux with your version 1.2 (28th June update). I just wanted to update to get better performance.
@ArmoredVehicle.2849 said:
I'm happy to announce that a new release is now ready for download.
No doubt the highlight of this update is the addition of esync which improves performance dramatically (again, thanks xylef), I've also cleaned up my scripts to be better understood for who wants to tinker with environment variables, and lastly I noticed some Mesa users mentioning the use of mesa_glthread, I added this in the form of a switch in the 'bin/user_run' file.
The full details can be found on the first page, I also tidied that up a bit.
Thank you everyone for the suggestions and comments :-)
I made a few minor last minute tweaks before posting, it should work now. Sorry about that :-)
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.
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.
I should probably mention that I was playing GW2 for a few months on Linux with your version 1.2 (28th June update). I just wanted to update to get better performance.
It looks like something with the drivers is at play, yesterday I received a dual graphics laptop at work and I had a similar error, it wasn't GW2 specific and even trying out glxgears produced an error like yours.
Are you perhaps running a laptop with optimus/primusrun?
As a general note, prior to uploading these new builds I tested them on 3 different systems: Mint 18.1 (aka Ubuntu 16.04) with Nvidia GPU, Ubuntu 18.04 (with Mesa 18.0 / Intel HD) and Debian 9 (with Mesa 13 / Intel HD). Aside from slow performance on the Intel HD's, all 3 checked out correctly.
Dumb question but how does one do the "update"? Is it merely re-downloading and running /.setup again or what all do I need to do? Sorry for such a dumb question.
A typical update goes like this:
Download the new package.
Extract it and run the ./setup.sh file and wait for it to finish.
Go into your old installation and move the contents of "data/drive_c/GW2" in the new one.
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.
I should probably mention that I was playing GW2 for a few months on Linux with your version 1.2 (28th June update). I just wanted to update to get better performance.
It looks like something with the drivers is at play, yesterday I received a dual graphics laptop at work and I had a similar error, it wasn't GW2 specific and even trying out glxgears produced an error like yours.
Are you perhaps running a laptop with optimus/primusrun?
As a general note, prior to uploading these new builds I tested them on 3 different systems: Mint 18.1 (aka Ubuntu 16.04) with Nvidia GPU, Ubuntu 18.04 (with Mesa 18.0 / Intel HD) and Debian 9 (with Mesa 13 / Intel HD). Aside from slow performance on the Intel HD's, all 3 checked out correctly.
I also have a dual-graphics laptop - Nvidia GPU + Intel HD one. I have only installed the open source nvidia 395 drivers (from the graphics-drivers ppa) and have set the Nvidia GPU as the default one in Nvidia settings. I also checked that it is the one in use.
I am not sure about Optimus. On my previous laptop (still with Ubuntu 12.04) I tried setting it up with bumblebee but didn't succeed and haven't bothered with it on this laptop at all. Not sure whether Optimus hasn't been implemented in the open source drivers. Quick googling didn't tell me much.
I tried the fix you suggested with the edditing of "/etc/security/limits.conf", setting it to a value 16 times larger than yours and I still get the same crash error and debug output. What domain did you use for the lines? I just put the * wildcard.
The 28th June still works perfectly well.
Did you install any specific libraries on the 3 different systems before isntalling your package? Maybe my wine-staging is missing something? And what Nvidia drivers did you use. Felix said on reddit that they are using 395 as well.
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.
I decided to try it real quick while I was still by my PC.
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
@alcopaul.2156 said:
what's the logic of playing gw2 on linux when all the premade gaming pcs are running on windows and gw2 is designed to run on mac/windows pc? must be sinister. lel.
You actually experience fewer driver issues on Linux. Linux drivers have a tendency to be written for correctness with a strong regression testing. IHV do not have room to play this driver obscuration game like they do on windows since all drivers are open source. For games like Gw2, Anet is pretty good at Q/A. If you see graphics issues on tech support, it is more likely it due to driver issues than Anet programmers.
why you wanna layer the direct calls? must be some dumb garbage-y hocus pocus. lel.
Your Math Tèacher [MATH]
Digital Headhuntaz [aBrA]
@alcopaul.2156 said:
what's the logic of playing gw2 on linux when all the premade gaming pcs are running on windows and gw2 is designed to run on mac/windows pc? must be sinister. lel.
You actually experience fewer driver issues on Linux. Linux drivers have a tendency to be written for correctness with a strong regression testing. IHV do not have room to play this driver obscuration game like they do on windows since all drivers are open source. For games like Gw2, Anet is pretty good at Q/A. If you see graphics issues on tech support, it is more likely it due to driver issues than Anet programmers.
why you wanna layer the direct calls? must be some dumb garbage-y hocus pocus. lel.
yea? Most software is full of layers. Anet might be using a layer right now to get cross-platform audio.
Btw, dx9 on vulkan is not a huge layer and gallium nine is actually a native d3d9 driver on linux
On the other hand, D3d9 on Opengl is getting better but shader pauses might be on the unfixable size.
@alcopaul.2156 said:
what's the logic of playing gw2 on linux when all the premade gaming pcs are running on windows and gw2 is designed to run on mac/windows pc? must be sinister. lel.
You actually experience fewer driver issues on Linux. Linux drivers have a tendency to be written for correctness with a strong regression testing. IHV do not have room to play this driver obscuration game like they do on windows since all drivers are open source. For games like Gw2, Anet is pretty good at Q/A. If you see graphics issues on tech support, it is more likely it due to driver issues than Anet programmers.
why you wanna layer the direct calls? must be some dumb garbage-y hocus pocus. lel.
yea? Most software is full of layers. Anet might be using a layer right now to get cross-platform audio.
Btw, dx9 on vulkan is not a huge layer and gallium nine is actually a native d3d9 driver on linux
On the other hand, D3d9 on Opengl is getting better but shader pauses might be on the unfixable size.
when you run a native windows app on a windows os, all are direct calls. you using linux to run windows apps to use layers is the dumbest concept has ever been concocted.
Your Math Tèacher [MATH]
Digital Headhuntaz [aBrA]
@alcopaul.2156 said:
when you run a native windows app on a windows os, all are direct calls. you using linux to run windows apps to use layers is the dumbest concept has ever been concocted.
that just shows your complete lack of understanding of wine. Wine just turns Win API into an application library.
wine - wine is not an emulator
there is a reason why wine creators made that acronym. https://www.winehq.org/
All wine calls are practically native like Java, Qt etc. React OS, a reimplementation of Windows, uses wine libraries.
Overhead is rather minimal.
Before you call ideas are stupid, understand what you are talking about. https://wiki.winehq.org/Wine_Developer's_Guide/Architecture_Overview
@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. :-)
its easy. you put some sand to a pipe and the water flow will be slower. simple physics.
GW2 on Linux = Dumbest Concoction Ever.
You do not understand the concept of out of order cpu.
An out of order cpu will rearrange the sand such that it would not block the water flow.
Complicated hardware design solves many of these problems.
its easy. you put some sand to a pipe and the water flow will be slower. simple physics.
GW2 on Linux = Dumbest Concoction Ever.
You do not understand the concept of out of order cpu.
An out of order cpu will rearrange the sand such that it would not block the water flow.
Complicated hardware design solves many of these problems.
the out of order cpu rearrangement is another activity and obviously cause lag coz you have an extra activity.
even if you hyperthread it, another thread doing an activity and it adds to the total activities. +1 activity = lag.
Windows GW2.exe on Linux = Some dumb kitten that some sh1tters invented.
And obviously look at the thread title = "GW2 on Linux: Performance Optimization blah blah." that means GW2 on Linux needs performance optimization, aka it's kitten laggy.
lel.
Your Math Tèacher [MATH]
Digital Headhuntaz [aBrA]
its easy. you put some sand to a pipe and the water flow will be slower. simple physics.
GW2 on Linux = Dumbest Concoction Ever.
You do not understand the concept of out of order cpu.
An out of order cpu will rearrange the sand such that it would not block the water flow.
Complicated hardware design solves many of these problems.
the out of order cpu rearrangement is another process and obviously cause lag coz you have an extra process.
CPU stalls pretty often.
Rearranging instructions in between is cheaper in practice than executing everything in order.
There is a joke that cpu designers run word, excel, or flash as a benchmark.
its easy. you put some sand to a pipe and the water flow will be slower. simple physics.
GW2 on Linux = Dumbest Concoction Ever.
You do not understand the concept of out of order cpu.
An out of order cpu will rearrange the sand such that it would not block the water flow.
Complicated hardware design solves many of these problems.
the out of order cpu rearrangement is another process and obviously cause lag coz you have an extra process.
CPU stalls pretty often.
Rearranging instructions in between is cheaper in practice than executing everything in order.
There is a joke that cpu designers run word, excel, or flash as a benchmark.
you sure? k, bruv. lel.
Your Math Tèacher [MATH]
Digital Headhuntaz [aBrA]
Comments
Got this running with the command you provided but not seeing any difference from just running ./play.sh. HOT map I get between 13-20 fps, Queensdale I can sometimes jump to 30. None of the CPU cores are hitting above 50% so I don't think I'm limited there, yet? Any thoughts on what I can look to tweak to try and get it more fluid? Right now I have lots of waiting for textures etc. to load and then I can run about. If a decent group of people are around some will "pop up" as it slowly loads the area of characters. All settings are turned to lowest possible.
Can you please post the terminal log with Gallium? Even if there's a slight indication of the error, it might be enough to find the cause.
I updated mesa to 18.2, wine(any) to 3.15. Played some wvw. Performance was very pleasant. Despite some big fights going on. Didn't even need to drop to 'lowest' character and model count.
But then again, I don't use third party installation methods. Just gentoo's wine version with staging and d3d9.
what's the logic of playing gw2 on linux when all the premade gaming pcs are running on windows and gw2 is designed to run on mac/windows pc? must be sinister. lel.
Your Math Tèacher [MATH]
Digital Headhuntaz [aBrA]
@jbrother.1340
No, those flags are meant to enable the amdgpu kernel driver. Amdgpu and Radeon uses the same shader path for both opengl and gallium nine.
Amdgpu has the ANV vulkan driver.
You should post logs printed on the console. The marketplace worked when I last remembered it.
I do not feel like downloading the game and logging in anymore to test.
use stderr redirect to a file. Append this line to the gw2 console.
2> gw2_error.txt
Either way, gallium nine devs would probably ask you to run with full debug to figure out what is wrong.
@VAHNeunzehnsechundsiebzig.3618
D3d9 wine gentoo is gallium nine. You are using a native d3d9 driver on Linux. Of course, performance will be good.
https://packages.gentoo.org/useflags/d3d9
Please understand this is thread is not a debate about what and why. it is a thread to troubleshoot issues surrounding playing GW2 with Linux. Please start another thread if you want to have that discussion.
you will notice almost the entire thread and replies are dealing with troubleshooting or method of this.
It is totally ok you don't want to play it on linux. It is also totally ok that some of us do, no further explanation on either end is needed and at least in my case is not desired either.
Testing out the installer, not getting some of the frame rates you guys are but its buttery smooth nonetheless. Definitely keeping an eye on this project.
I really want to switch back to linux full time.
Using a GTX 1060 and a intel i5, any ideas on why the frame rate hovers around 20 in aerodrome and lion's arch?
I've tried to go further with this but probably close to my "know how". I've tried through PlayOnLinux but can't even install GW2 - no screen pops up and just sits there showing a gray screen if I hover over it.
I seem to get slower fps/worse performance when trying x64 client, with or without wine64. Running just the GW2.exe with wine64 grants slower loads and worse fps as well. I do find it odd that x86 will give me better performance than using the x64 client, thoughts? I see from
https://wiki.guildwars2.com/wiki/Guild_Wars_2_on_Wine they mention wine 3.3 and for CSMT or enable it manually - mine winecfg doesn't have a 'Staging' tab. So far with default setup from OP and turning settings lowest and not doing scale to DPI I'm getting pretty good results. Drop to maybe 16fps in LA and was jumping into 40s at times when gliding around in Maguma.
Do I need to look at updating wine or just be content with what I get and even though CPU isn't maxing, this is the best I can do with it on Linux? Quick Google was looking like WineHQ? Disabling certain features to enable others (if reg. wine is different than winehq) is not something I'm familiar on how to do.
Thanks.
a) I know that.
b) performance got better moving from mesa 18.1 and wine-3.9/wine-3.12
reduce model count and high quality model count.
You actually experience fewer driver issues on Linux. Linux drivers have a tendency to be written for correctness with a strong regression testing. IHV do not have room to play this driver obscuration game like they do on windows since all drivers are open source. For games like Gw2, Anet is pretty good at Q/A. If you see graphics issues on tech support, it is more likely it due to driver issues than Anet programmers.
That and the occasional graphics card giving in to old age.
As for sinister logic, I guess we'd all welcome it, if Anet ported GW2 to run natively on Linux. However, Anet may not have the time and manpower to port their client/engine using inhouse labour, nor the money and risk/reward expectation to let their client/engine be ported over by another company.
Though I suspect their servers may already be running on linux, porting over all those graphical goodies from DirectX 9.0 to OpenGL is a lot of work. And Anet may not be willing to open up their codebase for a group of maintainers to port the client, because of trade secrets, that may inevitably be picked up by the competition.
So for the time being, WINE is good enough to run Guild Wars 2 on Linux. It is not hyper-optimized, but I can enjoy dungeons, raids and any instanced content without issue, open world is generally fluid, only massive zergs with lots of effects á la prime time Palawadan get my FPS to noticeably slow down.
anet doesnt even need to do a full port. All they have to do is wrap the client in wine and have a vulkan renderer. It would satisfy the majority of gamers.
Hi,
Going by your description and the lack of the 'Staging' tab, it seems you're trying to launch GW2 using a different Wine version which would explain why the low performance. Also in my release I've set most of the performance switches on by default, I tried to make it as out of the box ready as possible, the only thing one needs to do is to have some of the 32bit libraries installed.
I don't think they'll repeat the Mac's mistake, at first the Cider wrapper worked well so to speak, as the game got bigger and hungrier they were forced to make a native OpenGL port. They wouldn't want the same thing happening with Wine.
To keep it as pressure free as possible, I think a Vulkan renderer would be enough. The community will most likely handle the rest and I think Lutris is a good example of that.
They've already ported it to OpenGL, what do you think the native Mac client is running on? It is however not available on the Windows version
Transgaming is just terrible in general. Wine is great because Codeweavers can tap into one of the largest q/a communities around. Linux users are more willing to send stack traces to devs than other users.
Apple's Opengl is terrible. Vulkan on top of Metal is much better.
They already did? Then what is stopping them from allowing their windows client to use OpenGL rendering mode? Or a hypothetical Linux client. As for Vulkan, it's a lower level(as in less abstraction) implementation, which can gain additional frames per second, but isn't it more work intensive to implement?
Or maybe it isn't since DX9 is already pretty close to the wire, we may already have experts with Anet, who can work their way around the GPU and only get confused, when additional layers of abstraction are stacked on their habitat.
Ok. I was just trying to see if I could "up" the performance by running it a different way from what your script does. However, your script using 32-bit has been the best experience I've been able to get, so thank you! I haven't booted into Windows for weeks now as GW2 was my real only need for it.
Hey ArmoredVehicle does your setup have the esync patches and stuff? Was reading here: https://www.reddit.com/r/linux_gaming/comments/9fko3n/guild_wars_2_with_winestaging_pba_esync_pure_love/ wondering how this differs from what you're using?
Hi,
Unfortunately I'm unable (due to lack of skill) to merge the esync patches with PBA and Staging. The numbers on that reddit post is definitely much higher than my build, If he can provide me the pre-patched sources I can update my package to include esync.
Weekend is here so I'll have some time to play with it. Thanks for the link :-)
EDIT: I downloaded a pre-patched (esync+pba+staging) 3.15 source from the Lutris repo, I'll see if I can get a build up and running by tomorrow.
Update:
I have successfully replicated the OP's settings on that reddit post and the performance gains are indeed huge, in some situations it's almost double and it handles high details almost effortlessly. I've also monitored core usage on a Ryzen 1700X and the load is spread evenly across 8 threads, hopefully this will also help those on low end systems too.
I'm currently in the process of adapting all this into the new update. Expect new packages soon!!!
A huge thanks to reddit user felix100felix :-)
You are welcome
@ArmoredVehicle.2849 I'm getting a Network Error when attempting to download the latest update
I'm happy to announce that a new release is now ready for download.
No doubt the highlight of this update is the addition of esync which improves performance dramatically (again, thanks xylef), I've also cleaned up my scripts to be better understood for who wants to tinker with environment variables, and lastly I noticed some Mesa users mentioning the use of mesa_glthread, I added this in the form of a switch in the 'bin/user_run' file.
The full details can be found on the first page, I also tidied that up a bit.
Thank you everyone for the suggestions and comments :-)
I made a few minor last minute tweaks before posting, it should work now. Sorry about that :-)
Dumb question but how does one do the "update"? Is it merely re-downloading and running /.setup again or what all do I need to do? Sorry for such a dumb question.
A typical update goes like this:
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:
https://paste.ubuntu.com/p/2JqMgD57ky/
And this is the debug output:
https://pastebin.ubuntu.com/p/NQQNBtNJ3n/
Try sudo setcap cap_sys_nice+ep wineserver
Or commenting out STAGING_RT_PRIORITY_SERVER in the launcher script.
I have the same problem as @Turin.6921 and first tried with commenting out STAGING_RT_PRIORITY_SERVER in user_debug inside the bin folder, as this is what I assumed you mean by the launcher script (I run the game with the debug.sh file). However, nothing changed.
Then I run the command you have provided - sudo setcap cap_sys_nice+ep wineserver. This now leads to the following error when I run debug.sh
ERROR: ld.so: object 'libpthread.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object 'libGL.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
/home/username/Guild Wars 2 wine 3.15/bin/wineserver: error while loading shared libraries: libwine.so.1: cannot open shared object file: No such file or directory
Not sure what is happening
EDIT: I am on an Intel/NVIDIA system
This is usually caused by missing libraries. Did you enable 32bit library support in your system? While the game is 64bit, it also uses some 32bit components. The 'libpthread.so.0' library can be found by installing the package named "libc6-i386" (any 32bit software ran on 64bit Linux will fail to run without this package).
I do have this library.
I should probably mention that I was playing GW2 for a few months on Linux with your version 1.2 (28th June update). I just wanted to update to get better performance.
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:
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.
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.
It looks like something with the drivers is at play, yesterday I received a dual graphics laptop at work and I had a similar error, it wasn't GW2 specific and even trying out glxgears produced an error like yours.
Are you perhaps running a laptop with optimus/primusrun?
As a general note, prior to uploading these new builds I tested them on 3 different systems: Mint 18.1 (aka Ubuntu 16.04) with Nvidia GPU, Ubuntu 18.04 (with Mesa 18.0 / Intel HD) and Debian 9 (with Mesa 13 / Intel HD). Aside from slow performance on the Intel HD's, all 3 checked out correctly.
You rock! Thank you!
I also have a dual-graphics laptop - Nvidia GPU + Intel HD one. I have only installed the open source nvidia 395 drivers (from the graphics-drivers ppa) and have set the Nvidia GPU as the default one in Nvidia settings. I also checked that it is the one in use.
I am not sure about Optimus. On my previous laptop (still with Ubuntu 12.04) I tried setting it up with bumblebee but didn't succeed and haven't bothered with it on this laptop at all. Not sure whether Optimus hasn't been implemented in the open source drivers. Quick googling didn't tell me much.
I tried the fix you suggested with the edditing of "/etc/security/limits.conf", setting it to a value 16 times larger than yours and I still get the same crash error and debug output. What domain did you use for the lines? I just put the * wildcard.
The 28th June still works perfectly well.
Did you install any specific libraries on the 3 different systems before isntalling your package? Maybe my wine-staging is missing something? And what Nvidia drivers did you use. Felix said on reddit that they are using 395 as well.
I decided to try it real quick while I was still by my PC.
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:
why you wanna layer the direct calls? must be some dumb garbage-y hocus pocus. lel.
Your Math Tèacher [MATH]
Digital Headhuntaz [aBrA]
yea? Most software is full of layers. Anet might be using a layer right now to get cross-platform audio.
Btw, dx9 on vulkan is not a huge layer and gallium nine is actually a native d3d9 driver on linux
On the other hand, D3d9 on Opengl is getting better but shader pauses might be on the unfixable size.
https://www.reddit.com/r/linux/comments/17x0sh/john_carmack_asks_why_wine_isnt_good_enough/
John Carmack doesnt care too much about layers. Games avoid interactions with the OS as often as they can as an optimization technique.
The impact of a layer is lower than you think it is.
when you run a native windows app on a windows os, all are direct calls. you using linux to run windows apps to use layers is the dumbest concept has ever been concocted.
Your Math Tèacher [MATH]
Digital Headhuntaz [aBrA]
that just shows your complete lack of understanding of wine. Wine just turns Win API into an application library.
wine - wine is not an emulator
there is a reason why wine creators made that acronym.
https://www.winehq.org/
All wine calls are practically native like Java, Qt etc. React OS, a reimplementation of Windows, uses wine libraries.
Overhead is rather minimal.
Before you call ideas are stupid, understand what you are talking about.
https://wiki.winehq.org/Wine_Developer's_Guide/Architecture_Overview
Works smoothly on Solus! Thanks for the update
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. :-)
You do not understand the concept of out of order cpu.
An out of order cpu will rearrange the sand such that it would not block the water flow.
Complicated hardware design solves many of these problems.
the out of order cpu rearrangement is another activity and obviously cause lag coz you have an extra activity.
even if you hyperthread it, another thread doing an activity and it adds to the total activities. +1 activity = lag.
Windows GW2.exe on Linux = Some dumb kitten that some sh1tters invented.
And obviously look at the thread title = "GW2 on Linux: Performance Optimization blah blah." that means GW2 on Linux needs performance optimization, aka it's kitten laggy.
lel.
Your Math Tèacher [MATH]
Digital Headhuntaz [aBrA]
CPU stalls pretty often.
Rearranging instructions in between is cheaper in practice than executing everything in order.
There is a joke that cpu designers run word, excel, or flash as a benchmark.
you sure? k, bruv. lel.
Your Math Tèacher [MATH]
Digital Headhuntaz [aBrA]
http://zilles.cs.illinois.edu/papers/mcfarlin_asplos_2013.pdf
https://pdfs.semanticscholar.org/presentation/efb5/dd8d92d85db634fcfa08bd55d439b60bfab2.pdf
88% is due to better static scheduling
12% is due to better dynamics scheduling.
Although 88% is achievable with a compiler, no compiler exists.
Here is a breden egg article about cpu utilization
http://www.brendangregg.com/blog/2017-05-09/cpu-utilization-is-wrong.html
CPU does nothing majority of their time. It is a pretty normal operation.
@loseridoit.2756 They are clearly trolling, just ignore them.
truth hurts and won't set you free. it'll put you inside the sun.
Your Math Tèacher [MATH]
Digital Headhuntaz [aBrA]
trolling is a good time to show the advantages and disadvantages of different engineering solutions.
https://meta.wikimedia.org/wiki/Cunningham's_Law