goatcorp / FFXIVQuickLauncher

Custom launcher for FFXIV
https://goatcorp.github.io/
GNU General Public License v3.0
2.84k stars 333 forks source link

Plugins on Linux #467

Closed cawilliamson closed 3 years ago

cawilliamson commented 3 years ago

Describe the bug here: This launcher works exceptionally well via Lutris (on Linux) but if I try to enable plugins it starts the game and then complains that it's unable to hook in to the process. Has anyone managed to get this working?

Steps to reproduce the bug:

  1. Enable in-game functionality in the launcher
  2. Launch the game
  3. Experience error message: Failed to inject the XIVLauncher in-game addon. Please try restarting your game and your PC. If this keeps happening, please report this error.
  4. Game closes

Expected behavior I expected the launcher to attach the FFXIV and allow me to use the in-game commands. Following this I plan to enable and use some plugins but one hurdle at a time! :)

reiichi001 commented 3 years ago

There are two causes for this.

  1. vcrun2019 didn't install correctly. This is a known issue with winetricks and you can either update the winetricks script that Lutris uses, install manually, or try installing vcrun2015 instead. More details can be found in the xivlauncher Discord's Linux channel.

  2. You are using a version of wine past 5.18. Wine introduced a change sometime around 5.18-5.19 that breaks easyhook. This also applies to all versions of wine6. Please make sure you are using Lutris wine 5.7-11 which is set as the default runner for xivlauncher. We do know of a couple other alternatives that /should/ work, but Lutris 5.7-11 is the only version we currently support as "this is known to work."

cawilliamson commented 3 years ago

So I managed to find a workaround (but a bad one tbh) based on some experimentation and some help from the folks on Discord.

Essentially: if I disable both esync and fsync - plugins work but performance suffers. If I enable EITHER of these options (I have a kernel which supports fsync so I use that) then plugins fail with the issue documented above.

It's a really strange issue and I'd really like to get to the bottom of it - happy to test things, provide lods, etc. Let me know anything you need and I'll provide it. :)

Thanks!

Maia-Everett commented 3 years ago

So I've tried Lutris Wine 5.7-11. XIVLauncher and Dalamud work flawlessly, but sadly, GShade makes the game unbearably slow under this version, whereas under Wine 6.11, GShade runs perfectly.

reiichi001 commented 3 years ago

So I've tried Lutris Wine 5.7-11. XIVLauncher and Dalamud work flawlessly, but sadly, GShade makes the game unbearably slow under this version, whereas under Wine 6.11, GShade runs perfectly.

All new Linux users should be using the XIVLauncher - Wine 6 install script on Lutris. The Wine 5.7 based one is being phased out and won't be compatible with Dalamud 6, due out in early October.

Wine 5.7 doesn't work well with GSHade and Gshade maintainers had a custom build of Wine 5.13 to use with it instead.

mtopolski commented 3 years ago

@reiichi001 Please make sure you are using Lutris wine 5.7-11 which is set as the default runner for xivlauncher. We do know of a couple other alternatives that /should/ work, but Lutris 5.7-11 is the only version we currently support as "this is known to work."

followed with

All new Linux users should be using the XIVLauncher - Wine 6 install script on Lutris. The Wine 5.7 based one is being phased out and won't be compatible with Dalamud 6, due out in early October.

like issue OP, I also cannot acceses dalamud in game with Wine 6. It's November?

reiichi001 commented 3 years ago

@mtopolski make a fresh prefix in Lutris using the current installer script. The new default is Wine 6.10. Migrate your game install and config if you'd like. We have details on the FAQ. Do not try to modify your existing prefix. It will break and the folder structures have changed in wine 6.

Please do not hijack old closed issues. Either post in Discord or make a new one.