< Back home

My setup for playing FFXIV on Linux

Originally published on 15 January 2026, last updated on 16 January 2026.

One of my hobbies is playing the critically acclaimed MMORPG Final Fantasy XIV, with an expanded free trial which you can play through the entirety of A Realm Reborn and the award-winning Heavensward expansion up to level 60 for free with no restrictions on playtime.

I also switched from Windows to Linux again on my personal computer in late 2025, and so I've spent some time getting it to work the way I want. This page serves as documentation of the current state of my setup, both for me to refer to later if I need to, as well as to help anyone else working to set it up too.

Note that this is not meant as a tutorial, mostly because I don't really understand all the underlying systems well enough myself to say with any authority "this is what you should do, and how you should do it".

Here's the summary of my setup/requirements I have:

Table of Contents

System Configuration

I have the following relevant system packages installed:

Launcher

XIVLauncher is probably the most common custom FFXIV launcher, and the one I use and would recommend for any player wanting to run FFXIV on Linux. I specifically run RankynBass' fork, commonly known as XIVLauncher-RB. I've installed this using the install-local.sh experimental script in this repository, which installs XIVLauncher using XLM.

At the moment I'm using version 1.3.1.1-beta3, by modifying ~/.local/share/xivlauncher-rb/start.sh to contain the following:

#!/bin/bash
VERSION="rb-v1.3.1.1-beta2"
~/.local/share/xivlauncher-rb/xlm launch \
  --xlcore-web-release-url-base "https://github.com/rankynbass/XIVLauncher.Core/releases/download/$VERSION/" \
  --install-directory ~/.local/share/xivlauncher-rb/xlcore

And yes, I know it says -beta2 in the code, but it looks like 1.3.1.1-beta3 was accidentally pushed to the 1.3.1.1-beta2 tag. Once a non-beta 1.3 version has been released, I'll probably replace the --xlcore-web-release-url-base "…" attribute back to --xlcore-repo-owner rankynbass to get auto-updates working again.

In the launcher, I have the following (non-default) configuration:

Launcher Configuration - Game

Launcher Configuration - WINE

Azeron Cyborg II Configuration

I use an Azeron Cyborg II keypad as my controller of choice, together with keyboard for chat and a mouse for camera movement. My current keyboard is a Steelseries Apex Pro US without any particularly interesting configuration, and my mouse is a Logitech G502 Hero with the thumb buttons mapped to Ctrl and Shift (I believe I did this in the Windows configuration software and set them up as saved-on-hardware bindings).

For the Azeron Cyborg II itself, I use input-remapper. Using their Windows software (on Windows, I don't believe it works with WINE, at least I couldn't get it to work), I bound each of the buttons to a joystick button ("JOY #1" through "JOY #26"), the exact joystick button you choose doesn't really matter as we'll remap them all in input-remapper. The joystick is mapped as an analog joystick, and the "hat" is mapped to the dpad buttons. The bindings I used look something like this:

J_UP
JOY #1
JOY #2
JOY #3
JOY #4
J_LEFT
JOY #25
J_RIGHT
JOY #5
JOY #6
JOY #7
JOY #8
J_DOWN
JOY #9
JOY #10
JOY #11
JOY #12
JOY #13
JOY #14
Analog Joystick
 
JOY #23
JOY #15
JOY #16
JOY #17
JOY #18
JOY #24
JOY #19
JOY #20
JOY #21
JOY #22
JOY #26

In input-remapper, I then created a profile for FFXIV (which I currently have set to always-active, since I don't currently use this controller for any other games), and map each button to a keyboard button, ending up with a keymap looking like this:

U
Esc
H
M
]
Shift + F
=
-
0
9
I
Shift + Tab
8
7
6
5
Tab
Analog Joystick
 
C
4
3
2
1
X
Z
B
F
Space

And for reference, here's what those are actually bound to in-game:

I tried using Noreza, but as it didn't "mask" the joystick buttons in game (i.e. if I press the button mapped to "JOY #1", that ended up being received by the game as pressing the "Accept" joystick button (A on an Xbox controller, X on a PS controller, etc.)). The UI is definitely a bit nicer, so I might revisit this in the future if that gets fixed, or I find a workaround.

OBS Recording

I've installed OBS through the Fedora system package (not through Flatpak), and I've installed the vkcapture plugin as well. Together with setting OBS_VKCAPTURE=1 in the additional game arguments as detailed above, this makes the "Game Capture" source in OBS pretty much just work, although I'm currently having an issue getting it to capture colours correctly when HDR is enabled, as detailed below.

HDR with RenoDX

I used the FFXIV RenoDX mod on Windows in order to get a better HDR implementation in game, and so I wanted to get that working on Linux as well. This ended up being relatively easy to set up, using the reshade-steam-proton script to install Reshade, by running it as RESHADE_ADDON_SUPPORT=1 ./reshade-linux.sh, and pointing it to ~/.xlcore/ffxiv/game as the game path. There's no need to set up WINEDLLOVERRIDES unlike what the script says, but you need to copy ~/.xlcore/ffxiv/game/d3dcompiler_47.dll to ~/.xlcore/protonprefix/drive_c/windows/system32 (or ~/.xlcore/wineprefix/drive_c/windows/system32/ if you're using WINE). Remember to also put the renodx-ffxiv.addon64 file in ~/.xlcore/ffxiv/game, and things should work with the settings I outlined above.

The main things I found I needed to do to get HDR to work, though (at least with KDE Plasma), in case you haven't copied my setup exactly:

Known Issues

Not everything is working exactly the way I want it right now, here is a list of the things I haven't quite been able to fix yet. If you know of a way to fix this, please do get in touch!

HDR Recording in OBS

The OBS recording setup worked perfectly until I enabled HDR, now the colours are all messed up in the recordings, as I feel like is often the case when enabling HDR.

I tried setting my Colour Format and Colour Space (in Settings > Advanced) to P010 and Rec. 2100 (PQ), which I think was all I needed to get HDR recording to work on Windows, and while the output file is now an HDR file, the colours and exposure seems all wrong.

I suspect my issue might be the same as this one, which seems to be that the colour space is not detected properly by obs-vkcapture?

Fixed Issues

Here are a list of specific issues I had, and how I fixed them. There are mostly things that were (or would've been) "known issues" in the past, included here in case anyone else has similar issues.

Stuck Mouse Button

I primarily use the right mouse button to move the camera. I used to have issues where the right mouse button would get "stuck", i.e. when I let go of the mouse button, the game would treat it as if I still held down the mouse button, and the camera would still move, until I press the button again.

Several people in the XIVLauncher & Dalamud Discord said that this was a WINE issue, and suggested switching to Proton, and after doing that I no longer had this issue. I've also seen people claim that enabling the in-game setting to restrict the cursor to the game window fixes this too, but as I have multiple monitors and regularly move the cursor from the game to other monitors, this wouldn't really work all that well for me and is not something I tried.