{"id":13512250,"url":"https://github.com/derrod/legendary","last_synced_at":"2025-05-13T23:05:49.150Z","repository":{"id":37361573,"uuid":"249938026","full_name":"derrod/legendary","owner":"derrod","description":"Legendary - A free and open-source replacement for the Epic Games Launcher","archived":false,"fork":false,"pushed_at":"2024-08-24T10:21:53.000Z","size":659,"stargazers_count":4837,"open_issues_count":92,"forks_count":174,"subscribers_count":47,"default_branch":"master","last_synced_at":"2025-05-09T05:01:59.202Z","etag":null,"topics":["epic-games","epic-games-client","epic-games-launcher","epicgames-launcher","linux-gaming"],"latest_commit_sha":null,"homepage":"https://legendary.gl/discord","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/derrod.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"derrod"}},"created_at":"2020-03-25T09:35:19.000Z","updated_at":"2025-05-08T17:35:38.000Z","dependencies_parsed_at":"2023-02-08T19:01:21.526Z","dependency_job_id":"09a37f42-99bf-46f0-b8ea-49d13bf34c72","html_url":"https://github.com/derrod/legendary","commit_stats":{"total_commits":795,"total_committers":12,"mean_commits":66.25,"dds":"0.028930817610062887","last_synced_commit":"362287543b81701ea70078fd2679853b74145273"},"previous_names":[],"tags_count":54,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/derrod%2Flegendary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/derrod%2Flegendary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/derrod%2Flegendary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/derrod%2Flegendary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/derrod","download_url":"https://codeload.github.com/derrod/legendary/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254040711,"owners_count":22004598,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["epic-games","epic-games-client","epic-games-launcher","epicgames-launcher","linux-gaming"],"created_at":"2024-08-01T03:01:38.451Z","updated_at":"2025-05-13T23:05:44.140Z","avatar_url":"https://github.com/derrod.png","language":"Python","readme":"# Legendary\n## A free and open-source Epic Games Launcher alternative\n![Logo](https://repository-images.githubusercontent.com/249938026/80b18f80-96c7-11ea-9183-0a8c96e7cada)\n\n[![Discord](https://discordapp.com/api/guilds/695233346627698689/widget.png?style=shield)](https://legendary.gl/discord) [![Twitter Follow](https://img.shields.io/twitter/follow/legendary_gl?label=Follow%20us%20for%20updates%21\u0026style=social)](https://twitter.com/legendary_gl)\n\nLegendary is an open-source game launcher that can download and install games from the Epic Games platform on Linux, macOS, and Windows.\nIts name as a tongue-in-cheek play on tiers of [item rarity in many MMORPGs](https://wow.gamepedia.com/Quality).\n\nPlease read the the [config file](#config-file) and [cli usage](#usage) sections before creating an issue to avoid invalid reports.\n\nIf you run into any issues [ask for help on our Discord](https://legendary.gl/discord) or [create an issue on GitHub](https://github.com/derrod/legendary/issues/new/choose) so we can fix it!\n\nFinally, if you wish to support the project, please consider [buying me a coffee on Ko-Fi](https://ko-fi.com/derrod).\nAlternatively, if you've been considering picking up a copy of CrossOver you can use my [affiliate link](https://www.codeweavers.com/?ad=892) and discount code `LEGENDARY15` in their store.\n\n**Note:** Legendary is currently a CLI (command-line interface) application without a graphical user interface,\nit has to be run from a terminal (e.g. PowerShell)\n\n**Features:**\n - Authenticating with Epic's service\n - Downloading and installing your games and their DLC\n - Delta patching/updating of installed games\n - Launching games with online authentication (for multiplayer/DRM)\n - Syncing cloud saves (compatible with EGL)\n - Running games with WINE on Linux/macOS\n - Importing/Exporting installed games from/to the Epic Games Launcher (unsupported for macOS version of EGL)\n\n**Planned:**\n - Simple GUI for managing/launching games\n - Lots and lots of bug fixes, optimizations, and refactoring...\n\n## Requirements\n\n- Linux, Windows (8.1+), or macOS (12.0+)\n  + 32-bit operating systems are not supported\n- python 3.9+ (64-bit)\n  + (Windows) `pythonnet` is not yet compatible with 3.10+, use 3.9 if you plan to install `pywebview` \n- PyPI packages:\n  + `requests`\n  + (optional) `pywebview` for webview-based login\n  + (optional) `setuptools` and `wheel` for setup/building\n\n**Note:** Running Windows applications on Linux or macOS requires [Wine](https://www.winehq.org/).\n\n## How to run/install\n\n### Package Manager (Linux)\n\nSeveral distros already have packages available, check out the [Available Linux Packages](https://github.com/derrod/legendary/wiki/Available-Linux-Packages) wiki page for details.\n\nCurrently this includes\n[Arch](https://github.com/derrod/legendary/wiki/Available-Linux-Packages#arch-aur),\n[Fedora](https://github.com/derrod/legendary/wiki/Available-Linux-Packages#fedora),\n[openSUSE](https://github.com/derrod/legendary/wiki/Available-Linux-Packages#opensuse), and\n[Gentoo](https://github.com/derrod/legendary/wiki/Available-Linux-Packages#gentoo)\nbut more will be available in the future.\n\nNote that since packages are maintained by third parties it may take a bit for them to be updated to the latest version.\nIf you always want to have the latest features and fixes available then using the PyPI distribution is recommended.\n\n### Prebuilt Standalone Binary (Windows, macOS, and Linux)\n\nDownload the `legendary` or `legendary.exe` binary from [the latest release](https://github.com/derrod/legendary/releases/latest)\nand move it to somewhere in your `$PATH`/`%PATH%`. Don't forget to `chmod +x` it on Linux/macOS.\n\nThe Windows .exe and Linux/macOS executable were created with PyInstaller and will run standalone even without python being installed.\nNote that on Linux glibc \u003e= 2.25 is required, so older distributions such as Ubuntu 16.04 or Debian stretch will not work.\n\n### Python Package (any)\n\n#### Prerequisites\n\nTo prevent problems with permissions during installation, please upgrade your `pip` by running `python -m pip install -U pip --user`. \n\n\u003e **Tip:** You may need to replace `python` in the above command with `python3` on Linux/macOS, or `py -3` on Windows.\n\n#### Installation from PyPI (recommended)\n\nLegendary is available on [PyPI](https://pypi.org/project/legendary-gl/), to install simply run:\n\n```bash\npip install legendary-gl\n```\n\nOptionally if logging in via an embedded web view is desired also run\n```bash\npip install legendary-gl[webview]\n```\nOn Linux this may also require installing a supported web engine and its python bindings.  \nUbunutu example:\n```bash\nsudo apt install python3-gi-cairo\npip install legendary-gl[webview]\n```\n\nAlternatively `pip install legendary-gl[webview_gtk]` or `pip install pywebview[gtk]` will work\nbut may require manually installing dependencies needed to build `PyGObject`.\n\n**Note:** Using pywebview's Qt engine may not work correctly. Using pywebview is currently unsupported on macOS.\n\n#### Manually from the repo\n\n- Install python3.9, setuptools, wheel, and requests\n- Clone the git repository and cd into it\n- Run `pip install .`\n\n#### Ubuntu 20.04 example\n\nUbuntu 20.04's standard repositories include everything needed to install legendary:\n````bash\nsudo apt install python3 python3-requests python3-setuptools-git\ngit clone https://github.com/derrod/legendary.git\ncd legendary\npip install .\n````\n\nIf the `legendary` executable is not available after installation, you may need to configure your `PATH` correctly. You can do this by running the command: \n\n```bash\necho 'export PATH=$PATH:~/.local/bin' \u003e\u003e ~/.profile \u0026\u0026 source ~/.profile\n```\n\n### Directly from the repo (for dev/testing)\n\n- Install python3.9 and requests (optionally in a venv)\n- cd into the repository\n- Run `pip install -e .`\n\nThis installs `legendary` in \"editable\" mode - any changes to the source code will take effect next time the `legendary` executable runs.\n\n## Quickstart\n\n**Tip:** When using PowerShell with the standalone executable, you may need to replace `legendary` with `.\\legendary` in the commands below.\n\nTo log in:\n````\nlegendary auth\n````\nWhen using the prebuilt Windows executables of version 0.20.14 or higher this should open a new window with the Epic Login.\n\nOtherwise, authentication is a little finicky since we have to go through the Epic website and manually copy a code.\nThe login page should open in your browser and after logging in you should be presented with a JSON response that contains a code (\"authorizationCode\"), just copy the code into the terminal and hit enter.\n\nAlternatively you can use the `--import` flag to import the authentication from the Epic Games Launcher (manually specifying the used WINE prefix may be required on Linux).\nNote that this will log you out of the Epic Launcher.\n\nListing your games\n````\nlegendary list\n````\nThis will fetch a list of games available on your account, the first time may take a while depending on how many games you have.\n\nInstalling a game\n````\nlegendary install Anemone\n````\n**Note:** the name used here is generally the game's \"app name\" as seen in the games list rather than its title, but as of 0.20.12 legendary will try to match game names or abbreviations thereof as well. In this case `legendary install world of goo` or `legendary install wog` would also work!\n\nList installed games and check for updates\n````\nlegendary list-installed --check-updates\n````\n\nLaunch (run) a game with online authentication\n````\nlegendary launch \"world of goo\"\n````\n**Tip:** most games will run fine offline (`--offline`), and thus won't require launching through legendary for online authentication.\nYou can run `legendary launch \u003cApp Name\u003e --offline --dry-run` to get a command line that will launch the game with all parameters that would be used by the Epic Launcher.\nThese can then be entered into any other game launcher (e.g. Lutris/Steam) if the game requires them.\n\nImporting a previously installed game\n````\nlegendary import Anemone /mnt/games/Epic/WorldOfGoo\n````\n**Note:** Importing will require a full verification so Legendary can correctly update the game later.  \n**Note 2:** In order to use an alias here you may have to put it into quotes if if contains more than one word, e.g. `legendary import-game \"world of goo\" /mnt/games/Epic/WorldOfGoo`.\n\nSync savegames with the Epic Cloud\n````\nlegendary sync-saves\n````\n**Note:** When this command is run the first time after a supported game has been installed it will ask you to confirm or provide the path to where the savegame is located.\n\nAutomatically sync all games with the Epic Games Launcher\n````\nlegendary -y egl-sync\n````\n\n## Usage\n\n````\nusage: legendary [-h] [-H] [-v] [-y] [-V] [-J] [-A \u003cseconds\u003e] \u003ccommand\u003e ...\n\nLegendary v0.X.X - \"Codename\"\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -H, --full-help       Show full help (including individual command help)\n  -v, --debug           Set loglevel to debug\n  -y, --yes             Default to yes for all prompts\n  -V, --version         Print version and exit\n  -J, --pretty-json     Pretty-print JSON\n  -A \u003cseconds\u003e, --api-timeout \u003cseconds\u003e\n                        API HTTP request timeout (default: 10 seconds)\n\nCommands:\n  \u003ccommand\u003e\n    activate            Activate games on third party launchers\n    alias               Manage aliases\n    auth                Authenticate with the Epic Games Store\n    clean-saves         Clean cloud saves\n    cleanup             Remove old temporary, metadata, and manifest files\n    crossover           Setup CrossOver for launching games (macOS only)\n    download-saves      Download all cloud saves\n    egl-sync            Setup or run Epic Games Launcher sync\n    eos-overlay         Manage EOS Overlay install\n    import              Import an already installed game\n    info                Prints info about specified app name or manifest\n    install (download, update, repair)\n                        Install/download/update/repair a game\n    launch              Launch a game\n    list                List available (installable) games\n    list-files          List files in manifest\n    list-installed      List installed games\n    list-saves          List available cloud saves\n    move                Move specified app name to a new location\n    status              Show legendary status information\n    sync-saves          Sync cloud saves\n    uninstall           Uninstall (delete) a game\n    verify              Verify a game's local files\n\nIndividual command help:\n\nCommand: activate\nusage: legendary activate [-h] (-U | -O)\n\noptional arguments:\n  -h, --help    show this help message and exit\n  -U, --uplay   Activate Uplay/Ubisoft Connect titles on your Ubisoft account\n                (Uplay install not required)\n  -O, --origin  Activate Origin/EA App managed titles on your EA account\n                (requires Origin to be installed)\n\n\nCommand: alias\nusage: legendary alias [-h]\n                       \u003cadd|rename|remove|list\u003e [\u003cApp name/Old alias\u003e]\n                       [\u003cNew alias\u003e]\n\npositional arguments:\n  \u003cadd|rename|remove|list\u003e\n                        Action: Add, rename, remove, or list alias(es)\n  \u003cApp name/Old alias\u003e  App name when using \"add\" or \"list\" action, existing\n                        alias when using \"rename\" or \"remove\" action\n  \u003cNew alias\u003e           New alias when using \"add\" action\n\noptional arguments:\n  -h, --help            show this help message and exit\n\n\nCommand: auth\nusage: legendary auth [-h] [--import] [--code \u003cexchange code\u003e]\n                      [--sid \u003csession id\u003e] [--delete] [--disable-webview]\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --import              Import Epic Games Launcher authentication data (logs\n                        out of EGL)\n  --code \u003cauthorization code\u003e\n                        Use specified authorization code instead of interactive authentication\n  --token \u003cexchange token\u003e\n                        Use specified exchange token instead of interactive authentication\n  --sid \u003csession id\u003e    Use specified session id instead of interactive\n                        authentication\n  --delete              Remove existing authentication (log out)\n  --disable-webview     Do not use embedded browser for login\n\n\nCommand: clean-saves\nusage: legendary clean-saves [-h] [--delete-incomplete] [\u003cApp Name\u003e]\n\npositional arguments:\n  \u003cApp Name\u003e           Name of the app (optional)\n\noptional arguments:\n  -h, --help           show this help message and exit\n  --delete-incomplete  Delete incomplete save files\n\n\nCommand: cleanup\nusage: legendary cleanup [-h] [--keep-manifests]\n\noptional arguments:\n  -h, --help        show this help message and exit\n  --keep-manifests  Do not delete old manifests\n\n\nCommand: crossover\nusage: legendary crossover [-h] [--reset] [--download] [--ignore-version]\n                           [--crossover-app \u003cpath to .app\u003e]\n                           [--crossover-bottle \u003cbottle name\u003e]\n                           [\u003cApp Name\u003e]\n\npositional arguments:\n  \u003cApp Name\u003e            App name to configure, will configure defaults if\n                        ommited\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --reset               Reset default/app-specific crossover configuration\n  --download            Automatically download and set up a preconfigured\n                        bottle (experimental)\n  --ignore-version      Disable version check for available bottles when using\n                        --download\n  --crossover-app \u003cpath to .app\u003e\n                        Specify app to skip interactive selection\n  --crossover-bottle \u003cbottle name\u003e\n                        Specify bottle to skip interactive selection\n\n\nCommand: download-saves\nusage: legendary download-saves [-h] [\u003cApp Name\u003e]\n\npositional arguments:\n  \u003cApp Name\u003e  Name of the app (optional)\n\noptional arguments:\n  -h, --help  show this help message and exit\n\n\nCommand: egl-sync\nusage: legendary egl-sync [-h] [--egl-manifest-path EGL_MANIFEST_PATH]\n                          [--egl-wine-prefix EGL_WINE_PREFIX] [--enable-sync]\n                          [--disable-sync] [--one-shot] [--import-only]\n                          [--export-only] [--migrate] [--unlink]\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --egl-manifest-path EGL_MANIFEST_PATH\n                        Path to the Epic Games Launcher's Manifests folder,\n                        should point to\n                        /ProgramData/Epic/EpicGamesLauncher/Data/Manifests\n  --egl-wine-prefix EGL_WINE_PREFIX\n                        Path to the WINE prefix the Epic Games Launcher is\n                        installed in\n  --enable-sync         Enable automatic EGL \u003c-\u003e Legendary sync\n  --disable-sync        Disable automatic sync and exit\n  --one-shot            Sync once, do not ask to setup automatic sync\n  --import-only         Only import games from EGL (no export)\n  --export-only         Only export games to EGL (no import)\n  --migrate             Import games into legendary, then remove them from EGL\n                        (implies --import-only --one-shot --unlink)\n  --unlink              Disable sync and remove EGL metadata from installed\n                        games\n\n\nCommand: eos-overlay\nusage: legendary eos-overlay [-h] [--path PATH] [--prefix PREFIX] [--app APP]\n                             [--bottle BOTTLE]\n                             \u003cinstall|update|remove|enable|disable|info\u003e\n\npositional arguments:\n  \u003cinstall|update|remove|enable|disable|info\u003e\n                        Action: install, remove, enable, disable, or print\n                        info about the overlay\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --path PATH           Path to the EOS overlay folder to be enabled/installed\n                        to.\n  --prefix PREFIX       WINE prefix to install the overlay in\n  --app APP             Use this app's wine prefix (if configured in config)\n  --bottle BOTTLE       WINE prefix to install the overlay in\n\n\nCommand: import\nusage: legendary import [-h] [--disable-check] [--with-dlcs] [--skip-dlcs]\n                        [--platform \u003cPlatform\u003e]\n                        \u003cApp Name\u003e \u003cInstallation directory\u003e\n\npositional arguments:\n  \u003cApp Name\u003e            Name of the app\n  \u003cInstallation directory\u003e\n                        Path where the game is installed\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --disable-check       Disables completeness check of the to-be-imported game\n                        installation (useful if the imported game is a much\n                        older version or missing files)\n  --with-dlcs           Automatically attempt to import all DLCs with the base\n                        game\n  --skip-dlcs           Do not ask about importing DLCs.\n  --platform \u003cPlatform\u003e\n                        Platform for import (default: Mac on macOS, otherwise\n                        Windows)\n\n\nCommand: info\nusage: legendary info [-h] [--offline] [--json] [--platform \u003cPlatform\u003e]\n                      \u003cApp Name/Manifest URI\u003e\n\npositional arguments:\n  \u003cApp Name/Manifest URI\u003e\n                        App name or manifest path/URI\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --offline             Only print info available offline\n  --json                Output information in JSON format\n  --platform \u003cPlatform\u003e\n                        Platform to fetch info for (default: installed or Mac\n                        on macOS, Windows otherwise)\n\n\nCommand: install\nusage: legendary install \u003cApp Name\u003e [options]\n\nAliases: download, update\n\npositional arguments:\n  \u003cApp Name\u003e            Name of the app\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --base-path \u003cpath\u003e    Path for game installations (defaults to ~/Games)\n  --game-folder \u003cpath\u003e  Folder for game installation (defaults to folder\n                        specified in metadata)\n  --max-shared-memory \u003csize\u003e\n                        Maximum amount of shared memory to use (in MiB),\n                        default: 1 GiB\n  --max-workers \u003cnum\u003e   Maximum amount of download workers, default: min(2 *\n                        CPUs, 16)\n  --manifest \u003curi\u003e      Manifest URL or path to use instead of the CDN one\n                        (e.g. for downgrading)\n  --old-manifest \u003curi\u003e  Manifest URL or path to use as the old one (e.g. for\n                        testing patching)\n  --delta-manifest \u003curi\u003e\n                        Manifest URL or path to use as the delta one (e.g. for\n                        testing)\n  --base-url \u003curl\u003e      Base URL to download from (e.g. to test or switch to a\n                        different CDNs)\n  --force               Download all files / ignore existing (overwrite)\n  --disable-patching    Do not attempt to patch existing installation\n                        (download entire changed files)\n  --download-only, --no-install\n                        Do not install app and do not run prerequisite\n                        installers after download\n  --update-only         Only update, do not do anything if specified app is\n                        not installed\n  --dlm-debug           Set download manager and worker processes' loglevel to\n                        debug\n  --platform \u003cPlatform\u003e\n                        Platform for install (default: installed or Windows)\n  --prefix \u003cprefix\u003e     Only fetch files whose path starts with \u003cprefix\u003e (case\n                        insensitive)\n  --exclude \u003cprefix\u003e    Exclude files starting with \u003cprefix\u003e (case\n                        insensitive)\n  --install-tag \u003ctag\u003e   Only download files with the specified install tag\n  --enable-reordering   Enable reordering optimization to reduce RAM\n                        requirements during download (may have adverse results\n                        for some titles)\n  --dl-timeout \u003csec\u003e    Connection timeout for downloader (default: 10\n                        seconds)\n  --save-path \u003cpath\u003e    Set save game path to be used for sync-saves\n  --repair              Repair installed game by checking and redownloading\n                        corrupted/missing files\n  --repair-and-update   Update game to the latest version when repairing\n  --ignore-free-space   Do not abort if not enough free space is available\n  --disable-delta-manifests\n                        Do not use delta manifests when updating (may increase\n                        download size)\n  --reset-sdl           Reset selective downloading choices (requires repair\n                        to download new components)\n  --skip-sdl            Skip SDL prompt and continue with defaults (only\n                        required game data)\n  --disable-sdl         Disable selective downloading for title, reset\n                        existing configuration (if any)\n  --preferred-cdn \u003chostname\u003e\n                        Set the hostname of the preferred CDN to use when\n                        available\n  --no-https            Download games via plaintext HTTP (like EGS), e.g. for\n                        use with a lan cache\n  --with-dlcs           Automatically install all DLCs with the base game\n  --skip-dlcs           Do not ask about installing DLCs.\n\n\nCommand: launch\nusage: legendary launch \u003cApp Name\u003e [options]\n\nNote: additional arguments are passed to the game\n\npositional arguments:\n  \u003cApp Name\u003e            Name of the app\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --offline             Skip login and launch game without online\n                        authentication\n  --skip-version-check  Skip version check when launching game in online mode\n  --override-username \u003cusername\u003e\n                        Override username used when launching the game (only\n                        works with some titles)\n  --dry-run             Print the command line that would have been used to\n                        launch the game and exit\n  --language \u003ctwo letter language code\u003e\n                        Override language for game launch (defaults to system\n                        locale)\n  --wrapper \u003cwrapper command\u003e\n                        Wrapper command to launch game with\n  --set-defaults        Save parameters used to launch to config (does not\n                        include env vars)\n  --reset-defaults      Reset config settings for app and exit\n  --override-exe \u003cexe path\u003e\n                        Override executable to launch (relative path)\n  --origin              Launch Origin to activate or run the game.\n  --json                Print launch information as JSON and exit\n  --wine \u003cwine binary\u003e  Set WINE binary to use to launch the app\n  --wine-prefix \u003cwine pfx path\u003e\n                        Set WINE prefix to use\n  --no-wine             Do not run game with WINE (e.g. if a wrapper is used)\n  --crossover           Interactively configure CrossOver for this\n                        application.\n  --crossover-app \u003cpath to .app\u003e\n                        Specify which App to use for CrossOver (e.g.\n                        \"/Applications/CrossOver.app\")\n  --crossover-bottle \u003cbottle name\u003e\n                        Specify which bottle to use for CrossOver\n\n\nCommand: list\nusage: legendary list [-h] [--platform \u003cPlatform\u003e] [--include-ue] [-T] [--csv]\n                      [--tsv] [--json] [--force-refresh]\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --platform \u003cPlatform\u003e\n                        Platform to fetch game list for (default: Mac on\n                        macOS, otherwise Windows)\n  --include-ue          Also include Unreal Engine content\n                        (Engine/Marketplace) in list\n  -T, --third-party, --include-non-installable\n                        Include apps that are not installable (e.g. that have\n                        to be activated on Origin)\n  --csv                 List games in CSV format\n  --tsv                 List games in TSV format\n  --json                List games in JSON format\n  --force-refresh       Force a refresh of all game metadata\n\n\nCommand: list-files\nusage: legendary list-files [-h] [--force-download] [--platform \u003cPlatform\u003e]\n                            [--manifest \u003curi\u003e] [--csv] [--tsv] [--json]\n                            [--hashlist] [--install-tag \u003ctag\u003e]\n                            [\u003cApp Name\u003e]\n\npositional arguments:\n  \u003cApp Name\u003e            Name of the app (optional)\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --force-download      Always download instead of using on-disk manifest\n  --platform \u003cPlatform\u003e\n                        Platform (default: Mac on macOS, otherwise Windows)\n  --manifest \u003curi\u003e      Manifest URL or path to use instead of the CDN one\n  --csv                 Output in CSV format\n  --tsv                 Output in TSV format\n  --json                Output in JSON format\n  --hashlist            Output file hash list in hashcheck/sha1sum -c\n                        compatible format\n  --install-tag \u003ctag\u003e   Show only files with specified install tag\n\n\nCommand: list-installed\nusage: legendary list-installed [-h] [--check-updates] [--csv] [--tsv]\n                                [--json] [--show-dirs]\n\noptional arguments:\n  -h, --help       show this help message and exit\n  --check-updates  Check for updates for installed games\n  --csv            List games in CSV format\n  --tsv            List games in TSV format\n  --json           List games in JSON format\n  --show-dirs      Print installation directory in output\n\n\nCommand: list-saves\nusage: legendary list-saves [-h] [\u003cApp Name\u003e]\n\npositional arguments:\n  \u003cApp Name\u003e  Name of the app (optional)\n\noptional arguments:\n  -h, --help  show this help message and exit\n\n\nCommand: move\nusage: legendary move [-h] [--skip-move] \u003cApp Name\u003e \u003cNew Base Path\u003e\n\npositional arguments:\n  \u003cApp Name\u003e       Name of the app\n  \u003cNew Base Path\u003e  Directory to move game folder to\n\noptional arguments:\n  -h, --help       show this help message and exit\n  --skip-move      Only change legendary database, do not move files (e.g. if\n                   already moved)\n\n\nCommand: status\nusage: legendary status [-h] [--offline] [--json]\n\noptional arguments:\n  -h, --help  show this help message and exit\n  --offline   Only print offline status information, do not login\n  --json      Show status in JSON format\n\n\nCommand: sync-saves\nusage: legendary sync-saves [-h] [--skip-upload] [--skip-download]\n                            [--force-upload] [--force-download]\n                            [--save-path \u003cpath\u003e] [--disable-filters]\n                            [\u003cApp Name\u003e]\n\npositional arguments:\n  \u003cApp Name\u003e          Name of the app (optional)\n\noptional arguments:\n  -h, --help          show this help message and exit\n  --skip-upload       Only download new saves from cloud, don't upload\n  --skip-download     Only upload new saves from cloud, don't download\n  --force-upload      Force upload even if local saves are older\n  --force-download    Force download even if local saves are newer\n  --save-path \u003cpath\u003e  Override savegame path (requires single app name to be\n                      specified)\n  --disable-filters   Disable save game file filtering\n\n\nCommand: uninstall\nusage: legendary uninstall [-h] [--keep-files] \u003cApp Name\u003e\n\npositional arguments:\n  \u003cApp Name\u003e    Name of the app\n\noptional arguments:\n  -h, --help    show this help message and exit\n  --keep-files  Keep files but remove game from Legendary database\n\n\nCommand: verify\nusage: legendary verify [-h] \u003cApp Name\u003e\n\npositional arguments:\n  \u003cApp Name\u003e  Name of the app\n\noptional arguments:\n  -h, --help  show this help message and exit\n````\n\n\n## Config file\n\nLegendary supports some options as well as game specific configuration in `~/.config/legendary/config.ini`:\n````ini\n[Legendary]\nlog_level = debug\n; maximum shared memory (in MiB) to use for installation\nmax_memory = 2048\n; maximum number of worker processes when downloading (fewer workers will be slower, but also use less system resources)\nmax_workers = 8\n; default install directory\ninstall_dir = /mnt/tank/games\n; locale override, must be in RFC 1766 format (e.g. \"en-US\")\nlocale = en-US\n; whether or not syncing with egl is enabled\negl_sync = false\n; path to the \"Manifests\" folder in the EGL ProgramData directory\negl_programdata = /home/user/Games/epic-games-store/drive_c/... \n; Set preferred CDN host (e.g. to improve download speed)\npreferred_cdn = epicgames-download1.akamaized.net\n; disable HTTPS for downloads (e.g. to use a LanCache)\ndisable_https = false\n; Disables the automatic update check\ndisable_update_check = false\n; Disables the notice about an available update on exit\ndisable_update_notice = false\n; Disable automatically-generated aliases\ndisable_auto_aliasing = false\n\n; macOS specific settings\n; Default application platform to use (default: Mac on macOS, Windows elsewhere)\ndefault_platform = Windows\n; Fallback to \"Windows\" platform if native version unavailable\ninstall_platform_fallback = true\n; (macOS) Disable automatic CrossOver use\ndisable_auto_crossover = false\n; Default directory for native Mac applications (.app packages)\nmac_install_dir = /User/legendary/Applications\n\n[Legendary.aliases]\n; List of aliases for simpler CLI use, in the format `\u003calias\u003e = \u003capp name\u003e`\nHITMAN 3 = Eider\ngtav = 9d2d0eb64d5c44529cece33fe2a46482\n\n; default settings to use for all apps (unless overridden in the app's config section)\n; Note that only the settings listed below are supported.\n[default]\n; (all) wrapper to run the game with (e.g. \"gamemode\")\nwrapper = gamemode\n; (linux/macOS) Wine executable and prefix\nwine_executable = wine\nwine_prefix = /home/user/.wine\n; (macOS) CrossOver options\ncrossover_app = /Applications/CrossOver.app\ncrossover_bottle = Legendary\n\n; default environment variables to set (overridden by game specific ones)\n[default.env]\nWINEPREFIX = /home/user/legendary/.wine\n\n; Settings to only use for \"AppName\"\n[AppName]\n; launch game without online authentication by default\noffline = true\n; Skip checking for updates when launching this game\nskip_update_check = true\n; start parameters to use (in addition to the required ones)\nstart_params = -windowed\n; override language with two-letter language code\nlanguage = fr\n; Override Wine version for this app\nwine_executable = /path/to/wine64\n\n[AppName.env]\n; environment variables to set for this game (mostly useful on linux)\nWINEPREFIX = /mnt/tank/games/Game/.wine\nDXVK_CONFIG_FILE = /mnt/tank/games/Game/dxvk.conf\n\n[AppName2]\n; Use a wrapper to run this script\n; Note that the path might have to be quoted if it contains spaces\nwrapper = \"/path/with spaces/gamemoderun\"\n; Do not run this executable with WINE (e.g. when the wrapper handles that)\nno_wine = true\n; Override the executable launched for this game, for example to bypass a launcher (e.g. Borderlands)\noverride_exe = relative/path/to/file.exe\n; Disable selective downloading for this title\ndisable_sdl = true\n\n[AppName3]\n; Command to run before launching the gmae\npre_launch_command = /path/to/script.sh\n; Whether or not to wait for command to finish running\npre_launch_wait = false\n; (macOS) override crossover settings\ncrossover_app = /Applications/CrossOver Nightly.app\ncrossover_bottle = SomethingElse\n````\n","funding_links":["https://ko-fi.com/derrod"],"categories":["Python","others","Platforms","Launcher"],"sub_categories":["Nvidia"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fderrod%2Flegendary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fderrod%2Flegendary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fderrod%2Flegendary/lists"}