Jump to content
  • Sign Up

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


Recommended Posts

Project Status Update:

At the moment there aren't many performance optimizations left to add and the game runs pretty much perfectly (barring the performance difference compared to Windows). However this doesn't mean the work is over yet, I still have to implement the unification of the Intel/AMD and Nvidia packages into a single archive, it's doable but it will take me some time to test it and make sure no smoke is emitted.

I've also been exploring a better way to install the package, initially this will be in the form a Debian (.deb) package for Debian users, this also includes Ubuntu, Mint and similar derivatives. I already have a working prototype and it's making great progress. Just to give you an idea of the features it will bring with it:

  • Dependancy checks, to make sure you have all the necessary libraries to run the game (such as the libfreetype6:i386 package).
  • Uninstallation support via package manager.
  • Menu and Desktop Icons (been wanting to add those for so long).
  • A better tweak tool to launch the game with Wine's debug output enabled.
  • A much smaller package (roughly 50%).

With that said, I'll still be uploading the usual (.tar.gz) archives and some of the above mentioned features will be included.

And to conclude this update with a little teaser:ePvHZH1.jpg

Link to comment
Share on other sites

Work on the Debian (.deb) packages is going well and all the new features I implemented are working correctly, the installation script however requires a bit more work, during testing I encountered a few issues that I did not expect. To mark the start of this week though, I pushed a small update:

17th December 2018 Update - (Version 1.6)

Changelog:

  • The (.tar.gz) packages now use a better compression method (tar.xz), which reduces their size by over 50% compared to the older ones.
  • Fixed the inability to launch the game with it’s own command line arguments, my script has previously blocked these by accident.
Link to comment
Share on other sites

@"gateless gate.8406" said:Hi ArmoredVehicle, is your installer different from the official Lutris installer? https://lutris.net/games/guild-wars-2/ If not, is yours "better"?

Hello,My package consists of Wine + custom scripts that make everything work and requires little user input. On the other hand, looking at the Lutris scripts, it does more or less the same thing and you'll get the same performance regardless of which package you choose.

I don't like game clients which is why I made my own package.

Link to comment
Share on other sites

@ArmoredVehicle.2849 said:

@"gateless gate.8406" said:Hi ArmoredVehicle, is your installer different from the official Lutris installer?
If not, is yours "better"?

Hello,My package consists of Wine + custom scripts that make everything work and requires little user input. On the other hand, looking at the Lutris scripts, it does more or less the same thing and you'll get the same performance regardless of which package you choose.

I don't like game clients which is why I made my own package.

Ok, I'm happy as long as I get the same performance. Thank you, and thanks for supporting linux!

Link to comment
Share on other sites

Im trying this setup on another machine bur Im getting this error with the gw2 crash report dialog:Wine cannot find the ncurses library (libncurses.so.5).Do you know by any chance where it is expected by wine? I simlinked one I found in my lutris runtime to /lib, /lib64, /lib32 (these are simlink pointing their pair under /usr so thats covered too) and GW2/lib, GW2/lib64 but that didnt help.

Link to comment
Share on other sites

@"Slawo.1792" said:Im trying this setup on another machine bur Im getting this error with the gw2 crash report dialog:Wine cannot find the ncurses library (libncurses.so.5).Do you know by any chance where it is expected by wine? I simlinked one I found in my lutris runtime to /lib, /lib64, /lib32 (these are simlink pointing their pair under /usr so thats covered too) and GW2/lib, GW2/lib64 but that didnt help.

I'm not very familiar with other distros, but in Debian, Ubuntu, Mint and similar spinoffs, it's a package called "libncurses5".

Link to comment
Share on other sites

when i trying to run game - launcher works and download game, but fps on my screen drops to fpm xD and looks like 1 frame per 1 min. :cold_sweat: Only ctrl+alt+F1 then reboot helps me :(Ubuntu 18.10Ryzen 5 + RX 570 mesa drivers(other games works fine: Overwatch 60 fps ultra :( )Here is debug:000b:fixme:winediag:start_process Wine Staging 3.15 is a testing version containing experimental patches. 000b:fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org. 0026:fixme:plugplay:build_report_descriptor Clamping joystick to 6 axis 0026:err:ntoskrnl:IoCreateDriver failed to insert driver L"\\Driver\\WineHID" in tree Wine cannot find the ncurses library (libncurses.so.5). 0009:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution. 0009:fixme:heap:RtlSetHeapInformation 0x30000 0 0x25fd00 4 stub 0009:fixme:heap:RtlSetHeapInformation 0x380000 0 0x25fce0 4 stub 0009:fixme:heap:RtlSetHeapInformation 0x380000 1 (nil) 0 stub 002c:fixme:ver:GetCurrentPackageId (0xc3fdd0 (nil)): stub 002c:fixme:thread:SetThreadStackGuarantee (0xc3fdd0): stub 0009:err:winediag:wined3d_dll_init Setting multithreaded command stream to 0x1. ATTENTION: default value of option vblank_mode overridden by environment. ATTENTION: default value of option mesa_glthread overridden by environment. 0009:err:winediag:wined3d_dll_init Setting multithreaded command stream to 0x1. 0030:fixme:d3d_perf:wined3d_buffer_heap_create PBA: using GL_CLIENT_STORAGE_BIT quirk (mesa) 0030:fixme:d3d_perf:wined3d_buffer_heap_create PBA: using GL_CLIENT_STORAGE_BIT quirk (mesa) 0030:fixme:d3d:create_buffer_heap Initialized PBA (geo_heap_size: 536870912, cb_heap_size: 134217728, ub_align: 4) 0009:fixme:gameux:GameExplorerImpl_VerifyAccess (0x17d66a0, L"C:\\GW2\\GW2.exe", 0x25f170) 0042:fixme:msctf:ThreadMgrSource_AdviseSink (0x191df20) Unhandled Sink: {ea1ea136-19df-11d7-a6d2-00065b84435c} 0042:fixme:imm:ImmDisableTextFrameService Stub 0042:fixme:d3d9:D3DPERF_GetStatus (void) : stub 0042:fixme:ntdll:NtQueryInformationJobObject stub: 0x234 2 0x321dbb0 64 (nil) 0042:fixme:ntdll:NtQueryInformationJobObject stub: 0x234 9 0x321dbf0 144 (nil) 0049:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution. 0049:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub 0049:fixme:process:SetProcessDEPPolicy (3): stub 0049:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub 0049:fixme:nls:GetThreadPreferredUILanguages 00000038, 0x35f674, (nil) 0x35f670 0049:fixme:nls:get_dummy_preferred_ui_language (0x38 0x35f674 (nil) 0x35f670) returning a dummy value (current locale) 0049:fixme:nls:GetThreadPreferredUILanguages 00000038, 0x35f674, 0x2b0abc0 0x35f670 0049:fixme:nls:get_dummy_preferred_ui_language (0x38 0x35f674 0x2b0abc0 0x35f670) returning a dummy value (current locale) 0049:fixme:winsock:WSALookupServiceBeginW (0x35f6e0 0x00000ff0 0x35f728) Stub! 0049:fixme:iphlpapi:NotifyAddrChange (Handle 0x35f5b8, overlapped 0x2b0b888): stub 004f:fixme:esync:__esync_wait_objects Can't wait on esync and server objects at the same time! 0049:fixme:win:RegisterDeviceNotificationW (hwnd=0x10080, filter=0x35f798,flags=0x00000000) returns a fake device notification handle! 0049:fixme:win:RegisterDeviceNotificationW (hwnd=0x10080, filter=0x35f798,flags=0x00000000) returns a fake device notification handle! 0056:fixme:ntdll:EtwRegisterTraceGuidsW (0x495320, 0x24ef248, {3dada31d-19ef-4dc1-b345-037927193422}, 1, 0x24a4f04, (null), (null), 0x24ef260): stub 0056:fixme:ntdll:EtwRegisterTraceGuidsW register trace class {00000000-0000-0000-0000-000000000000} 0049:fixme:winsock:WSALookupServiceBeginW (0x35dbf0 0x00000ff0 0x35dc38) Stub! 0063:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution. 0063:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub 0063:fixme:process:SetProcessDEPPolicy (3): stub 0063:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub 0063:fixme:ntdll:EtwRegisterTraceGuidsW (0x495320, 0x24ef248, {3dada31d-19ef-4dc1-b345-037927193422}, 1, 0x24a4f04, (null), (null), 0x24ef260): stub 0063:fixme:ntdll:EtwRegisterTraceGuidsW register trace class {00000000-0000-0000-0000-000000000000} 0063:fixme:gdi:GdiInitializeLanguagePack stub 0058:fixme:winsock:WSALookupServiceBeginW (0x3b9f564 0x00000ff0 0x3b9f5ac) Stub! 0058:fixme:winsock:WSALookupServiceBeginW (0x3b9f564 0x00000ff0 0x3b9f5ac) Stub! ^C007d:fixme:console:CONSOLE_DefaultHandler Terminating process 62 on event 0 007e:fixme:console:CONSOLE_DefaultHandler Terminating process 48 on event 0 007f:fixme:console:CONSOLE_DefaultHandler Terminating process 8 on event 0

Link to comment
Share on other sites

@"Mumiatta.6185" said:when i trying to run game - launcher works and download game, but fps on my screen drops to fpm xD and looks like 1 frame per 1 min. :cold_sweat: Only ctrl+alt+F1 then reboot helps me :(Ubuntu 18.10Ryzen 5 + RX 570 mesa drivers(other games works fine: Overwatch 60 fps ultra :( )Here is debug:000b:fixme:winediag:start_process Wine Staging 3.15 is a testing version containing experimental patches. 000b:fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org. 0026:fixme:plugplay:build_report_descriptor Clamping joystick to 6 axis 0026:err:ntoskrnl:IoCreateDriver failed to insert driver L"\\Driver\\WineHID" in tree Wine cannot find the ncurses library (libncurses.so.5). 0009:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution. 0009:fixme:heap:RtlSetHeapInformation 0x30000 0 0x25fd00 4 stub 0009:fixme:heap:RtlSetHeapInformation 0x380000 0 0x25fce0 4 stub 0009:fixme:heap:RtlSetHeapInformation 0x380000 1 (nil) 0 stub 002c:fixme:ver:GetCurrentPackageId (0xc3fdd0 (nil)): stub 002c:fixme:thread:SetThreadStackGuarantee (0xc3fdd0): stub 0009:err:winediag:wined3d_dll_init Setting multithreaded command stream to 0x1. ATTENTION: default value of option vblank_mode overridden by environment. ATTENTION: default value of option mesa_glthread overridden by environment. 0009:err:winediag:wined3d_dll_init Setting multithreaded command stream to 0x1. 0030:fixme:d3d_perf:wined3d_buffer_heap_create PBA: using GL_CLIENT_STORAGE_BIT quirk (mesa) 0030:fixme:d3d_perf:wined3d_buffer_heap_create PBA: using GL_CLIENT_STORAGE_BIT quirk (mesa) 0030:fixme:d3d:create_buffer_heap Initialized PBA (geo_heap_size: 536870912, cb_heap_size: 134217728, ub_align: 4) 0009:fixme:gameux:GameExplorerImpl_VerifyAccess (0x17d66a0, L"C:\\GW2\\GW2.exe", 0x25f170) 0042:fixme:msctf:ThreadMgrSource_AdviseSink (0x191df20) Unhandled Sink: {ea1ea136-19df-11d7-a6d2-00065b84435c} 0042:fixme:imm:ImmDisableTextFrameService Stub 0042:fixme:d3d9:D3DPERF_GetStatus (void) : stub 0042:fixme:ntdll:NtQueryInformationJobObject stub: 0x234 2 0x321dbb0 64 (nil) 0042:fixme:ntdll:NtQueryInformationJobObject stub: 0x234 9 0x321dbf0 144 (nil) 0049:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution. 0049:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub 0049:fixme:process:SetProcessDEPPolicy (3): stub 0049:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub 0049:fixme:nls:GetThreadPreferredUILanguages 00000038, 0x35f674, (nil) 0x35f670 0049:fixme:nls:get_dummy_preferred_ui_language (0x38 0x35f674 (nil) 0x35f670) returning a dummy value (current locale) 0049:fixme:nls:GetThreadPreferredUILanguages 00000038, 0x35f674, 0x2b0abc0 0x35f670 0049:fixme:nls:get_dummy_preferred_ui_language (0x38 0x35f674 0x2b0abc0 0x35f670) returning a dummy value (current locale) 0049:fixme:winsock:WSALookupServiceBeginW (0x35f6e0 0x00000ff0 0x35f728) Stub! 0049:fixme:iphlpapi:NotifyAddrChange (Handle 0x35f5b8, overlapped 0x2b0b888): stub 004f:fixme:esync:__esync_wait_objects Can't wait on esync and server objects at the same time! 0049:fixme:win:RegisterDeviceNotificationW (hwnd=0x10080, filter=0x35f798,flags=0x00000000) returns a fake device notification handle! 0049:fixme:win:RegisterDeviceNotificationW (hwnd=0x10080, filter=0x35f798,flags=0x00000000) returns a fake device notification handle! 0056:fixme:ntdll:EtwRegisterTraceGuidsW (0x495320, 0x24ef248, {3dada31d-19ef-4dc1-b345-037927193422}, 1, 0x24a4f04, (null), (null), 0x24ef260): stub 0056:fixme:ntdll:EtwRegisterTraceGuidsW register trace class {00000000-0000-0000-0000-000000000000} 0049:fixme:winsock:WSALookupServiceBeginW (0x35dbf0 0x00000ff0 0x35dc38) Stub! 0063:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution. 0063:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub 0063:fixme:process:SetProcessDEPPolicy (3): stub 0063:fixme:heap:RtlSetHeapInformation (nil) 1 (nil) 0 stub 0063:fixme:ntdll:EtwRegisterTraceGuidsW (0x495320, 0x24ef248, {3dada31d-19ef-4dc1-b345-037927193422}, 1, 0x24a4f04, (null), (null), 0x24ef260): stub 0063:fixme:ntdll:EtwRegisterTraceGuidsW register trace class {00000000-0000-0000-0000-000000000000} 0063:fixme:gdi:GdiInitializeLanguagePack stub 0058:fixme:winsock:WSALookupServiceBeginW (0x3b9f564 0x00000ff0 0x3b9f5ac) Stub! 0058:fixme:winsock:WSALookupServiceBeginW (0x3b9f564 0x00000ff0 0x3b9f5ac) Stub! ^C007d:fixme:console:CONSOLE_DefaultHandler Terminating process 62 on event 0 007e:fixme:console:CONSOLE_DefaultHandler Terminating process 48 on event 0 007f:fixme:console:CONSOLE_DefaultHandler Terminating process 8 on event 0 solved.Turn on "emulate a virtual desktop" in wine settings. Now works fine :3

Link to comment
Share on other sites

@"Mumiatta.6185" said:Wine cannot find the ncurses library (libncurses.so.5)Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.

Hi, thanks for the log. You seem to be missing 2 packages: "winbind" and "libncurses5". I'm not sure if this solves your 1 fpm problem (without turning on virtual desktop), but the game seems to look for them. They are both available for Ubuntu 18.10.

Link to comment
Share on other sites

@ArmoredVehicle.2849 said:

@"Mumiatta.6185" said:Wine cannot find the ncurses library (libncurses.so.5)Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.

Hi, thanks for the log. You seem to be missing 2 packages: "winbind" and "libncurses5". I'm not sure if this solves your 1 fpm problem (without turning on virtual desktop), but the game seems to look for them. They are both available for Ubuntu 18.10.

I have installed both of that packages but without virtual desktop i still have issue with freezes.May be it depends on gnome-shell or something near it (because i haven't any fps drop on login screen after ctrl+alt+F1)

Link to comment
Share on other sites

@Mumiatta.6185 said:

@Mumiatta.6185 said:Wine cannot find the ncurses library (libncurses.so.5)Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.

Hi, thanks for the log. You seem to be missing 2 packages: "winbind" and "libncurses5". I'm not sure if this solves your 1 fpm problem (without turning on virtual desktop), but the game seems to look for them. They are both available for Ubuntu 18.10.

I have installed both of that packages but without virtual desktop i still have issue with freezes.May be it depends on gnome-shell or something near it (because i haven't any fps drop on login screen after ctrl+alt+F1)

That might be a possibility, I've only tested the game with Xfce and Mate, glad a simple Virtual Desktop resolves it though :)

Link to comment
Share on other sites

I have been experimenting with using proton for running Guild Wars 2 and it seems to be working almost the same (if not better) than my wine installation. I would be interested to see if anyone else has had any problems using it recently. I have it running through steam, but I think you can do it through lutris now too.

Link to comment
Share on other sites

@Leios.8965 said:I have been experimenting with using proton for running Guild Wars 2 and it seems to be working almost the same (if not better) than my wine installation. I would be interested to see if anyone else has had any problems using it recently. I have it running through steam, but I think you can do it through lutris now too.

I am currently running gw2 with gallium straight through WINE but not using armor's package here. I have that setup as well but just am not right now.

I think I am going to try this with steam proton and see what it does and if I get better results for fun. I have a pretty old PC here and I am always down to experiment.

Did you just use the GW2 installer and launch it through steam to get the install setup? I have not really used proton setup for anything as GW2 or native linux games in steam is all I play.

Link to comment
Share on other sites

@"jbrother.1340" said:Did you just use the GW2 installer and launch it through steam to get the install setup? I have not really used proton setup for anything as GW2 or native linux games in steam is all I play.

You need to sign up for the steam beta (like so: https://fosspost.org/tutorials/enable-steam-play-on-linux-to-run-windows-games), then you can just add GW2 as a "non-steam" game. That was all I needed to do. I am not familiar with Lutris, but I hear you can use proton there now too.

Link to comment
Share on other sites

@Leios.8965 said:

@"jbrother.1340" said:Did you just use the GW2 installer and launch it through steam to get the install setup? I have not really used proton setup for anything as GW2 or native linux games in steam is all I play.

You need to sign up for the steam beta (like so:
), then you can just add GW2 as a "non-steam" game. That was all I needed to do. I am not familiar with Lutris, but I hear you can use proton there now too.

I have done that and was already opted into steam beta. I try and launch the gw2setup.exe file and it won't let me trying it with "add a game" non steam game. Am I missing something here? I am trying this with the "Proton 3.16 beta"?

Link to comment
Share on other sites

@"jbrother.1340" said:I have done that and was already opted into steam beta. I try and launch the gw2setup.exe file and it won't let me trying it with "add a game" non steam game. Am I missing something here? I am trying this with the "Proton 3.16 beta"?

I just used the Gw2-64.exe I don't think I tried it with the setup, but not sure why that wouldn't work.

Link to comment
Share on other sites

@Leios.8965 said:

@"jbrother.1340" said:I have done that and was already opted into steam beta. I try and launch the gw2setup.exe file and it won't let me trying it with "add a game" non steam game. Am I missing something here? I am trying this with the "Proton 3.16 beta"?

I just used the Gw2-64.exe I don't think I tried it with the setup, but not sure why that wouldn't work.

I have no clue right now and cannot keep trying today. I will try again in the near future to troubleshoot my issue here.

It will attempt it if I use the gw2.exe from my existing install or if I try the 32bit client installer but just quick flashes "launching" in a window in steam then disappears and does nothing. Hard to say right now what it is doing.

For clarity and info sake I am using:

OpenSuse Tumbleweed (I need to run a distro upgrade on it as I have not lately and it is behind so that could be not helping either but not sure why)Have a radeon vid card

It runs with a Gallium style setup pretty well but just wanted to see if it runs better like this and just to see really. Will keep trying. Could be some missing library that doesn't affect it straight through WINE?

Link to comment
Share on other sites

@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) :)

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 :)

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.

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.

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