Steam Play compatibility tool to run DOS games using native Linux DOSBox
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.
* - 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:
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: