The following is for installing HorizonXI, a FFXI private server on Linux. Specifically, I am installing with the following Arch Linux System:
touma@setsuna:wine/x86_64-windows $ neofetch
-` touma@setsuna
.o+` -------------
`ooo/ OS: Arch Linux x86_64
`+oooo: Model: B450 AORUS PRO WIFI
`+oooooo: Kernel: 5.12.9-arch1-1
-+oooooo+: Uptime: 6 days, 19 hours, 29 mins
`/:-:++oooo+: Packages: 1672 (pacman)
`/++++/+++++++: Shell: zsh 5.8
`/++++++++++++++: Resolution: 2560x1440
`/+++ooooooooooooo/` DE: GNOME 40.2
./ooosssso++osssssso+` WM: Mutter
.oossssso-````/ossssss+` WM Theme: EvoPop-Azure
-osssssso. :ssssssso. Theme: Materia-light-compact [GTK2/3]
:osssssss/ osssso+++. Icons: Numix [GTK2/3]
/ossssssss/ +ssssooo/- Terminal: gnome-terminal
`/ossssso+/:- -:/+osssso+- CPU: AMD Ryzen 7 3800X (16) @ 3.900GHz
`+sso+:-` `.-/+oso: GPU: NVIDIA GeForce GTX 1080
`++:. `-/+/ Memory: 5913MiB / 32116MiB
.` `/
wine-staging
(non steam-deck; steam deck below)**tldr; install wine-staging
if you want something simple (such as yay wine-staging
) and you’re good to go.
You need a version of WINE that won’t crash when accepting the EULA, presumably like most XI installs. There are a couple options here.
wine-staging
(here). If you are on Arch Linux, you can do this using pacman -S wine-staging
(or any other helper you use). You can find wine-staging
in some other repos as well, such as the Ubuntu ones. You can find more on the WINE install page. There are other versions that include that patch in their definition – any of them will do.imm32.dll
from the web such as https://github.com/bluffnix/ffxi-wine/tree/master/linux and replace your system library with it. You can find some directions on the web to do this – I would recommend you don’t do this because every time you update the operating system and the wine
package it’s going to get replaced with a new binary. However, I wanted to write this here since it’s shown on the web a lot as a drag and drop solution from a lot of users.At the time of writing, this worked with:
touma@setsuna:tidus $ wine --version
wine-7.22 (Staging)
Note: A lot of places on the Internet tell you to use a specific prefix architecture for Final Fantasy XI; this does not work for many private servers – so please follow the directions very closely. If in doubt, follow step by step and start with a fresh prefix.
Prepare a new prefix for HorizonXI using the following command:
WINEPREFIX=~/.wine-horizonxi-64 winecfg
Check that “Windows 7” is selected as the version.
Moving along, let’s run the installer inside of WINE:
WINEPREFIX=~/.wine-horizonxi-64 wine "~/Downloads/HorizonXI-Launcher-1.0.1.Setup.exe"
From this point, you can click “Install HorizonXI” and things will begin working:
That’s it as far as we know right now.
Lutris is meant to be an all-in-one installer, however there are additional steps required at present to make it work. If you want a quick solution that will work use the process listed above. Otherwise follow the instructions below. Once new Lutris runners are shipped with Lutris i’ll update the script and this guide. Should be early next year for a new runner.
You need to have wine-staging installed.
ProtonUp-Qt and runner “lutris-GE-Proton7-42-x86_64” installed for lutris.
Install ProtonUp-Qt on your distribution and open it up.
Then hit “Add Version”
Hit install and once it’s complete you’re done with ProtonUp-Qt.
HorizonXI Lutris Script Downloads the script from sarca571ca/horizonxi-lutris repo. Be sure to extract the YAML files inside the archive.
Note: You might get an error about missing the prereqs.zip, this can be ignored as lutris installed all pre-reqs automatically for you. If you experience the “black void” while changing areas you can lower your textures some in the HorizonXI Launcher. You can also use the 4GB patch i’ve included.
Check the FAQ section or click here
If you want to install Windower follow the README.md provided in the archive you downloaded earlier. Unless otherwise requested by Vaughan I won’t clog this guide up with that install process.
Guide by: Ex1L3(Asri) in the HorizonXI discord, feel free to ask question etc.
There is an video that goes with this guide if you would prefer: https://www.youtube.com/watch?v=4pWbxU025Ak
If you are new to Proton or Linux, it may be valuable.
The following is for Steam Deck users:
Download Trent’s script and execute in konsole.
Follow the prompts instructions, and report any bugs in the Steam Deck Thread tagging @trent with a snippet including the konsole logs.
For those who click through without reading the basic idea is to install the base game with v1.0.1, then when that is fully completed rerun update-horizon.sh and it will update the installer for you to the latest.
~/Downloads
Note: At the time of writing, the installer from the website may not work due to some breaking changes. You may need to install from https://github.com/HorizonFFXI/HorizonXI-Launcher-Binaries/releases/tag/v1.0.1 first, and then upgrade later. The install process seems broken on Linux on the newer launcher
mkdir ~/horizon-xi
cp "/home/deck/Downloads/HorizonXI-Launcher-1.0.1.Setup.exe" ~/horizon-xi/installer.exe
cd ~/horizon-xi
7z x installer.exe
7z x HorizonXI_Launcher-1.0.1-full.nupkg
OK, that’s done.
Now:
It should look something like this:
Next:
~/horizon-xi/lib/net45/HorizonXI-Launcher.exe
for the executable (you may have to change “.desktop” at the bottom to all application types)Launch the game!
Begin installing. You should pick C:\Program Files when prompted for an install path. You should not pick anything else. You can move compatdata
to an SD card later if needed.
The launcher has some bugs. Continue down to FAQ down below to find any problems you might have. You may want to read them all before clicking install.
When install is complete you can run:
sudo find /home -name "HorizonXI.zip" -type f | sed 's/ /\\ /g' | xargs -i rm {}
… to clean up the ZIP to get some space back. You may want to save a copy if you want to install somewhere else in the future.
The gamepad needs configuring to work. In game mode:
In desktop mode:
/home/deck/.local/share/Steam/steamapps/compatdata/<prefix_id>/pfx/drive_c/users/<user>/AppData/Roaming/HorizonXI-Launcher/
(protontricks
can help find the ID)config.json
"padmode000": {
"name": "Gamepad Settings Controls",
"key": "padmode000",
"value": [
1,
1,
0,
0,
1,
1
]
}
and:
"padsin000": {
"name": "Button Mappings",
"key": "padsin000",
"value": [
8,
9,
13,
12,
10,
0,
1,
3,
2,
15,
-1,
-1,
14,
-33,
-33,
32,
32,
-36,
-36,
35,
35,
6,
7,
5,
4,
11,
-1
]
}
Gamepad should now work in game mode. Credit goes to Sabriel@ for the gamepad directions.
… and it’s wiping all my progress!
Mandatory warning from the HorizonXI staff:
Please note: We will not offer support for users that bypass the launcher with this setup, it’s a work around for users having memory issues due to having less than 16gb ram on PC.**
Still with me? OK, next.
There is a memory leak in the launcher as of launch day. The launcher does not save progress. The staff are working on fixing it but in the meantime, you can follow the below steps to get it working:
magnet:?xt=urn:btih:4eecae8431428820347314bc002492e210f29612&dn=HorizonXI.zip&tr=udp%3a%2f%2fopentracker.i2p.rocks%3a6969%2fannounce&tr=https%3a%2f%2ftracker.nanoha.org%3a443%2fannounce&tr=https%3a%2f%2ftracker.lilithraws.org%3a443%2fannounce&tr=udp%3a%2f%2ftracker.opentrackr.org%3a1337%2fannounce&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a6969%2fannounce&tr=https%3a%2f%2fopentracker.i2p.rocks%3a443%2fannounce&tr=udp%3a%2f%2ftracker1.bt.moack.co.kr%3a80%2fannounce&tr=udp%3a%2f%2ftracker.torrent.eu.org%3a451%2fannounce&tr=udp%3a%2f%2ftracker.tiny-vps.com%3a6969%2fannounce&tr=udp%3a%2f%2fpublic.tracker.vraphim.com%3a6969%2fannounce&tr=udp%3a%2f%2fp4p.arenabg.com%3a1337%2fannounce&tr=udp%3a%2f%2fopen.stealth.si%3a80%2fannounce&tr=udp%3a%2f%2fopen.demonii.com%3a1337%2fannounce&tr=udp%3a%2f%2fmovies.zsw.ca%3a6969%2fannounce&tr=udp%3a%2f%2fipv4.tracker.harry.lu%3a80%2fannounce&tr=udp%3a%2f%2fexplodie.org%3a6969%2fannounce&tr=udp%3a%2f%2fexodus.desync.com%3a6969%2fannounce&tr=udp%3a%2f%2f9.rarbg.com%3a2810%2fannounce&tr=udp%3a%2f%2ftracker.opentrackr.org%3a1337&tr=udp%3a%2f%2fexplodie.org%3a6969
Dolphin
(file manager) and navigate to /home/deck/.local/share/Steam/steamapps/compatdata/2237253119/pfx/drive_c/Program Files/HorizonXI/Downloads/
.compatdata
is probably different and the install path depends on what you picked.Dolphin
(file manager) and navigate to /home/deck/.local/share/Steam/steamapps/compatdata/2237253119/pfx/users/<user>/AppData/Roaming/HorizonXI-Launcher/config.json
config.json
and modify the file: "baseGame": {
"downloaded": false,
should be replaced with:
"baseGame": {
"downloaded": true,
If you open the launcher, it should now finish installing the game.
If you followed the guide, do the following:
Find the launcher version you want to update to from https://github.com/HorizonFFXI/HorizonXI-Launcher-Binaries/releases
Run the following commands in the terminal one-by-one in Desktop mode again. This is just like the initial install:
cp "/home/deck/Downloads/HorizonXI-Launcher-1.1.12.Setup.exe" ~/horizon-xi/installer.exe
cd ~/horizon-xi
7z x installer.exe
7z x HorizonXI_Launcher-1.1.12-full.nupkg
Make sure to replace the version number in the file paths to match the version of the launcher you just installed.
That’s it.
This is typically because something has happened to storage.json
. If you just want to fix this, do the following:
/home/deck/.local/share/Steam/steamapps/compatdata/<PREFIX_ID>/pfx/users/<user>/AppData/Roaming/HorizonXI-Launcher/storage.json
on the deck via Dolphin or some other file manager. Just like all other Proton installed software, the prefix ID will be random. You can use protontricks
to find it or just sort by “recently modified” or something else to try and find the folder. "installPath": {
"name": "installPath",
"description": "Location of HorizonXI Game install.",
"path": "C:\\Program Files\\HorizonXI\\Game"
},
"downloadPath": {
"name": "downloadPath",
"description": "Location of HorizonXI zip download.",
"path": "C:\\Program Files\\HorizonXI\\Downloads"
}
},
If you have followed the guide, you should have a copy of the game at C:\\Program Files\\HorizonXI
. Some folks may have also installed it to C:\\
. If you are not sure where it is, go back to the drive_c
inside of the pfx
folder (up a few directories from this config file) and find the location. The path will be whatever it is under drive_c
, so for example if drive_c/HorizonXI
exists, then your path is probably C:\\Program Files
. The double slash is intentional, it’s called escaping.
Modify the paths to point to the copy of the HXI game you have located. If you can’t find it, then that means your install is either lost or you cannot locate it. You will need to reinstall.
In addition, there is a section of the config file that looks like this:
"currentVersion": 3,
"latestVersion": 3,
"baseGame": {
"downloaded": true,
"extracted": true
},
"updater": {
"downloaded": 3,
"extracted": 3
},
You can modify the values to match this. If you don’t know if your old install is fully patched or not, I would recommend replacing currentVersion
with 2
or 1
to redownload any DATs needed.
Sorry about that. It looks like a bug. Windows users are reporting the same.
You have two choices:
A patch is supposed to come soon for gamepad players.
The launcher has a fixed size. You can open the Steam keyboard and use tab to move around controls you can’t see, dock your Steam Deck to a montior / TV for more space, or use KDE window management features to move it around (google: “kde move window with mouse”).
DXVK can cause this on some older cards. Disable it.
You’re probably trying to run the installer as-is from the website. Don’t do that; follow the directions above closely and make sure the item you added in Steam is the extracted HorizonLauncher
and not the setup.
Allows the game to use 4gb of RAM instead of the default 2gb. The disclamer in the discord says VRAM but Thorny(the Aurthor of the patch) says it increases RAM allowance of the executable.
Launch HorizonXI in Lutris seclect 4GB Patch option and hit ok.
If using the base wine install then:
> Download the Patch here and extract the archive.
> Run the patcher inside your prefix
WINEPREFIX=~/.wine-horizonxi-64 wine "~/Downloads/LargeAddressAwarePatcher/LargeAddressAwarePatcher.exe"
You can find some at assets.
These are offical art assets cut for the Deck. Thanks to trent@ and Aku@.