My setup for playing FFXIV on Linux
Originally published on 15 January 2026, last updated on 6 March 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:
- Fedora 43
- Ultrawide monitor (21:9, 3440×1440)
- HDR monitor
- NVIDIA graphics card
- Azeron Cyborg II controller
- I want to be able to record gameplay with OBS
- I do not have a Steam service account (I did not buy the game through Steam)
Table of Contents
- System Configuration
- Launcher
- Azeron Cyborg II Configuration
- OBS Recording
- HDR with RenoDX
- Known Issues
- Fixed Issues
- Changelog
System Configuration
I have the following relevant system packages installed:
-
input-remapper- Used to make my Azeron Cyborg II behave the way I want -
obs-studio-plugin-vkcapture- Used to let OBS do a "game capture" of my game -
VK_hdr_layer- Was required to get HDR rendering to work correctly for me
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.
In the launcher, I have the following (non-default) configuration:
Launcher Configuration - Game
- Additional Game Arguments:
ENABLE_HDR_WSI=1 PROTON_ENABLE_HDR=1 OBS_VKCAPTURE=1 %command%-
ENABLE_HDR_WSI=1- Enable the Vulkan HDR WSI layer (which I believe is what theVK_hdr_layerpackage provides). -
PROTON_ENABLE_HDR=1- Also seems to be required to get HDR to work with Proton. -
OBS_VKCAPTURE=1- Used to enable the vkcapture plugin to make the "Game Capture" source in OBS work for OBS recording.
-
Launcher Configuration - WINE
- WINE Install: Managed Proton - I'm using using Proton as it fixed an issue with stuck mouse buttons for me.
- Proton Version: GE-Proton 10-29 - I haven't experimented much with this, I just picked the latest GE-Proton available when I switched to Proton, and as I haven't had issues with it yet, I haven't tried any other versions.
- Umu Launcher: System - I think this might be the default?
- Enable Feral's GameMode, ESync, FSync, NTSync: NTSync enabled, all other disabled - It's my understanding that NTSync is the best option for the different "-sync" options, if you have a kernel that supports it. Feral's GameMode is off by default, and from what I've read in the XIVLauncher & Dalamud Discord, it's not really recommended or required on modern kernels.
- Enable Wayland Driver: Enabled - Seems to be required for HDR to work properly.
- Set Windows version to 7: Disabled.
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:
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:
And for reference, here's what those are actually bound to in-game:
- 0-9, - and = together with Ctrl and Shift on my mouse thumb buttons are bound to hotbars 1–3.
- M - Shortcuts > Maps
- ] - Shortcuts > Character
- U - Shortcuts > Duty Finder
- I - Shortcuts > Inventory
- Shift + F - Targeting > Set Focus Target
- Tab - Targeting > Cycle through Enemies (Nearest to Farthest)
- Shift + Tab - Targeting > Target Nearest Enemy
- Z - Movement > Draw/Sheathe Weapon
- B - System > Confirm
- Space - Movement > Jump
- H - General Actions > Mount Roulette (via hidden shared hotbar)
- F - General Actions > Sprint (via hidden shared hotbar)
- X - General Actions > Limit Break (via hidden shared hotbar)
- C - Bound to a hidden hotbar, but nothing currently on it. Used to be current potion/tincture, but I kept pressing it accidentally, so I removed it.
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. I'm currently running ReShade 6.7.3.
The main things I found I needed to do to get HDR to work, though (at least with KDE Plasma and an Nvidia GPU), in case you haven't copied my setup exactly:
- Enable HDR for your display in System Settings
- Install
VK_hdr_layer(a system package on Fedora) - Check the Enable Wayland Driver setting in XIVLauncher-RB.
- Use GE-Proton.
-
Set
PROTON_ENABLE_HDR=1in the additional game arguments in XIVLauncher.
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! I'm @foophoof@tech.lgbt on Mastodon, and @foophoof.com on Bluesky.
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?
Window Resize After Screen Turns Off
Any time my primary monitor (the one FFXIV is on) turns off and on again, the FFXIV window ends up getting offset and partially off the screen. Whenever I launch FFXIV, it first starts as a window very briefly, before resizing to my monitor resolution, and then finally that window moves to the top left of my monitor. That last move is what gets undone after the monitor turns off, so the window is now still the same size as my monitor, but just moved.
The only workaround I've found that sort-of fixes this is after it happens I can open the game's System Configuration and switch to full screen mode and back to borderless windowed mode again.
Things I've tried that hasn't worked:
- Right clicking the game in the taskbar and selecting "Fullscreen", "Maximize" or both.
- Installing the "Beeg Dinosaur Eat Window" and/or "Better borderless window mode".
- Set
WAYLANDDRV_PRIMARY_MONITOR. - Moving the window to another screen and back again.
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.
Changelog
- 25 January 2026 — XIVLauncher-RB 1.3.1.1 has been released, so customising the launch script is no longer needed.
- 27 January 2026 — Switched from GE-Proton 10-27 to GE-Proton 10-29 (no particular reason other than staying up to date).
- 2 February 2026 — Upgraded to ReShade 6.7.1.
-
15 February 2026 — Removed
PROTON_ENABLE_WAYLAND=1
in favour of Enable Wayland Driver in the WINE settings, as these do the same thing. Also, removedPROTON_USE_NTSYNC=1
as this is what the Enable NTSync setting does under the hood. - 19 February 2026 — Add "Window Resize After Screen Turns Off" known issue.
- 6 March 2026 — Upgrade ReShade to 6.7.3.