| Build Scripts | Arch Linux | Fedora | Ubuntu | Valve Bleeding Edge |
|---|
Unofficial-wine-xiv is based on wine-tkg and builds wine with several patches to improve the experience of FFXIV on Linux machines. Wine-tkg is a build-system aiming at easier custom wine builds creation.
I've set up a custom script to make building wine on your own machine a bit easier. I recommend compiling in a Distrobox container, unless you are building for ntsync. If you want to build ntsync, you'll need to compile on your base system or set up a full VM with an ntsync-enabled kernel and kernel headers. I use Vagrant with arch linux and cachyos repos for this.
If you are going to use a distrobox, create/enter it now and make sure that git and any additional required dev packages are installed.
Arch: Make sure multilib is enabled in /etc/pacman.conf
sudo pacman -Syu --no-confirm git base-devel
Fedora:
sudo dnf install git
Ubuntu:
sudo dpkg --add-architecture i386 && sudo apt update
sudo apt install aptitude
sudo aptitude remove -y '?narrow(?installed,?version(deb.sury.org))'
sudo apt install libxkbregistry0 libxkbregistry-dev
After you've set up your build environment, simply clone the repo, cd into the directory, and run one of the following command to see your options:
git clone https://github.com/rankynbass/unofficial-wine-xiv-git
cd unofficial-wine-xiv-git/wine-tkg
./xiv-staging.sh -h ### For wine-staging 10.20 and later
./xiv-valve.sh -h ### For valve wine
For the most part, you will want to run something like ./xiv-staging.sh -S v11.3 or ./xiv-valve.sh -V 986bda11d3e569813ec0f86e56ef94d7c384da04. ./xiv-setup.sh is provided for older verions, but is no longer being kept up-to-date, and many of the options no longer work as a result of changes to wine-tkg-git.
Run yes | ./non-makepkg-build.sh to build. I usually use yes | ./non-makepkg-build.sh 2>&1 | tee buildfile.log so that the output is piped to the console and to a file.
As of FFXIV 7.2, Dalamud requires an additional patch to function with wine versions from 9.0 to 10.7. As of wine version 10.8, the debug patch is no longer needed. Since valve wine is based on 9.0 or 10.0, it also needs the debug patch.
If you are using arch with cachyos repos (and not cachyos from its own installer), the above command will fail and get stuck in a loop due to having multiple repos. The first time you will have to
babysit the install. Just run ./non-makepkg-build.sh and be prepared to hit enter a bunch of times until it starts compiling.
Example 1: Do a basic staging build
This will build staging 10.1 and output the build info to the console and the staging-10.1.log file.
./xiv-setup.sh -S v10.1
yes | ./non-makepkg-build.sh 2>&1 | tee staging-10.1.log
For 10.0 and earlier, add the -t flag to enable the thread priorities patch (included in 10.1 and later)
Example 2: Do a valve bleeding edge build
This needs to be done on arch or Ubuntu 24.04 or later. I haven't tested it on Fedora, and it fails on Ubuntu 22.04 and earlier.
./xiv-setup.sh -v -V ""
yes | ./non-makepkg-build.sh 2>&1 | tee valve.log
This will build vavle bleeding edge wine with the latest commit.
Example 3: NTSync
./xiv-setup.sh -s -S v10.0
yes | ./non-makepkg-build.sh 2>&1 | tee ntsync.log
This will build wine-staging 10.0 with ntsync patches.
For more information on using this build system, check out the original repo: Frogging-Family/wine-tkg-git
For the official Wine-xiv-git repo and patches: goatcorp/wine-xiv-git
- Wine-tkg : https://github.com/Tk-Glitch/wine-tkg
- Proton-tkg : https://github.com/Tk-Glitch/wine-proton-tkg
Wine : https://github.com/wine-mirror/wine
Wine-staging : https://github.com/wine-staging/wine-staging
Wine esync : https://github.com/zfigura/wine/tree/esync
Wine fsync : https://github.com/zfigura/wine/tree/fsync