124 lines
3.6 KiB
Markdown
124 lines
3.6 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
|
|
```
|
|
|
|
If the package is installed into a NixOS or Home Manager profile, it also provides a desktop entry named **EverQuest Legends** for KDE Plasma and other freedesktop launchers.
|
|
|
|
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_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
|
|
```
|
|
|
|
## Desktop Entry
|
|
|
|
The package installs:
|
|
|
|
```text
|
|
share/applications/eqlegends.desktop
|
|
share/icons/hicolor/256x256/apps/eqlegends.png
|
|
```
|
|
|
|
After your NixOS/Home Manager activation includes the package, KDE Plasma should show **EverQuest Legends** in the application launcher under games. If Plasma does not notice it immediately, log out and back in, or refresh the application database:
|
|
|
|
```bash
|
|
kbuildsycoca6
|
|
```
|
|
|
|
## 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 Chromium/CEF diagnostics such as `libEGL warning`, `WSALookupServiceBegin failed`, `Passthrough is not supported, GL is swiftshader`, and `LaunchPad.playButtonState: ready`. These are expected while LaunchPad probes graphics, networking, and its embedded browser under Wine. They are useful when debugging, so the wrapper leaves stderr unfiltered.
|
|
|
|
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
|
|
```
|