Steam Play compatibility tool to run DOS games using native Linux DOSBox
This is a sister project of Luxtorpeda, Roberta, and DOSBox Staging.
Official mirrors: GitHub, GitLab.
Game compatibility reports: Steam, GOG.
- Lower input lag (compared to DOSBox inside Proton)
- Steam features working as expected (e.g. Steam Cloud, Controller settings or recording of time played)
- Better fullscreen support, especially on multi-monitor setups*
- Steam Overlay working out of the box*
- More configuration options and better defaults*
- Automatic detection of MIDI hardware, with software synthesiser used as fallback
- Automatic MIDI setup for supported titles (click Play and enjoy pre-configured MIDI music)
* - compared to vanilla DOSBox
If you use Steam flatpak, you can add Boxtron using:
$ flatpak install flathub Boxtron
You can use AUR package.
You'll need to install dependencies manually and then proceed to installation steps:
You will need Python (>= 3.5), DOSBox Staging (>= 0.76), inotify-tools, TiMidity++, and a soundfont. Optionally, you can use FluidSynth as well. If your distribution does not include dosbox-staging yet, you can use DOSBox 0.74-3 instead, but you might encounter severe issues.
$ sudo dnf install dosbox-staging inotify-tools timidity++ fluid-soundfont-gm
$ sudo zypper install dosbox inotify-tools timidity fluid-soundfont
$ sudo apt install dosbox inotify-tools timidity fluid-soundfont-gm
$ sudo pacman -S dosbox inotify-tools timidity++ soundfont-fluid
$ nix-env -f '<nixpkgs>' -iA dosbox inotify-tools timidity soundfont-fluid
-
Download and unpack tarball to
compatibilitytools.d
directory (create one if it does not exist):$ cd ~/.local/share/Steam/compatibilitytools.d/ || cd ~/.steam/root/compatibilitytools.d/ $ curl -L https://github.com/dreamer/boxtron/releases/download/v0.5.4/boxtron.tar.xz | tar xJf -
-
Start/restart Steam.
-
In game properties window go to "Compatibility" section, select "Force the use of a specific Steam Play compatibility tool" and pick "Boxtron (native DOSBox)".
This installation method is explained in detail in the packaging guide.
-
Clone the repository and install the script system-wide:
$ git clone https://github.com/dreamer/boxtron.git $ cd boxtron $ sudo make install
-
Start/restart Steam.
-
In game properties window select "Force the use of a specific Steam Play compatibility tool" and select "Boxtron (native DOSBox)".
This method is appropriate for testing and development. See: contributing guide.
-
Clone the repository and install the script to user directory:
$ git clone https://github.com/dreamer/boxtron.git $ cd boxtron $ make dev-install
-
Start/restart Steam.
-
In game properties window select "Force the use of a specific Steam Play compatibility tool" and select "Boxtron (dev)".
Read Configuration article on project Wiki.
To easily install a DOS game from GOG to your Steam library, use included script:
$ ./install-gog-game ~/Downloads/setup_warcraft_orcs__humans_1.2_\(28330\).exe
It will unpack the game to ~/.local/share/games
, prepare a setup that works around all
known Steam bugs and generate .desktop
file to be added to your Steam library. After
that, you can play the game using Boxtron or Proton.
Installation script depends only on the Python standard library; you can put it in your PATH or wherever you like.
Boxtron preconfigures selected titles to turn MIDI music on/off, depending on user preferences. Supported games are:
- STAR WARS™ - Dark Forces
- STAR WARS™ - X-Wing: Classic Edition
- STAR WARS™ - X-Wing: Collector's CD-ROM Edition
- X-COM: UFO Defense
- X-COM: Terror From the Deep
- Jagged Alliance Gold
- Jagged Alliance Deadly Games
- System Shock: Classic
- The Ultimate DOOM
- Final DOOM
- DOOM II
- Master Levels for DOOM II
- Heretic: Shadow of the Serpent Riders
- Hexen: Beyond Heretic
- Hexen: Deathkings of the Dark Citadel
- Duke Nukem 3D (Classic)
- King's Table - The Legend of Ragnarok
Just click "Play" and enjoy glorious MIDI music, there's no need to hunt those
pesky SETSOUND.EXE
programs.
Sythesiser running does not automagically turn on MIDI music in every game,
sometimes you need to enable it manually (usually there's a file called SETUP.EXE
,
IMUSE.EXE
or similar somewhere in the game directory). Use following settings:
Music/device: Roland MPU401/General MIDI, Music Port: 330
If you'll find a game, that supports MIDI and you need to enable it manually, create a bug report, please!
For most Sierra games, you might be interested in using Roberta instead of Boxtron.
Some game collections on Steam use "Sierra Classics Launcher" graphical frontend.
There's no support for graphical version of this launcher - the first game in a collection
will be started by default. You can select different game to run with BOXTRON_SIERRA_GAME
environment variable.
For example, to start King's Quest 6 from King's Quest Collection:
BOXTRON_SIERRA_GAME=6 %command%
Check SierraLauncher.ini
file in game's installation dir to learn which number
corresponds to which game.
As of March 2021 you might encounter one of the following bugs:
- Some games experience random KeyUp events in fullscreen. It's a DOSBox bug, use DOSBox Staging to avoid it.
- Alt+Tab does not work in fullscreen. It's a DOSBox bug, use DOSBox Staging to avoid it.
- Modern game controllers might not work at all. It's a DOSBox bug, use DOSBox Staging to avoid it.
- Steam Overlay causes visual glitch. This was a DOSBox bug - use DOSBox 0.74-3 or DOSBox Staging to avoid it.