rankyn/xivlauncher
Project ID: 68076
Description
XIVLauncher.Core
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 # or sudo dnf install XIVLauncher-RB for the RB-patched version
Uninstall
sudo dnf remove XIVLauncher
sudo dnf copr remove rankyn/xivlauncher
openSUSE
There are repos for tumbleweed and LEAP 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.5/rankyn-xivlauncher-opensuse-leap-15.5.repo
sudo zypper install XIVLauncher # or sudo dnf install XIVLauncher-RB for the RB-patched version
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 # or sudo dnf install XIVLauncher-RB for the RB-patched version
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-8.0, which is needed for the build, with sudo dnf install dotnet-sdk-8.0
.
OpenSUSE setup
This is almost the same as Fedora, just with two extra steps. Dotnet is not in the openSUSE repos, so you need to add a Microsoft repo. And dotnet relies on libopenssl1_0_0, which is no longer in the base opensuse repos. Both of these repos need to be added. 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 zypper ar https://download.opensuse.org/repositories/security:tls/openSUSE_Tumbleweed/security:tls.repo # (or https://download.opensuse.org/repositories/security:tls/15.5/security:tls.repo for LEAP 15.5)
sudo install dotnet-sdk-8.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 .f40 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 the same as the latest flatpak release. 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 useXL_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. Be aware that Reshade, GShade, and Dalamud may all have issues with 2.2. 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
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 (19)* | Centos-stream+epel-next 9 (48 downloads) |
EPEL 9 | x86_64 (111)* | EPEL 9 (70 downloads) |
Fedora 38 | x86_64 (1437)* | Fedora 38 (0 downloads) |
Fedora 39 | x86_64 (1362)* | Fedora 39 (309 downloads) |
Fedora 40 | x86_64 (3001)* | Fedora 40 (787 downloads) |
Fedora 41 | x86_64 (394)* | Fedora 41 (80 downloads) |
openSUSE Leap 15.4 | x86_64 (13)* | openSUSE Leap 15.4 (0 downloads) |
openSUSE Leap 15.5 | x86_64 [modified] (16)* | openSUSE Leap 15.5 (36 downloads) |
openSUSE Tumbleweed | x86_64 [modified] (1299)* | openSUSE Tumbleweed (428 downloads) |
* Total number of downloaded packages.