Most games available through the Epic Games Store are built exclusively for Windows. On Linux, Legendary bridges this gap by delegating game execution to Wine — a compatibility layer that translates Windows system calls into native Linux ones. When Legendary detects a Windows game on a non-Windows host, it automatically builds a Wine-prefixed launch command before handing off to the game executable. You can configure which Wine binary and prefix to use both globally (as defaults for all games) and on a per-game basis throughDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/legendary-gl/legendary/llms.txt
Use this file to discover all available pages before exploring further.
~/.config/legendary/config.ini, or override them directly on the command line at launch time.
How Legendary Uses Wine
Legendary readswine_executable and wine_prefix from its config file and from CLI flags to construct the full launch command. If neither is set, it falls back to whatever wine binary is on your PATH. The no_wine = true config option (or --no-wine CLI flag) bypasses Wine entirely — useful when a wrapper like Proton already handles the translation layer.
Wine must be installed and either in your system
PATH or specified as an absolute path. Legendary does not bundle Wine.Global Wine Configuration
Set a default Wine binary and prefix that applies to every game unless overridden by a game-specific section:[default.env] are exported before any game is launched. This is the right place for global DXVK settings, WINE_LARGE_ADDRESS_AWARE, or any other Wine-related variable you want applied everywhere.
Per-Game Wine Configuration
Override Wine settings for a specific game by adding a section named after its app name. Per-game sections always take precedence over[default]:
Launching With Wine Flags
Pass Wine settings directly on the command line to override both defaults and per-game config for a single session:Saving Flags as Defaults
Add--set-defaults to persist CLI flags into the app’s config section, so you don’t have to retype them every time. The Wine binary and prefix will be written to ~/.config/legendary/config.ini under the game’s app name:
Resetting Saved Defaults
Remove a game’s entire config section (reverting it to global defaults) with:Disabling Wine
When using a wrapper that already includes Wine — such as a custom Proton script — you can tell Legendary not to prepend the Wine binary to the launch command:- CLI flag
- config.ini
Using Wrapper Commands
Wrappers are commands that prefix the game’s launch command — useful for tools likegamemode, custom shell scripts, or Proton. Legendary passes the full game command as arguments to the wrapper.
- CLI flag
- config.ini (global)
- config.ini (per-game)
Dry Run — Get the Launch Command
Use--dry-run to print the complete launch command that Legendary would use without actually starting the game. This is especially useful for configuring external launchers like Lutris or Steam:
Configuration Reference
| Config key | CLI equivalent | Description |
|---|---|---|
wine_executable | --wine <path> | Path to the Wine binary |
wine_prefix | --wine-prefix <path> | Path to the Wine prefix directory |
no_wine = true | --no-wine | Skip Wine when launching |
wrapper = <cmd> | --wrapper <cmd> | Prefix launch with a wrapper command |
WineHQ
Official Wine project — download Wine and read compatibility reports
DXVK
Vulkan-based DirectX 9/10/11 translation layer for improved compatibility