# 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 ```