I've been playing FF14 under Linux for quite awhile now, and every update to Wine, Proton, and DXVK makes the game work better every release. Since I've been trying to improve my knowledge of rotations and damage output, I've been using ACT to track my own progress on my Windows installation. However, since I've been trying to use Linux for FF14 more, I started looking into getting ACT running under WINE.
After a few hours of trying to get it to work, the results of the experiment are below.
I wouldn't expect any support from the ACT team, since this configuration is NOT supported.
For reference, I use Fedora 30, although any distro should work similarly.
1. Procedure
First, this implies that you already have FF14 installed and the WINE prefix set up, and that you generally know the basics. I have tried getting this working through Steam/Proton, but ACT threw some odd PATH errors and wouldn't start. Therefore, I suggest setting up a new prefix through Lutris using the standalone client.
Using one of the standalone launchers from Lutris: https://lutris.net/games/final-fantasy-xiv-a-realm-reborn/
or following GloriousEggroll's guide: https://www.gloriouseggroll.tv/ffxiv-arch-linux-wine-staging-2-4-works-beautifully/
should get a working installation up and running.
An important thing to keep in mind about WINE is that all WINE prefixes are effectively their own separate windows installations. In order for ACT to detect FF14's process, ACT must be installed AND running in the same WINE prefix as the FF14 client, using the same version of WINE. I would recommend making a copy of your existing FF14 prefix so that you don't mess up your working installation.
I would also recommend using the current latest version of WINE available through Lutris, which is to date 'lutris-4.13'.
1a. Configuring the prefix
ACT requires .NET framework 4.6 at minimum to run properly on WINE. Additionally, you must make sure that you do not install Mono in your prefix. If you receive a pop up box requesting that you install mono, be sure to cancel it.
Use winetricks to install the .NET Framework:
$ WINEPREFIX=[your FF14 prefix here] winetricks dotnet460
If .NET fails to install with an "Already Installed" error, you likely have Mono installed in your prefix. I would suggest creating a new prefix if that happens. You may have to remove the 'wine-mono' package from your system if you have it, or find a way to remove Mono from the prefix.
Additionally, I would also recommend hiding the wine version (wine configuration -> Staging -> Hide WINE Version or using winetricks 'hidewineexports=enable', in case the FF14 launcher decides that you don't have a service account. (If that happens, it's checking for a Mac license)
When installed, download ACT from the usual place. I recommend the standalone version, since you can extract and run it wherever you want.
1b. Getting it running
In order to start ACT, you must:
- Run it using the same prefix (WINEPREFIX=<your ff14 prefix here>)
- Run it using the same version of WINE
- Run it using the same version of FF14 you're running (which is probably 64 bit)
To start ACT, you need to locate the same version of WINE you would be using to run FF14. I use standalone versions of Steam and Lutris. You may need to find a different location if you run Steam or Lutris through a manager program such as Flatpak.
Steam stores the data for Proton here, if you want to try it: ~/.local/share/Steam/steamapps/common/Proton 4.2
Lutris stores it's wine versions or 'runners' here: ~/.local/share/lutris/runners/wine
The binaries you are looking for are located in the 'bin' directory.
If you are using the 64 bit client, you must start ACT using 'wine64'. If you are using the 32 bit client, you must start ACT using 'wine'. Sample commands are below, using lutris and the lutris-4.13 wine runner:
# 32-bit client
$ WINEPREFIX=<your ff14 prefix here> ~/.local/share/lutris/runners/wine/lutris-4.13-x86_64/bin/wine <full act executable location>
# 64-bit client
$ WINEPREFIX=<your ff14 prefix here>
~/.local/share/lutris/runners/wine/lutris-4.13-x86_64/bin/wine64 <full
act executable location>
From here, ACT should start as normal. Configure it with the FF14 plugin and start FF14 through Lutris. ACT should detect the FF14 process. You will probably see some rundll errors when starting WINE - these are normal and can be fairly safely ignored.
2. What works & doesn't work, and caveats
What works:
* General, memory based parsing.
* Overlays, although they have been graphically buggy for me.
* Presumably most of the basic functionality.
What doesn't work:
* Network based parsing (Normal network & WinPCap)
* FF14 in Fullscreen (use borderless fullscreen instead)
I haven't tested most of the other functionality (ODBC, Webserver, etc).
Since network based parsing doesn't work, it's very likely that not much else that relies on analyzing network traffic will work, either. This includes the DF Scout plugin among other things.
If anyone else can test and verify these steps, this would be a pretty good step towards full Linux support for FF14. It's fairly likely that we could get Network support working as well, if we figure out where to start.
Good luck.
Comments
You might want to check out the official FFXIV Plugin Discord, specifically, the #machina-discussion channel. Over the weekend they worked on figuring out the last incompatibilities of WinPcap and libpcap. (struct size differences) They say that it's working and no longer spitting out garbage data. Additionally, they made a plugin for TTS under Linux.
Essentially there will be a plugin that preloads a replacement Machina DLL that has the working network parsing and the normal FFXIV plugin will use that instead of loading its own copy.
I don't think there are any releases yet, but it shouldn't be too long.
valarnin#2190
1. PR was merged into machina and should be available soon (hopefully). Until it's available, I have attached a precompiled Machina.dll and instructions on how to load it here: https://github.com/ravahn/machina/pull/8#issuecomment-520817170
2. TTS doesn't work in Linux because the MS SAPI doesn't work in wine for some reason. We've written an ACT plugin to allow redirecting TTS to a separate linux binary, default configuration is for the espeak binary. Note that the 'Use Pipe' option doesn't currently work. https://github.com/Minizbot2012/LinuxTTSPlugin
3. Requires a patched version of Proton 4.2, or Proton 4.11.2 or later
4. Need to install .NET Framework 4.0 - 4.7.2, in order, for ACT to load. Make sure to uninstall mono support before installing .NET or else it'll break
5. Must turn off the opening cutscene (that plays when creating a new character)
6. Need to give the wine-preloader, wine64-preloader, and wineserver binaries permission to network capture and read process memory via
sudo setcap cap_net_raw,cap_net_admin,cap_sys_ptrace=eip
<binary>7. Add your user to the netdev group
Registered an account specifically to update the info here. There's a full guide to getting everything working on my github here:
https://github.com/valarnin/ffxiv-tools/blob/master/Guide.md
The guide will walk you through setting up FFXIV and ACT, including getting network parsing to work. Most of the actual ACT install process is scripted out.
For help, please hop on the FFXIV ACT discord's #ffxiv-linux-discussion channel. Discord link is here (or on Ravahn's github):
https://discord.gg/ahFKcmx