Some games ship bundled launchers or update helpers that don’t work correctly when invoked through Legendary. Others require specific command-line arguments, a particular language locale, or a wrapper likeDocumentation 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.
gamemode to run properly. Legendary provides a flexible set of per-game configuration keys and CLI overrides to handle these situations without modifying game files. All per-game settings live in ~/.config/legendary/config.ini (Linux/macOS) or %APPDATA%\legendary\config.ini (Windows) under an [AppName] section, where AppName is the game’s app name as shown by legendary list.
Overriding the Game Executable
Some games install a launcher executable as their default entry point — for example, Borderlands launches a separateLauncherPatcher.exe before the actual game binary. Legendary allows you to bypass this and point directly to the real game executable using a path relative to the game’s install directory.
Legendary includes built-in executable overrides for certain known titles (such as Civilization VI on Linux/macOS) that are applied automatically. These are fetched from the Legendary API and do not require manual configuration.
Setting Start Parameters
To pass additional command-line arguments to a game every time it launches, usestart_params. These are appended to the arguments that Legendary already constructs (Epic authentication tokens, locale flags, etc.):
Pre-Launch Commands
Legendary can run an arbitrary command before launching a game. This is useful for setup scripts, mounting drives, or starting companion services. The command is specified as a shell string and split withshlex, so quoting works as expected.
pre_launch_wait = true, Legendary blocks until the pre-launch process exits before starting the game. When false (the default), the command is started and the game launches immediately without waiting.
You can also set a default pre-launch command for all games in the [default] section:
[AppName] take precedence over [default].
Language Override
Legendary passes a locale flag to games via the Epic command-line parameters. To override the language for a specific game:Launching Offline by Default
Games that don’t require online authentication can be configured to always launch in offline mode, skipping the Epic token exchange:Skip Version Check
To suppress the update check when launching a game (useful if you intentionally stay on an older version):Using a Wrapper
Wrappers such asgamemode, mangohud, or custom scripts can be applied globally or per-game:
Wrap the wrapper path in quotes inside the
config.ini value if it contains spaces.Wine and No-Wine Options
On Linux and macOS, Legendary uses Wine to run Windows game binaries. You can configure the Wine executable and prefix globally or per-game:Per-Game Environment Variables
You can set environment variables for a specific game by adding an[AppName.env] section. These are merged into the game’s launch environment and override any variables set in [default.env]:
Override Username
To present a custom display name to the game instead of your Epic account username:Download Order Optimization
For certain known titles, Legendary automatically reorders file downloads to reduce RAM usage during patching. This optimization is enabled by default for the following games:| Game | App Name |
|---|---|
| World War Z | wombat |
| Metro Exodus | snapdragon |
| Diabotical | honeycreeper |
| Pillars of Eternity (v1.0.2) | bcc75c246fe04e45b0c1f1c3fd52503a |