rankynbass / XIVLauncher.Core

Cross-platform version of XIVLauncher, optimized for Steam Deck
GNU General Public License v3.0
11 stars 3 forks source link

xlcore_sized

XIVLauncher-RB: XIVLauncher.Core with additional patches Discord Shield

Cross-platform version of XIVLauncher for Linux and Steam Deck. Comes with several versions of WINE tuned for FFXIV, as well as Proton and Steam Runtime support.

Changes from XIVLauncher.Core

1) Proton support. At the moment there are no plans to add proton to XIVLauncher.Core, so if you want to use proton, this is it. To enable proton, go to settings, Wine tab, and change the Installation Type to Steam Runtime with Proton 2) Preview of various PRs for XIVLauncher.Core: I try to add various feature and bugfix PRs before they get merged. 3) Wine and DXVK switchers. This feature will hopefully be merged upstream soon. For now, though, you can test it out here.

Using on Steam Deck

If you want to use XIVLauncher on your Steam Deck, it's not quite as easy as using the official version, but still not too difficult.

1) You'll want to switch to desktop mode and download the latest flatpak file. From the terminal (Konsole) install with flatpak install --user xivlauncher-rb-v1.1.0.2.flatpak (or whatever the latest flatpak file is). 2) Run XL_USE_STEAM=0 flatpak run dev.rankyn.xivlauncher --deck-install 3) Restart Steam. This is necessary to get the compatibility tool to register. 3) In Steam, do the initial install of FFXIV or FFXIV free trial. You do not have to run the official launcher, you just need to have it installed in your steam library. 4) Go into the FFXIV properties, and go to Compatibility. Check "Force the use of a specific Steam Play compatibility tool", and select "XIVLauncher.Core as Compatibility Tool". 5) You can now launch the game from desktop mode or game mode. Both should work.

Using the AppImage

I've started creating AppImages as well. These have worked on the Steam Deck in my testing, although there are a couple of minor issues. 1) Download the AppImage tarball and extract somewhere. 2) Run the included install.sh script. This will move the AppImage to ~/Applications and create a .desktop entry in your menus. 3) The desktop shortcut can now be added to steam the same way you'd do with the official Flatpak, without the need for the extra parameters. You will still need the XL_SECRET_PROVIDER=file if you want to save passwords in Game Mode. 4) Do not hilight the AppImage file in your file browser and launch with the enter key. It launches multiple copies, for some unknown reason. Double-clicking on it, or launching from the terminal or desktop file all work fine, however.

If you're having trouble, you can join the XIVLauncher Discord server, grab the Steam Deck & Linux and join the #xlcore-questions channel. I'm online most days and can usually help out, and there are a number of other people who may also be willing. Please don't use the GitHub issues for troubleshooting unless you're sure that your problem is an actual issue with XIVLauncher-RB.

Environment Variables for troubleshooting

Variable Description
XL_SECRET_PROVIDER Set to file if using the Steam Deck or other desktop session that doesn't have a secret provider.
XL_DECK Force XIVLauncher-RB to pretend it's Steam Deck. Does not enable the Steam keyboard.
XL_GAMEMODE Forces XIVLauncher-RB to pretend it's in Steam Deck Game Mode. Also does not enable the Steam keyboard.
XL_FIRSTRUN Set to 0 or 1 to force the launcher to skip or activate the Steam Deck First Run screen.
XL_USE_STEAM Set to 0 or 1 to enable or disable steam API checks.
XL_APPID Set to a steam AppID number to hook that application instead of FFXIV or the free trial.
XL_FORCE_DLSS Skip DLSS checks and assume that the nvngx dlls are in the game folder.
XL_NVNGXPATH Set a custom path for the folder containing nvngx.dll and _nvngx.dll. Most useful for NixOS, which has unusual paths.

Building & Contributing

  1. Clone this repository with submodules
  2. Make sure you have a recent(.NET 8.0) version of the .NET SDK installed
  3. Run dotnet build or dotnet publish

Common components that are shared with the Windows version of XIVLauncher are linked as a submodule in the "lib" folder. XIVLauncher Core can run on Windows, but is by far not as polished as the original Windows version. Windows users should not use this application unless for troubleshooting purposes or development work.

Distribution

XIVLauncher-RB is not officially supported by the XIVLauncher community, but many people have used it successfully on different linux distros. You can download flatpak files and AppImages from the releases, but it is also in several user-submitted repos:

Repo Status
AUR AUR version
Copr (Fedora+openSuse+EL9) COPR version
MPR (Debian+Ubuntu)* MPR package
Nix Flake Update

* The MPR just pulls the latest git master, so it should always be up to date. If you want a specific tag, change the url in the PKGBUILD source section from branch=RB-patched to tag={tag}. Tags will be in the format rb-v1.1.0.11.

If there are any others, please let me know and I'll add them.