{"id":13560788,"url":"https://github.com/dreamer/boxtron","last_synced_at":"2025-04-05T20:06:18.777Z","repository":{"id":42790489,"uuid":"185059156","full_name":"dreamer/boxtron","owner":"dreamer","description":"Steam Play compatibility tool to run DOS games using native Linux DOSBox","archived":false,"fork":false,"pushed_at":"2023-04-05T02:59:13.000Z","size":476,"stargazers_count":419,"open_issues_count":17,"forks_count":4,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-03-29T19:02:55.918Z","etag":null,"topics":["dos","dosbox","games","retrogaming","steam"],"latest_commit_sha":null,"homepage":"https://luxtorpeda.gitlab.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dreamer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-05-05T17:01:24.000Z","updated_at":"2025-03-20T19:45:01.000Z","dependencies_parsed_at":"2024-01-17T16:06:53.662Z","dependency_job_id":"c27173bb-d43d-42af-a7e5-b36ccbbe8d07","html_url":"https://github.com/dreamer/boxtron","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dreamer%2Fboxtron","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dreamer%2Fboxtron/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dreamer%2Fboxtron/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dreamer%2Fboxtron/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dreamer","download_url":"https://codeload.github.com/dreamer/boxtron/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247393569,"owners_count":20931812,"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":["dos","dosbox","games","retrogaming","steam"],"created_at":"2024-08-01T13:00:49.498Z","updated_at":"2025-04-05T20:06:18.751Z","avatar_url":"https://github.com/dreamer.png","language":"Python","funding_links":[],"categories":["Applications"],"sub_categories":["Games"],"readme":"# Boxtron\n\n[![Build Status][travis-badge]][travis]\n[![Language grade: Python][lgtm-badge]][lgtm-py]\n[![Luxtorpeda project Discord][discord-badge]][discord]\n\nSteam Play compatibility tool to run DOS games using native Linux DOSBox\n\nThis is a sister project of\n[Luxtorpeda](https://github.com/dreamer/luxtorpeda),\n[Roberta](https://github.com/dreamer/roberta), and\n[DOSBox Staging](https://dosbox-staging.github.io/).\n\n![boxtron](https://user-images.githubusercontent.com/3967/111551660-fde2e080-8780-11eb-961a-f2fae8286cfa.png)\n\nOfficial mirrors:\n[GitHub](https://github.com/dreamer/boxtron),\n[GitLab](https://gitlab.com/luxtorpeda/boxtron).\n\nGame compatibility reports:\n[Steam](https://github.com/dreamer/boxtron/wiki/Compatibility-reports),\n[GOG](https://github.com/dreamer/boxtron/wiki/Compatibility-reports-(GOG)).\n\n\n## Features\n\n* Lower input lag (compared to DOSBox inside Proton)\n* Steam features working as expected (e.g. Steam Cloud, Controller settings or recording of time played)\n* Better fullscreen support, especially on multi-monitor setups\\*\n* Steam Overlay working out of the box\\*\n* More [configuration options](https://github.com/dreamer/boxtron/wiki/Configuration) and better defaults\\*\n* Automatic detection of MIDI hardware, with software synthesiser used as fallback\n* Automatic MIDI setup for supported titles (click Play and enjoy pre-configured MIDI music)\n\n\u003csub\u003e\\* - compared to vanilla DOSBox\u003c/sub\u003e\n\n\n## Installation (from repositories)\n\n##### Flathub\n\nIf you use [Steam flatpak](https://flathub.org/apps/details/com.valvesoftware.Steam),\nyou can add Boxtron using:\n\n    $ flatpak install flathub Boxtron\n\n##### Arch, Manjaro\n\nYou can use [AUR package](https://aur.archlinux.org/packages/boxtron/).\n\n\n## Installation (manual)\n\nYou'll need to install dependencies manually and then proceed to installation steps:\n- [tarball (single-user)](#installation-using-tarball-for-a-single-user)\n- [source (system-wide)](#installation-from-source-system-wide)\n- [source (for development)](#installation-from-source-for-development)\n\n\n### Dependencies\n\nYou will need Python (\u003e= 3.5), DOSBox Staging (\u003e= 0.76), inotify-tools,\nTiMidity++, and a soundfont.  Optionally, you can use FluidSynth as well.\nIf your distribution does not include [dosbox-staging][dosbox-staging-repos]\nyet, you can use DOSBox 0.74-3 instead, but you might encounter severe issues.\n\n##### Fedora\n\n    $ sudo dnf install dosbox-staging inotify-tools timidity++ fluid-soundfont-gm\n\n##### OpenSUSE\n\n    $ sudo zypper install dosbox inotify-tools timidity fluid-soundfont\n\n##### Debian, Ubuntu, Mint, Pop!\\_OS\n\n    $ sudo apt install dosbox inotify-tools timidity fluid-soundfont-gm\n\n##### Arch, Manjaro\n\n    $ sudo pacman -S dosbox inotify-tools timidity++ soundfont-fluid\n\n##### NixOS\n\n    $ nix-env -f '\u003cnixpkgs\u003e' -iA dosbox inotify-tools timidity soundfont-fluid\n\n[dosbox-staging-repos]: https://dosbox-staging.github.io/downloads/linux/\n\n### Installation (using tarball, for a single user)\n\n1. Download and unpack tarball to `compatibilitytools.d` directory (create one if it does not exist):\n\n       $ cd ~/.local/share/Steam/compatibilitytools.d/ || cd ~/.steam/root/compatibilitytools.d/\n       $ curl -L https://github.com/dreamer/boxtron/releases/download/v0.5.4/boxtron.tar.xz | tar xJf -\n\n2. Start/restart Steam.\n3. In game properties window go to \"Compatibility\" section, select \"Force\n   the use of a specific Steam Play compatibility tool\" and pick\n   \"Boxtron (native DOSBox)\".\n\n\n### Installation (from source, system-wide)\n\nThis installation method is explained in detail in [the packaging guide](PACKAGING.md).\n\n1. Clone the repository and install the script system-wide:\n\n       $ git clone https://github.com/dreamer/boxtron.git\n       $ cd boxtron\n       $ sudo make install\n\n2. Start/restart Steam.\n3. In game properties window select \"Force the use of a specific Steam Play\n   compatibility tool\" and select \"Boxtron (native DOSBox)\".\n\n\n### Installation (from source, for development)\n\nThis method is appropriate for testing and development.\nSee: [contributing guide](CONTRIBUTING.md).\n\n1. Clone the repository and install the script to user directory:\n\n       $ git clone https://github.com/dreamer/boxtron.git\n       $ cd boxtron\n       $ make dev-install\n\n2. Start/restart Steam.\n3. In game properties window select \"Force the use of a specific Steam Play\n   compatibility tool\" and select \"Boxtron (dev)\".\n\n\n## Configuration\n\nRead [Configuration](https://github.com/dreamer/boxtron/wiki/Configuration) article on project Wiki.\n\n\n## GOG Games\n\nTo easily install a DOS game from GOG to your Steam library, use included script:\n\n    $ ./install-gog-game ~/Downloads/setup_warcraft_orcs__humans_1.2_\\(28330\\).exe\n\nIt will unpack the game to `~/.local/share/games`, prepare a setup that works around all\nknown Steam bugs and generate `.desktop` file to be added to your Steam library. After\nthat, you can play the game using Boxtron or Proton.\n\nInstallation script depends only on the Python standard library; you can put it in your\nPATH or wherever you like.\n\n\n## MIDI auto-setup\n\nBoxtron preconfigures selected titles to turn MIDI music on/off, depending on user\npreferences. Supported games are:\n\n* [STAR WARS™ - Dark Forces](https://store.steampowered.com/app/32400/)\n* [STAR WARS™ - X-Wing: Classic Edition](https://store.steampowered.com/app/354430/)\n* [STAR WARS™ - X-Wing: Collector's CD-ROM Edition](https://store.steampowered.com/app/354430/)\n* [X-COM: UFO Defense](https://store.steampowered.com/app/7760/)\n* [X-COM: Terror From the Deep](https://store.steampowered.com/app/7650/)\n* [Jagged Alliance Gold](https://store.steampowered.com/app/283270/)\n* [Jagged Alliance Deadly Games](https://store.steampowered.com/app/283270/)\n* [System Shock: Classic](https://steamdb.info/app/410700/)\n* [The Ultimate DOOM](https://store.steampowered.com/app/2280/Ultimate_Doom/)\n* [Final DOOM](https://store.steampowered.com/app/2290/Final_DOOM/)\n* [DOOM II](https://store.steampowered.com/app/2300/DOOM_II/)\n* [Master Levels for DOOM II](https://store.steampowered.com/app/9160/)\n* [Heretic: Shadow of the Serpent Riders](https://store.steampowered.com/app/2390/)\n* [Hexen: Beyond Heretic](https://store.steampowered.com/app/2360/)\n* [Hexen: Deathkings of the Dark Citadel](https://store.steampowered.com/app/2370/)\n* [Duke Nukem 3D (Classic)](https://steamdb.info/app/225140/info/)\n* [King's Table - The Legend of Ragnarok](https://store.steampowered.com/app/719310/)\n\n\nJust click \"Play\" and enjoy glorious MIDI music, there's no need to hunt those\npesky `SETSOUND.EXE` programs.\n\n#### Other games\n\nSythesiser running does not automagically turn on MIDI music in every game,\nsometimes you need to enable it manually (usually there's a file called `SETUP.EXE`,\n`IMUSE.EXE` or similar somewhere in the game directory). Use following settings:\n\nMusic/device: **Roland MPU401/General MIDI**, Music Port: **330**\n\nIf you'll find a game, that supports MIDI and you need to enable it manually,\ncreate a bug report, please!\n\n\n## Sierra Launcher\n\n*For most Sierra games, you might be interested in using\n[Roberta](https://github.com/dreamer/roberta/) instead of Boxtron.*\n\nSome game collections on Steam use \"Sierra Classics Launcher\" graphical frontend.\nThere's no support for graphical version of this launcher - the first game in a collection\nwill be started by default. You can select different game to run with `BOXTRON_SIERRA_GAME`\nenvironment variable.\n\nFor example, to start King's Quest 6 from\n[King's Quest Collection](https://store.steampowered.com/app/10100/):\n\n    BOXTRON_SIERRA_GAME=6 %command%\n\nCheck `SierraLauncher.ini` file in game's installation dir to learn which number\ncorresponds to which game.\n\n\n## Known issues\n\nAs of March 2021 you might encounter one of the following bugs:\n\n- Some games experience random KeyUp events in fullscreen.\n  It's a [DOSBox bug](https://www.vogons.org/viewtopic.php?f=31\u0026t=66491), use\n  [DOSBox Staging] to avoid it.\n- Alt+Tab does not work in fullscreen. It's a DOSBox bug, use\n  [DOSBox Staging] to avoid it.\n- Modern game controllers might not work at all. It's a DOSBox bug, use\n  [DOSBox Staging] to avoid it.\n- Steam Overlay causes [visual glitch][steam-overlay-glitch].\n  This was a DOSBox bug - use DOSBox 0.74-3 or\n  [DOSBox Staging] to avoid it.\n\n[DOSBox Staging]: https://dosbox-staging.github.io/\n[steam-overlay-glitch]: https://github.com/dreamer/boxtron/issues/8\n[travis-badge]: https://travis-ci.com/dreamer/boxtron.svg?branch=master\n[travis]: https://travis-ci.com/dreamer/boxtron\n[lgtm-badge]: https://img.shields.io/lgtm/grade/python/g/dreamer/boxtron.svg\n[lgtm-py]: https://lgtm.com/projects/g/dreamer/boxtron/context:python\n[discord-badge]: https://img.shields.io/discord/514567252864008206?color=%237289da\u0026logo=discord\u0026logoColor=white\u0026label=discord\n[discord]: https://discord.gg/8mFhUPX\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdreamer%2Fboxtron","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdreamer%2Fboxtron","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdreamer%2Fboxtron/lists"}