rankyn/xivlauncher

Project ID: 68076

Description

XIVLauncher.Core Copr build status

XIVLauncher (abbreviated as XL) is a faster launcher for our favorite critically acclaimed MMO, with various available addons and enhancements to the game!

Installation Instructions

Fedora

Install

sudo dnf copr enable rankyn/xivlauncher sudo dnf install XIVLauncher

Uninstall

sudo dnf remove XIVLauncher sudo dnf copr remove rankyn/xivlauncher

openSUSE

There are repos for tumbleweed and LEAP 15.4 & 15.5. If you ever have problems with the repo not refreshing properly (not seeing a new update, for example), just uninstall and reinstall the repo. You can get the repo links from the buttons at the bottom of the page, or from the instructions directly below.

Install

sudo zypper addrepo -r https://copr.fedorainfracloud.org/coprs/rankyn/xivlauncher/repo/opensuse-tumbleweed/rankyn-xivlauncher-opensuse-tumbleweed.repo # or sudo zypper addrepo -r https://copr.fedorainfracloud.org/coprs/rankyn/xivlauncher/repo/opensuse-leap-15.4/rankyn-xivlauncher-opensuse-leap-15.4.repo sudo zypper install XIVLauncher

Uninstall

sudo zypper remove XIVLauncher sudo zypper removerepo copr:copr.fedorainfracloud.org:rankyn:xivlauncher

Enterprise Linux (EL9 and Centos Steam 9+, requires EPEL)

Red Hat, Rocky Linux, AlmaLinux, etc.

It's not really possible to get this running on el8 due glibc being too old. You'd have to rebuild ALL el8 packages against a new version of glibc. It will run on el9 with an additional copr repo. I had to grab source rpms from the fedora repos and build them for rhel9, since they were removed from the default repos. Tested on Rocky Linux 9. XIVLauncher launches, but I didn't install the game or try to play.

First enable the EPEL repository. Instructions: [Red Hat] [Rocky Linux] [AlmaLinux]

Install

sudo dnf copr enable rankyn/xl-deps-el9 sudo dnf copr enable rankyn/xivlauncher sudo dnf install XIVLauncher

Uninstall

sudo dnf remove XIVLauncher sudo dnf copr remove rankyn/xivlauncher

If you wish to remove the dependencies as well, you can do this:

sudo dnf remove aria2 libFAudio jxrlib sudo dnf copr remove rankyn/xl-deps-el9

Configuration Info

First run

After install, you should can the /usr/bin/xivlauncher-core script, either from the terminal or from the .desktop file (which should show up in your desktop menu as "XIVLauncher Native"). This will launch XIVLauncher.Core.

Another script is included at /opt/xivlauncher/cleanupprofile.sh which can clean up your ~.xlcore folder and improve performance/compatibility with the native XIVLauncher install. If you are upgrading from 1.0.1.0-2 or earlier, or moving from the flatpak install, you should run this. Running this script will delete a few of the folders in ~/.xlcore. When you run XIVLauncher those folders will be recreated with fresh versions. This may break the flatpak install! This is largely no longer necessary, and the functionality has been moved into the launcher itself in the troubleshooting tab: Clear Wine & DXVK button.

Non-Steam Configuration

The program installs to /opt/XIVLauncher. A .desktop file is included at /usr/share/applications/XIVLauncher.desktop, but it might need to be tweaked for your installation. You can also launch it from the terminal with /usr/bin/xivlauncher-core. If you have a non-steam account and you'd like to still launch with steam, follow the instructions below, but make sure Use Steam Service is unchecked in the launcher.

Steam Configuration

If you are using steam, you can add a non-Steam game and find "XIVLauncher (native)", or browse to /usr/bin/xivlauncher-core. If you want to add environment variables or make other changes to the command line, you can edit the lauch arguements field. DO NOT start the line with %command%. Only use %command% if you are preceeding it with environment variables or other programs like gamescope or mangohud.

Start the launcher, and on the main page, make sure "Use Steam Service" is checked. Also, the launcher sometimes does not properly close, and will show itself as still running after you exit the game. You can just click the STOP button to fix it, or right-click and STOP.

If you want an icon for XIVLauncher in the library list, you can find one at /opt/XIVLauncher/xivlauncher.png, and a custom logo at /opt/XIVLauncher/xivlogo.png

Notes on switching from Lutris or traditional Steam installation

If you installed FFXIV through Lutris or through the normal Steam installer, you do not have to redownload the game files or redo your user interface. Instead, launch XIVLauncher and click the gear icon. You can then set the game path and Game config path to point to your old installation. Or you can move/copy/symlink the folders to ~/.xlcore. See XL Troubleshooting for more help with this.

More Info

You can find more information about the official (flatpak) version of XIVLauncher at XIVLauncher Help. Much of the information there applies to this native install as well. You can also join the Discord Server. Linux support can be obtained in the #linux-and-deck channel (don't use the #xivlauncher-help channel).


Building it yourself

Fedora setup

By default, Fedora will want to build in ~/rpmbuild. If it's somewhere different for your setup, replace ~/rpmbuild with your own build directory. When you clone the git repository from github, DO NOT clone it into this folder, do it somewhere else.

Download the required development packages:

sudo dnf rpmdevtools rpm-build

Set up the build directories if they don't already exist (~/rpmbuild and subfolders). Run the command rpmdev-setuptree. Do NOT run with sudo/root access. You want to make these directories in your own home folder.

Install dotnet-sdk-6.0, which is needed for the build, with sudo dnf install dotnet-sdk-6.0.

OpenSUSE setup

This is almost the same as Fedora, just with one extra step. Dotnet is not in the openSUSE repos, so you need to add a Microsoft repo. This can be done as follows:

sudo zypper install libicu sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc sudo zypper ar https://packages.microsoft.com/config/opensuse/15/prod.repo sudo install dotnet-sdk-6.0

After that, install rpm build packages with sudo zypper in rpm-build rpmdevtools, and run rpmdev-setuptree (NOT as root).

Compiling the code

Use git clone to grab the source code. I use a folder called ~/build for compiling various git repos, so that's what I'll do here. But you can use any folder you have read/write access to.

mkdir -p ~/build cd ~/build git clone https://github.com/rankynbass/XIVLauncher4rpm.git cd XIVLauncher4rpm

Now you can build the rpms. First, download the tarballs by using the included script, then build with rpmbuild. The third option is actually what the COPR build system does. It uses .copr/Makefile to install dependencies for making the binary, then calls the getsources script, then executes rpmbuild -bs. It then passes the src.rpm off to the various build environments for different distros. However, even if you have src.rpms, you still need to have internet access. The dotnet publish command needs to grab some remote packages. For manual builds, thats obviously not an issue, since you just cloned the repo. But for remote builds with copr, or with opensuse's OBS (I haven't tried this one yet), you'll need to make sure the builder has internet access. (version and release are listed in the _version file in lines 3 and 4. As of Sep 5, 2022, these are 1.0.1.0 and 4.)

Run the script .copr/getsources.sh and then do one of the following:

rpmbuild -ba --undefine='dist' XIVLauncher4rpm.spec # Build binary and source rpms

OR

rpmbuild -bb --undefine='dist' XIVLauncher4rpm.spec # Build binary only

OR

rpmbuild -bs --undefine='dist' XIVLauncher4rpm.spec # Build source rpm rpmbuild -rb --undefine='dist' ~/rpmbuild/SRPMS/XIVLauncher-version-release.src.rpm # Build binary from source rpm.

By default, Fedora will put a .f36 or similar after the version-release for both the rpm and src.rpm. OpenSUSE may add something like .opensuse.tw, but did not do so during my testing. The COPR build system does put the distro in the rpm name. If you want to edit this macro definition yourself, you can pass --define='dist .mydistro'. The "." is important, as otherwise you'll get something like XIVLauncher-1.0.1.0-4mydistro.x86_64.rpm. Or you can pass --undefine='dist' (as above) to make it blank.

In the end you should have an rpm file in ~/rpmbuild/RPMS/x86_64/ called XIVLauncher-version-release.x86_64.rpm. If you build sources as well, that will be in ~/rpmbuild/SRPMS/.

Install with sudo rpm -i ~/rpmbuild/RPMS/x86_64/XIVLauncher-version-release.rpm.

Repos

[ XIVLauncher.Core git: goatcorp/XIVLauncher.Core ]

[ FFXIVQuickLauncher git: goatcorp/FFXIVQuickLauncher ]

[ XIVLauncher4rpm git: rankynbass/XIVLauncher4rpm ]

[ COPR Repo: rankyn/xivlauncher ]


XIVLauncher is functionally the same as the latest flatpak release. I used slightly newer git commits to avoid a bug with version checking, which doesn't apply to native builds. This package is XIVLauncher outside of the sandbox. This makes it possible to run ACT, and easier to set up IINACT, for example. It might also have slightly better performance, depending on system libraries.

This is based on the main branch XIVLauncher4rpm.


XIVLauncher-RB has a few custom patches:

  • Added Proton as an option. Selecting Proton from the Installation Type in the Wine tab will reveal another menu with all the proton installs from Steam. This includes any GE-Proton versions you have in the compatibilitytools.d folder, and any extra proton versions (such as Proton Experimental) you have installed.
  • Added a button on the Wine tab for a Wine Explorer with WineD3D. Some apps may not like DXVK, so you can use this to launch them without DXVK.
  • Added a Download Now! button on the wine tab to download wine without trying to log in.
  • Added XL_PATH environment variable. This will let you specify an alternate directory for the xlcore folder. So instead of using the default ~/.xlcore, you can use XL_PATH=~/.local/share/xlcore, for example. This will create a completely new folder, so you'll need to configure it to point to the correct ffxiv game and config folders. This may help with multiboxing, since you can run multiple copies of the game from different prefixes / wine installs.
  • Added a DXVK tab to Settings. This has all the DXVK settings now. Default version is 1.10.3, but you can try out 2.2 and 2.3 versions, including the new gplasync patch for 2.2 & 2.3. Be aware that Reshade, GShade, and Dalamud may all have issues with 2.0+. If the game doesn't launch, or is glitchy, change this back to one of the 1.10 version.
  • You can install custom wine and dxvk versions directly to the ~/.xlcore/compatibilitytools.d/wine or dxvk folders, and they will appear in the lists for selection.
  • Hud options and Async option have been moved to DXVK tab. Frame rate limit has also been added.
  • WineD3D can now be enabled by selecting Disabled as the Dxvk version in the DXVK tab.
  • Font size can be adjusted (requires restart).
  • Wayland can be enabled if you have a compatible wine version. You have to press the "Enable Wayland" button and make sure your scaling factor exactly matches your desktop scaling, otherwise you will have problems.

You can install XIVLauncher and XIVLauncher-RB at the same time. XIVLauncher-RB installs itself to /opt/xivlauncher-rb, and its launch script is /usr/bin/xivlauncher-rb.

This is based on the RB-patched branch of XIVLauncher4rpm. If you would prefer to install a flatpak version of this release, try this: FLATPAK


XIVLauncher-git package is available for testing purposes. XIVLauncher-git can be installed side-by-side with the release package. It will install into /opt/XIVLauncher-git, with launcher script at /usr/bin/xivlauncher-git and similarly named desktop and icon files. Don't expect it to work all the time, and don't report problems with them in the official Discord without mentioning which package you are using.

  • Updated with the compatibility-rework patch, which gives options for wine 8.5 or 7.10.
  • DXVK settings tab (DXVK 1.10.3, 2.0, 2.1, 2.2; MangoHud, frame rate limit)
  • Using WineD3D (openGL) is now supported, and even works with Dalamud (somewhat).
  • Option to switch between Win7 and Win10 modes of operation. For the provided wine, you should use Win7.
  • Dalamud logs in the right places.
  • A few other misc fixes.
  • XIVLauncher-git is versioned off the timestamp of the latest commit from when the repo was cloned (UTC).

This is based on the canary branch of XIVLauncher4rpm.

Active Releases

The following unofficial repositories are provided as-is by owner of this project. Contact the owner directly for bugs or issues (IE: not bugzilla).

Release Architectures Repo Download
Centos-stream+epel-next 9 x86_64 (8)* Centos-stream+epel-next 9 (14 downloads)
EPEL 9 x86_64 (82)* EPEL 9 (33 downloads)
Fedora 37 x86_64 (1120)* Fedora 37 (0 downloads)
Fedora 38 x86_64 (1379)* Fedora 38 (337 downloads)
Fedora 39 x86_64 (918)* Fedora 39 (212 downloads)
Fedora 40 x86_64 (64)* Fedora 40 (18 downloads)
openSUSE Leap 15.4 x86_64 [modified] (3)* openSUSE Leap 15.4 (26 downloads)
openSUSE Leap 15.5 x86_64 [modified] (5)* openSUSE Leap 15.5 (7 downloads)
openSUSE Tumbleweed x86_64 [modified] (866)* openSUSE Tumbleweed (260 downloads)

* Total number of downloaded packages.