# Steam Deck guide — fresh Deck + retail FFXI → DriftwoodXI

For people who have a **Steam Deck**, a **retail Final Fantasy XI / PlayOnline account**, and want to play **DriftwoodXI**. No prior Wine/Lutris experience assumed.

Verified stack: **SteamOS Desktop**, **GE-Proton 11-5**, **Ashita 4.3**, **xiloader**, this package.

---

## What you’re building

```
Steam (Game Mode)
  └─ Non-Steam “DriftwoodXI”
       └─ play-steam.sh  (saved login)
            └─ GE-Proton 11-5 + Ashita + xiloader
                 └─ retail FFXI client (POL-updated)
                      └─ xi.driftwoodgaming.com
```

This package handles Deck launch, login GUI, 1280×720, Xbox pad map, and Steam art.  
**You** still need a POL-updated FFXI client and the Driftwood Ashita bundle.

---

## Before you start

| Need | Notes |
|------|--------|
| Steam Deck | Desktop Mode access (hold power → Switch to Desktop, or Steam → Power) |
| Free disk | **~25–40 GB** free (client ~15–20 GB + Proton + Ashita) |
| Square Enix / PlayOnline account | Real retail account — used **once** to update/repair the client |
| DriftwoodXI account | Create at [xi.driftwoodgaming.com](https://xi.driftwoodgaming.com) |
| Time | First-time POL Check Files can take a long while on Deck Wi‑Fi |
| Keyboard/mouse | Helpful for Desktop setup; trackpads work |

Optional but useful: a USB keyboard, and Ethernet/dock if POL downloads crawl.

---

## Step 0 — Desktop Mode & Konsole

1. Switch to **Desktop Mode**.
2. Open **Konsole** (Application Launcher → System → Konsole).
3. Keep this guide open in a browser on the Deck or another device.

Set a sudo password if SteamOS asks (Settings → Users) — you’ll need it for some installs.

---

## Step 1 — Install GE-Proton 11-5

The launch scripts expect:

`~/.local/share/Steam/compatibilitytools.d/GE-Proton11-5/`

**Easiest:** install [ProtonUp-Qt](https://davidotek.github.io/protonup-qt/) (Discover store), open it, install **GE-Proton11-5**, restart Steam once.

**Manual:** download the GE-Proton11-5 release tarball from the GloriousEggroll GitHub releases, extract into `~/.local/share/Steam/compatibilitytools.d/`, restart Steam.

Check:

```bash
ls ~/.local/share/Steam/compatibilitytools.d/GE-Proton11-5/files/bin/wine
```

---

## Step 2 — Get a POL-updated FFXI client (critical)

The stock Square installer is **not enough**. Without PlayOnline **Check Files / File Repair**, the client often exits right after login (wrong `patch.ver` / incomplete ROMs).

You need the game installed under a Wine prefix at:

`~/ffxi/pfx`

with paths like:

`~/ffxi/pfx/drive_c/Program Files (x86)/PlayOnline/SquareEnix/FINAL FANTASY XI/`

### Option A — Full Linux installer (fastest if you don’t have a prefix yet)

On Desktop, download and run the installer hosted with this project:

- [https://flightlessbirdlabs.io/](https://flightlessbirdlabs.io/) → **driftwoodxi-installer.zip**

Follow its README (Wine/Proton, client download, Ashita, registry). When it finishes, you should already have a usable prefix + Ashita. Then jump to **Step 4** (this Deck package) to add Game Mode login/Steam art/pad defaults.

### Option B — Lutris “FINAL FANTASY XI Online”

1. Install **Lutris** from Discover.
2. Install **FINAL FANTASY XI Online** (community script / Windower-style install).
3. After install, run **PlayOnline** from Lutris Wine tools.
4. Log in with your **retail** SE account → **Check Files** → **FINAL FANTASY XI** → **File Repair** if prompted → let it finish.
5. Copy or symlink that prefix to `~/ffxi/pfx`, **or** set `DRIFTWOOD_PREFIX` later to Lutris’s prefix path.

### Option C — You already have FFXI on another PC

1. Copy a **fully updated** install into the Deck prefix (`PlayOnline` + `FINAL FANTASY XI` trees).
2. Or install via Option A/B, then replace/merge with your updated files.
3. Still run POL Check Files once on the Deck if anything feels off.

### Confirm POL update worked

You should see recent `FFXiMain.dll` / `patch.ver` under the FFXI folder, and PlayOnline should list FINAL FANTASY XI under Check Files **after** login.

---

## Step 3 — Install Driftwood Ashita (if the full installer didn’t)

You need Ashita at:

`~/ffxi/Ashita/Ashita-cli.exe`

plus `bootloader/xiloader.exe` and Driftwood’s `scripts/driftwood-default.txt` / addons.

Sources:

- Driftwood’s published Ashita bundle (from DriftwoodXI Discord / content feed / launcher docs), or  
- The flightlessbirdlabs full installer (Option A), which places Ashita for you.

Layout check:

```bash
ls ~/ffxi/Ashita/Ashita-cli.exe \
   ~/ffxi/Ashita/bootloader/xiloader.exe \
   ~/ffxi/Ashita/scripts/driftwood-default.txt
```

---

## Step 4 — Install this Steam Deck package

```bash
cd ~
git clone https://github.com/JRustyHaner/driftwoodxi-steamdeck.git
cd driftwoodxi-steamdeck
chmod +x install.sh scripts/*.sh steam/*.sh steam/*.py
./install.sh --steam
```

That installs launchers into `~/ffxi/bin`, a Desktop icon, Steam Non-Steam shortcut, FFXI artwork, and a **Gamepad** controller template.

No GitHub? Use the ZIP mirror:

```bash
cd ~
curl -fsSL -o dw-steamdeck.zip https://flightlessbirdlabs.io/driftwoodxi-steamdeck.zip
unzip dw-steamdeck.zip
cd steamdeck
./install.sh --steam
```

---

## Step 5 — First login (Desktop Mode — do this once)

Game Mode cannot reliably show the login dialog. Save credentials on Desktop first:

1. From Desktop, launch **DriftwoodXI** (icon) or run `~/ffxi/play.sh`.
2. Enter your **Driftwood** username and password (not your Square Enix password).
3. Choose **Remember**.
4. Confirm the “Start as …” prompt (catch typos).
5. Wait for login → character select / EULA. Accept if prompted.

If login fails with “Invalid username or password,” clear and retry:

```bash
rm -f ~/.config/driftwoodxi/username ~/.config/driftwoodxi/password
secret-tool clear service driftwoodxi account login
```

---

## Step 6 — Play from Game Mode

1. **Return to Game Mode**.
2. Fully restart Steam if the new shortcut isn’t visible (Power → Exit Steam, reopen).
3. Find **DriftwoodXI** under Non-Steam / Library.
4. Launch it.

### Steam properties (required)

Open the game’s gear → Properties:

| Setting | Value |
|---------|--------|
| Compatibility | **Do not** force a Proton version — the script already uses GE-Proton11-5 |
| Controller | **Gamepad** (not keyboard/mouse) |

---

## Controls (Xbox 360 / Setup E)

This package applies FFXI **Alternate Setup E + XInput** (console-style):

- **A** Confirm · **B** Cancel · **X** Menu · **Y** Window  
- Left stick move · Right stick camera · Triggers macros · etc.

If the pad does nothing:

1. Confirm Controller = **Gamepad** for this shortcut.  
2. Fully restart Steam after `./install.sh --steam`.  
3. On Desktop, run `~/ffxi/padconfig.sh` → Enable Gamepad + XInput → **Alternate Setup E** → save → relaunch.

---

## Resolution

Defaults are **1280×720** for window, background, and **menu** (all three must match).

Do **not** set **1280×800** (Deck native). FFXI doesn’t support it and often shows a **grey screen**.

Fallback if needed:

```bash
export DRIFTWOOD_WIDTH=1024 DRIFTWOOD_HEIGHT=768
~/ffxi/play.sh
```

---

## Everyday tips

- Prefer **one** launch path at a time (don’t start Desktop + Steam copies together — they fight over Wine).
- Keep the Deck plugged in for long POL updates.
- Logs: `/tmp/driftwood-console.log` and `~/ffxi/Ashita/logs/`.
- Addons load from `driftwood-default.txt` after you’re in; a few old DLLs (Multisend/Nameplate/Shorthand) may fail harmlessly on Ashita 4.3.

---

## Troubleshooting

| Symptom | Likely fix |
|---------|------------|
| Game opens then closes / never reaches title | Client not POL-updated — Check Files / File Repair |
| Grey screen after login | Use 1280×720 (not 800); restart; check menu res 0037/0038 |
| Stuck on xiloader text menu | Bad password/typo; clear saved login; relaunch from Desktop |
| No controls | Gamepad template; `padconfig.sh` Setup E; don’t force Proton |
| “Play as …” never appears in Game Mode | Save credentials once in Desktop Mode |
| Steam forces wrong Proton | Compatibility → disable forced tool |
| Host / steamdeck resolve weirdness | Usually harmless if you already connected; focus on graphics/login |

---

## Checklist

- [ ] GE-Proton11-5 installed  
- [ ] `~/ffxi/pfx` has POL-updated FFXI  
- [ ] `~/ffxi/Ashita` has Ashita-cli + xiloader + driftwood-default.txt  
- [ ] `./install.sh --steam` completed  
- [ ] Desktop login + **Remember** succeeded once  
- [ ] Game Mode shortcut uses Gamepad, no forced Proton  
- [ ] In-game at 1280×720 with working pad  

---

## Links

- Package / source: [github.com/JRustyHaner/driftwoodxi-steamdeck](https://github.com/JRustyHaner/driftwoodxi-steamdeck)  
- Downloads & mirror: [flightlessbirdlabs.io](https://flightlessbirdlabs.io/)  
- DriftwoodXI: [xi.driftwoodgaming.com](https://xi.driftwoodgaming.com)  
- Package README (reference): [README.md](./README.md)
