Files
nix-everquest/docs/eqlegends.md
T
2026-06-27 15:13:35 -07:00

112 lines
3.0 KiB
Markdown

# EverQuest Legends on NixOS via Wine
EverQuest Legends is distributed as a standalone Daybreak/LaunchPad installer, not through Steam. The flake provides an `eqlegends` app that creates a mutable Wine prefix and installs the launcher from a pinned Daybreak installer URL.
The installer is a Nullsoft/NSIS installer containing `LaunchPad.exe`, CEF libraries, and `LaunchPad.ini` with `appName=EverQuest Legends` and `id=eqns`. The game data itself is expected to be downloaded later by LaunchPad.
## Quick start
Run:
```bash
nix run .#eqlegends
```
The flake fetches the installer from:
```text
https://launch.daybreakgames.com/installer/EQLegends_setup.exe
```
To test a different installer, point the wrapper at it explicitly:
```bash
EQL_INSTALLER=/path/to/EQLegends_setup.exe nix run .#eqlegends
```
The Wine prefix lives at:
```text
~/.local/share/eqlegends/wine
```
The wrapper installs LaunchPad to:
```text
C:\Games\EverQuestLegends
```
inside that Wine prefix.
## Useful environment variables
| Variable | Use |
|----------|-----|
| `EQL_INSTALLER=/path/to/EQLegends_setup.exe` | Use an installer outside the current working directory. |
| `EQL_WINEPREFIX=/path/to/prefix` | Override the default Wine prefix location. |
| `EQL_RESET_PREFIX=1` | Delete and recreate the prefix before launching. |
| `EQL_DXVK=1` | Install DXVK DLLs into the prefix before launching. |
| `EQL_FILTER_EGL_WARNINGS=0` | Show repeated CEF/SwiftShader EGL probe warnings. Defaults to filtered. |
| `EQL_WINEDEBUG=+seh,+tid` | Override Wine debug logging. Defaults to `-all`. |
There is also a reset helper:
```bash
nix run .#eqlegends-reset-prefix
```
If the flake app is installed into a profile, the helper is available as:
```bash
eqlegends-reset-prefix
```
## DXVK
The wrapper defaults to WineD3D. Run with DXVK only if the game client needs it or performs better with Vulkan translation:
```bash
EQL_DXVK=1 nix run .#eqlegends
```
DXVK is copied into the prefix, so switching back to WineD3D requires a prefix reset:
```bash
EQL_RESET_PREFIX=1 nix run .#eqlegends
```
## Troubleshooting
If the pinned installer hash fails, Daybreak probably replaced the installer. Update the `fetchurl` hash in `packages/eqlegends/package.nix`, or temporarily set `EQL_INSTALLER`.
The launcher may emit repeated `libEGL warning` lines while CEF probes graphics paths under Wine. The wrapper filters those by default. To see the raw output:
```bash
EQL_FILTER_EGL_WARNINGS=0 nix run .#eqlegends
```
If LaunchPad installs somewhere unexpected, inspect:
```bash
find ~/.local/share/eqlegends/wine/drive_c -iname LaunchPad.exe
```
The wrapper records the executable it launches in:
```text
~/.local/share/eqlegends/wine/.eqlegends-launcher-path
```
If the launcher opens but renders as a blank CEF window, try a clean prefix first, then try DXVK:
```bash
EQL_RESET_PREFIX=1 nix run .#eqlegends
EQL_DXVK=1 nix run .#eqlegends
```
For verbose Wine logs:
```bash
EQL_WINEDEBUG=+seh,+tid,+loaddll nix run .#eqlegends
```