add support for XLM pre-launch script integration and non-interactive configuration modes

This commit is contained in:
CPTN Cosmo 2026-04-18 15:23:24 +02:00
parent 72c301be78
commit 6f7d8c9d7c
4 changed files with 188 additions and 66 deletions

View file

@ -10,6 +10,8 @@ This is a wrapper script for Linux that launches `xivlauncher-core` (Native or F
- **URL Support**: Accepts standard Base32 secrets OR full `otpauth://` URLs (e.g. from QR codes).
- **Auto-Configuration**: Prompts to fix `launcher.ini` settings if they are incorrect.
- **Performance Optimization**: Automatically detects and integrates with `gamemoderun` or `game-performance` to optimize your game instance.
- **XLM Pre-Launch Support**: Seamlessly integrates as a pre-launch script for the Steam Compatibility Tool XLM.
- **Steam %command% Wrapper**: Can wrap arbitrary launch arguments natively in Steam launch options.
## Installation (Steam Deck / Linux Desktop)
@ -27,13 +29,31 @@ The easiest way to install is using the provided installer script. This script w
* **Creates Config:** Creates `~/.config/xivlauncher-wrapper/config.json`.
* **Installs Wrapper:** Installs the wrapper to `~/.local/bin/xivlauncher-wrapper`.
* **Installs Shortcut:** Installs a `.desktop` file to `~/.local/share/applications/` so it appears in your application menu.
* **XLM Setup:** Asks to install itself as an XLM pre-launch script by default.
### Steam Integration (Steam Deck)
1. Switch to Desktop Mode.
2. Open Steam.
3. "Games" -> "Add a Non-Steam Game to My Library".
4. Select "XIVLauncher Wrapper" from the list.
5. Return to Gaming Mode and launch "XIVLauncher Wrapper".
### Steam Integration Methods
You can use the wrapper with Steam in three different ways:
#### 1. XLM Pre-Launch Script (Recommended for Steam Deck)
If you use XLM (XIVLauncher Manager) as a Steam Compatibility Tool for FFXIV, the installer can automatically set up the wrapper to run right before the game launches.
If you skip this during installation, you can manually symlink the wrapper into your XLM directory:
```bash
mkdir -p ~/.local/share/Steam/compatibilitytools.d/XLCore/prelaunch.d
ln -sf ~/.local/bin/xivlauncher-wrapper ~/.local/share/Steam/compatibilitytools.d/XLCore/prelaunch.d/xivlauncher-wrapper
```
*(The script automatically detects it is in a `prelaunch.d` directory and runs in `--prelaunch` background mode).*
#### 2. Steam Launch Options Wrap
If you want to use it directly in the Steam properties of FFXIV without XLM, you can set your launch options to:
```
xivlauncher-wrapper %command%
```
#### 3. Standalone Non-Steam Game
1. Switch to Desktop Mode and open Steam.
2. "Games" -> "Add a Non-Steam Game to My Library".
3. Select "XIVLauncher Wrapper" from the list.
## Manual Setup
@ -64,6 +84,8 @@ Simply run the wrapper:
./wrapper.py
```
Or launch "XIVLauncher Wrapper" from your application menu/Steam.
**Advanced CLI options:**
- `--prelaunch`: Spawns the OTP injector in the background and exits immediately. Useful for custom wrapper scripts.
- Wrapping a specific command: `./wrapper.py flatpak run dev.goats.xivlauncher`