XIV 1.0 Linux Installer
One-command FFXIV 1.0 install for x86_64 Linux.
XIV 1.0 Linux Installer
A single-command installer that brings the original FINAL FANTASY XIV
1.0 — the 2010 release, not A Realm Reborn — up on x86_64 Linux,
across distributions. Given the retail install disc or its ISO,
install.sh handles every step through to a playable ffxivboot.exe.
Under the hood it downloads a self-contained
Kron4ek Wine build, provisions
a dedicated Wine prefix, and drives the stock ffxivsetup.exe through to
completion. Everything it produces lives inside ./target/ next to the
script — no distro Wine packages, no i386/multilib setup, no root, and
nothing written outside the repository.
The default Wine build is an amd64 WoW64 flavor: it runs the 32-bit
game using only 64-bit host libraries, which is what lets a single script
work the same on Debian/Ubuntu, Fedora, Arch, openSUSE, and friends
without each distro's particular 32-bit-Wine incantation. Prefer your own
system Wine? Pass --system-wine.
This repository ships the installer and its documentation. It does not redistribute the FFXIV 1.0 client; you must supply your own retail disc or ISO.
Created with Claude.
Features
- One idempotent script. Re-running skips any step whose output already exists, so failed runs resume without cleanup.
- Self-contained runtime. The Wine build installs under
target/runtime/. Removing the repository removes the install. - Distro-agnostic 32-bit support. The default WoW64 Wine build runs
the 32-bit client with no
i386/multilib packages and no root. - Automatic disc discovery. Scans
/run/media/$USER,/media/$USER,/media, and/mntforffxivsetup.exe— no path arguments to pass. You can still pass a mount dir or an.isofile explicitly. - Rootless ISO handling. Given an
.iso, it extracts with7z(or loop-mounts withudisksctl) — nosudo mountrequired. - Local ISO staging. Copies disc contents into
target/iso/disc1/before launching the installer, so the install survives ejecting or unmounting the original medium. - Post-install verification. Confirms
ffxivboot.exe,ffxivupdater.exe,ffxivconfig.exe, and the expecteddata//client/archive layout before declaring success.
Requirements
- x86_64 Linux with a graphical session (X11 or Wayland — the InstallShield GUI needs a display).
- FINAL FANTASY XIV 1.0 install disc, or its ISO, with
ffxivsetup.exeat the root. Either mount it (most desktops auto-mount under/run/media/$USER/…) or pass the.isopath to the script. curlorwget, plustarandxz, for the Wine download. For the.isoconvenience path, 7-Zip (7zz,7z, or7za) orudisksctl(udisks2) — the latter also works headless/over SSH.- Internet access on first run for the Wine build download (skipped with
--system-wine).
Installation
./install.sh
Common variations:
./install.sh --dry-run # show the detected plan, change nothing
./install.sh /run/media/me/FFXIV_1_0 # point at a specific mounted disc
./install.sh --iso ~/Downloads/ffxiv-1.0.iso # open an ISO file directly
./install.sh --system-wine # use the wine already on your PATH
The script runs unattended until the InstallShield GUI appears, at which
point it hands control to you for the manual click-through. Accept all
defaults; in particular, leave the install path at
C:\Program Files (x86)\SquareEnix\FINAL FANTASY XIV so verification can
find the expected file layout.
Tunables
Set these as environment variables to override the defaults:
| Variable | Default | Purpose |
|---|---|---|
WINE_SOURCE | download | download a self-contained build, or system to use $PATH wine (same as --system-wine). |
WINE_VERSION | 10.0 | Kron4ek Wine build version (see its releases). |
WINE_FLAVOR | staging-amd64-wow64 | Asset flavor. Use staging-amd64 (classic, needs 32-bit host libs) if a game hits WoW64 graphics glitches; staging-x86 on 32-bit hosts. |
WINE_URL | (computed) | Full override for the Wine tarball URL. |
WINEARCH | win64 (wow64) | win64 or win32 prefix architecture. |
TARGET | ./target | Install root. |
Launching the game
After install.sh reports "Install verified.":
cd target
source ./wine-env.sh
"$WINE" "$WINEPREFIX/drive_c/Program Files (x86)/SquareEnix/FINAL FANTASY XIV/ffxivboot.exe"
wine-env.sh exports WINEPREFIX, WINEARCH, WINE, WINESERVER, and
(for a downloaded build) prepends its bin/ to PATH. Source it from any
shell before invoking Wine directly.
Or hand the install off to
Garlemald Client,
which detects a 1.x install (including a manual Wine prefix like this
one), patches it to 2012.09.19.0001, and drives it against a private
server. The script prints the exact install directory to point it at.
Repository layout
After a successful install, the layout of target/ is:
target/
├── runtime/
│ └── wine/ self-contained Kron4ek Wine build (bin/, lib/, share/)
├── prefix/ WINEPREFIX — the Wine C: drive
├── iso/disc1/ local copy of the install disc contents
└── wine-env.sh source to activate the local Wine
Troubleshooting
| Symptom | Likely cause and resolution |
|---|---|
No mounted volume contains ffxivsetup.exe | The ISO isn't mounted, or the mounted disc isn't the 1.0 client. Mount the 1.0 .iso (or pass its path: ./install.sh --iso path.iso) and re-run. |
no 7-Zip (7zz/7z/7za) or udisksctl to open … | You passed an .iso on a box with neither extractor. Install one (p7zip/7zip or udisks2), or mount the ISO yourself and pass the mount dir. |
Wine failed to execute | A downloaded build is missing a host library (install your distro's base Wine dependencies), or, with --system-wine, wine isn't installed correctly. |
| Installer or game shows a black/blank 3D view | The default WoW64 build can glitch on some GPUs for this DirectX 9 title. Re-run with WINE_FLAVOR=staging-amd64 ./install.sh (classic build; needs your distro's 32-bit Wine libraries) after deleting target/prefix. |
Verification reports too few data/ or client/ subdirectories | The InstallShield GUI was cancelled, or a non-default install path was chosen. Delete target/prefix/drive_c/…/SquareEnix/ (or the whole target/prefix) and run install.sh again. |
Changed WINE_FLAVOR/WINEARCH and now Wine errors on the prefix | A prefix is locked to the arch it was created with. Delete target/prefix and re-run. |
Licensing and attribution
The installer script and the documentation in this repository are
distributed under the MIT License. See LICENSE.md for
the full terms and a per-component breakdown of the third-party software
fetched at runtime — the Kron4ek Wine build (Wine itself is
LGPL-2.1-or-later) and the FFXIV 1.0 client (© SQUARE ENIX CO., LTD., not
redistributed).
Sister projects
- XIV 1.0 Apple Silicon Installer — the macOS counterpart to this script.
- Garlemald Server — Rust port of Project Meteor's FFXIV 1.23b server emulator (lobby / world / map) that the install produced by this script can connect to.
- Garlemald Client — cross-platform Rust launcher that detects the install produced by this script and drives it against a private server.
Community
Development discussion, bug reports, and direct contact with the maintainer happen on the project Discord:
