Code Monkey home page Code Monkey logo

boxtron's Introduction

Boxtron

Build Status Language grade: Python Luxtorpeda project Discord

Steam Play compatibility tool to run DOS games using native Linux DOSBox

This is a sister project of Luxtorpeda, Roberta, and DOSBox Staging.

boxtron

Official mirrors: GitHub, GitLab.

Game compatibility reports: Steam, GOG.

Features

  • 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

Installation (from repositories)

Flathub

If you use Steam flatpak, you can add Boxtron using:

$ flatpak install flathub Boxtron
Arch, Manjaro

You can use AUR package.

Installation (manual)

You'll need to install dependencies manually and then proceed to installation steps:

Dependencies

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.

Fedora
$ sudo dnf install dosbox-staging inotify-tools timidity++ fluid-soundfont-gm
OpenSUSE
$ sudo zypper install dosbox inotify-tools timidity fluid-soundfont
Debian, Ubuntu, Mint, Pop!_OS
$ sudo apt install dosbox inotify-tools timidity fluid-soundfont-gm
Arch, Manjaro
$ sudo pacman -S dosbox inotify-tools timidity++ soundfont-fluid
NixOS
$ nix-env -f '<nixpkgs>' -iA dosbox inotify-tools timidity soundfont-fluid

Installation (using tarball, for a single user)

  1. 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 -
    
  2. Start/restart Steam.

  3. In game properties window go to "Compatibility" section, select "Force the use of a specific Steam Play compatibility tool" and pick "Boxtron (native DOSBox)".

Installation (from source, system-wide)

This installation method is explained in detail in the packaging guide.

  1. Clone the repository and install the script system-wide:

    $ git clone https://github.com/dreamer/boxtron.git
    $ cd boxtron
    $ sudo make install
    
  2. Start/restart Steam.

  3. In game properties window select "Force the use of a specific Steam Play compatibility tool" and select "Boxtron (native DOSBox)".

Installation (from source, for development)

This method is appropriate for testing and development. See: contributing guide.

  1. Clone the repository and install the script to user directory:

    $ git clone https://github.com/dreamer/boxtron.git
    $ cd boxtron
    $ make dev-install
    
  2. Start/restart Steam.

  3. In game properties window select "Force the use of a specific Steam Play compatibility tool" and select "Boxtron (dev)".

Configuration

Read Configuration article on project Wiki.

GOG Games

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.

MIDI auto-setup

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.

Other games

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!

Sierra Launcher

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.

Known issues

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.

boxtron's People

Contributors

boltronics avatar dreamer avatar faalagorn avatar gasinvein avatar tehfreek avatar vicious987 avatar wormzy avatar yochananmarqos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

boxtron's Issues

Steam virtual keyboard

Hi, this tool is fantastic (on the one game I've tried with it so far), but I cannot seem to get the Steam Virtual Keyboard ('Open Keyboard' option from the overlay in BPM) to interact with my DOS game properly.

i.e, I am playing Master of Orion II. All controller options seem to work wonderfully, but when I wish to choose a new emporer name, or change the name of a star system upon initial colonization, when the text input window in game is open, if I try and type anything with the steam virtual keyboard, it does not seem to get passed through to dosbox?

I am using Ubuntu, but not the standard dosbox 0.74 package, but an SVN/patched dosbox package from the PPA at https://code.launchpad.net/~i30817/+archive/ubuntu/dosbox-patched

Thanks for this wonderful compatibility tool. The ability to properly utilize the controller and overlay has been wonderful so far!

STAR WARS: TIE Fighter Special Edition (355250) (Collector's CD-ROM edition) — controller issues

Compatibility Report

System Information

  • Linux distribution: Ubuntu 23.04
  • Kernel: 6.2.0-34-generic
  • Desktop: GNOME 44.3
  • DOSBox: dosbox 0.74-3, dosbox-staging 0.80.1

Report

The game itself starts just fine but the controller is unusable. It seems that buttons are mixed up and joystick axes are wrong, and the joystick keeps pulling in one direction. There's a similar report on another game here: #50. I tried both stock dosbox and dosbox-staging. The controller works correctly when I launch the game via Proton (but then I have no music, hence I'm trying to use boxtron).

Cannot run SierraLauncher games

Various games using the SierraLauncher are not compatible with steam-dos.

Games that are currently known to be affected include:

King's Quest Collection
https://store.steampowered.com/app/10100/
https://steamdb.info/app/10100/

Phantasmagoria
https://store.steampowered.com/app/501990/
https://steamdb.info/app/501990/

Phantasmagoria 2: A Puzzle of Flesh
https://store.steampowered.com/app/501970/
https://steamdb.info/app/501970/

Police Quest™ Collection
https://store.steampowered.com/app/494740/
https://steamdb.info/app/494740/

Quest For Glory Collection
https://store.steampowered.com/app/502750/
https://steamdb.info/app/502750/

Space Quest Collection
https://store.steampowered.com/app/10110/
https://steamdb.info/app/10110/

There are probably others.

Flicker/Sound glitches when using remote play with Boxtron

This is a bit of a complex issue that I will do my best to describe clearly.
I'm using a laptop with an external gpu, running a dosbox game in steam with boxtron. I'm casting the game to my TV with the steam remote play feature and a steam link.
The game runs fine if I were only to play it on my monitor attached to the gpu.
With egpus it's sometimes recommended to use only the external display and not also render the game on the laptop screen as well, for better performance.
I am finding however, that if I switch off the laptop display in my desktop settings this results in continuous flickering in the cast display of the game on my TV - but not on the monitor attached to the computer/gpu itself. It seems to be caused by my moving the mouse cursor - perhaps related to the steam overlay. If I switch on my laptop screen again, the flickering on the TV stops.
In this way there is instead a few sound/lag glitches, but it is better.
I notice that when the screen is open like this, and I look at the computer, the 'window' of the dosbox game is in fullscreen on the external monitor, but there is an overlap with the edge of the game window extending onto the laptop display as well.

I'm posting this here because I get the flickering problems only when running dosbox games in Steam and casting them, not with other Steam games and casting them. Even though I would expect modern games to be more demanding to play and cast from my computer.

Perhaps someone here knows what this means and if there's anything I can change to correct this? Changing dosbox/boxtron configuration file somehow?

Thank you.

DOSBox-X Flatpak not running games through Boxtron on the Steam Deck.

I can't manage to get Boxtron to open DOSBox-X and run games.

Here is my ~/.config/boxtron.conf

(deck@tylerj-steamdeck .config)$ cat boxtron.conf
[confgen]
# Set this value to 'true' if you want Boxtron to re-create DOSBox
# configuration on every run.
force = false

[midi]
# You can disable MIDI support here.
enable = true

# Select preferred software synthesiser here.
# Can be either 'timidity' or 'fluidsynth'
synthesiser = timidity

# You can name your preferred MIDI synthesiser here to override the one
# picked by default. If not found then software synthesiser will be
# started as a fallback.
#
# Value is treated as a regular expression using Python syntax, matched
# against the name of a MIDI client (case-insensitive); to list MIDI clients
# connected, use: $ aconnect -l
#
# For example, to match client named 'CASIO USB-MIDI', you can use
# value 'casio'.
#
# You can override this per-game with BOXTRON_USE_MIDI_SEQ environment variable.
#
# use_sequencer =

# Boxtron will look for a soundfont in following directories:
# /usr/share/soundfonts/
# /usr/share/sounds/sf2/
# /usr/local/share/soundfonts/
# /usr/local/share/sounds/sf2/
# ~/.local/share/sounds/sf2/  (or wherever XDG_DATA_HOME points)
# ~/.local/share/soundfonts/  (or wherever XDG_DATA_HOME points)
soundfont = FluidR3_GM.sf2

[dosbox]
# Available modes:
# - screen 0, screen 1, etc:
#   The game will use fullscreen on selected screen, without changing
#   the native resolution of your display.  Mouse will be locked to the screen.
#   Default is 'screen 0', which is your primary display.
#   You can override this selection per-game with BOXTRON_SCREEN environment
#   variable, e.g: 'BOXTRON_SCREEN=2 %command%'
# - desktop:
#   The whole desktop area will be used (all displays) with the game centred,
#   the native resolution of your displays will be preserved.
# - disabled:
#   Start DOSBox in windowed modeby default.
fullscreenmode = screen 0

# Pick the default scaler, that you want to use for all games.
# You can override selection per-game by changing option render.scaler in file
# boxtron_<appid>_<id>.conf in game's installation dir.
# Here's comparison of different scalers: https://www.dosbox.com/wiki/Scaler
scaler = normal3x

# Uncomment following line to specify a different DOSBox build:
# cmd = ~/projects/dosbox/src/dosbox
cmd = flatpak run --filesystem=%install_dir% com.dosbox_x.DOSBox-X

X-COM: Terror From the Deep (7650)

Compatibility Report

System Information

  • Linux distribution: Fedora 29
  • Kernel: 5.0.16-200.fc29.x86_64
  • Desktop: Gnome
  • DOSBox: 0.74-2

Report

  • The game runs out of the box: Yes

Configuration changes

By default the game runs too fast, making it hard to navigate Geoscape or scroll on tactical map. After changing music to MIDI game works slower for me - just fine. To fix Geoscape when MIDI was off, I changed cpu.cycles (value fixed 90000 seems to be sweet spot for me). To fix tactical map in-game: when on tactical map press '?' button and set "Scroll speed" to "1".

Report

When in fullscreen, the mouse cursor occasionally stops working when reaching top edge of the screen. [edit] This happens only when starting game through Steam on Gnome, tracked in #7. Problem disappeared in Gnome 3.32

Steamplay/Proton not updating while Boxtron is installed

Not sure if this requires a change in boxtron to resolve, or if this issue just needs a documentation update to warn/notify users.

But I have found on several systems over the last 6-8 months that new versions of Steamplay/Proton do no appear in Steam compatibility section while Boxtron is installed.
I use Boxtron installed for a single user on Ubuntu (various versions, recently 19.10).

As a workaround I have found that simply removing Boxtron from the compatability folder while steam is closed, then opening steam is enough to allow Steamplay/Proton to update. Example:
'mv ~/.steam/root/compatibilitytools.d/boxtron ~/'

Then once updated I can re-add Boxtron and it continues to work fine. Example (after above):
'mv ~/boxtron ~/.steam/root/compatibilitytools.d/'

Instructions to test dosbox-stagging are wrong

The latest release note says:

To accompany this Boxtron release, I prepared an experimental DOSBox build from the dosbox-staging repo. To test it, download the package, unpack it somewhere and configure Boxtron to use it by changing/adding following line in your ~/.config/boxtron.conf:

cmd = ~/<your-path>/dosbox-staging/dosbox

However, if you create your boxtron.conf file with only that line, boxtron will fail to parse it. You need to use:

[dosbox]
cmd = ~/<your-path>/dosbox-staging/dosbox

Star Wars Dark Forces (32400) overwriting JEDI.CFG when launched with boxtron, breaking the dehacker mod.

I've now extensively tested this with boxtron / dosbox / dosbox-x. Within dosbox-x and dosbox, I can run the DFORCEDH.EXE program, and set the mouse control, save and exit, and then launch DARK.EXE and have a crosshair and can look up / down.

On the other hand, if I then try to launch (from the same Game directory as the Steam install) with Boxtron, it stomps over whatever change there is, and breaks mouse look. Though somehow the crosshair hack remains.

With copying out boxtron's configuration and tweaking it so it first launches DFORCEDH.EXE in case I broke it by playing through Steam, then it will launch DARK.EXE with the patch.

So included is the script, config file, the dehacker utility, and the config file used (mostly the same as the one generated by boxtron, but copied the mount and run commands over).
SWDF.zip

Blood: One Unit Whole Blood (Steam 299030)

Compatibility Report

System Information

  • Linux distribution: Mint 19.2
  • Kernel: 4.15.0-64
  • Desktop: Cinnamon
  • DOSBox: 0.74

Report

  • The game runs out of the box: No

Report

-Tried to launch the game using boxtron, the game display a low memory warning than crash after press any key.

Duke Nukem 2 does not run

I spent a bit of time trying to track down why Duke Nukem 2 won't launch, and I think it's breaking in DosboxConfiguration.__init__() as self.file_tree.get_posix_path(win_path) returns None.

The directory structure of the game is a bit odd. It seems to be executed like this:

$ cat Duke\ Nukem\ 2.bat
@echo off
cd "dosbox"
start dosbox -conf "..\NUKEM2.conf" -noconsole -c
exit

The directory is actually Dosbox and the config is actually ../Nukem2.conf so there will be case issues to deal with. However, the dosbox configuration file also has relative paths. eg. in the [autoexec] section:

@echo off
Mount C ".."
C:
cls
Nukem2.exe
exit

The stderr output is:

run_dosbox: generating steam_dos_240180_3eabc2.conf based on ['-conf', '..\\NUKEM2.conf', '-noconsole', '-c']

It seems to just die at that point due to the path issue.

Cosmo's Cosmic Adventure (Steam 358250)

Compatibility Report

System Information

  • Linux distribution: Ubuntu 20.04
  • Kernel: 5.4.0-121-generic
  • Desktop: Gnome
  • DOSBox: DOSBox version 0.74-3

Report

  • The game runs out of the box: Yes

Configuration changes

None

Report

Cosmo is a bit of an odd game, in that the Steam "game" is three games or three parts. There is then a Dosbox .conf file that, among other things, creates a menu where you choose between the parts. Prior to using your great tool, I would go into the game folder and just type dosbox COSMO1.EXE for the first part, dosbox COSMO2.EXE etc, then pressing Alt+Enter to make it fullscreen. I use it with a Logitech Cordless Rumblepad 2. To do that in Cosmo, there is a menu where you press "G" to reconfigure the game, then "J" to set up the joystick and have to do the "top-left, button, bottom-right, button" routine, then play and it all works brilliantly. The one joystick annoyance I normally have is that there are pop-up windows when you hit a "hint globe" that you have to push any key on the keyboard to get rid of, but nothing on the controller will get rid of them. I give all that detail because the controller is not working the same way with your tool. I also have had no issues with the controller and other Steam games.

  • The game loads up as you would expect. On first load it did not play any music for me, only sound effects, but for subsequent loads it seemed to work fine. I reinstalled and the same thing happened. But then I deleted the folder completely and reinstalled again and this time it worked.
  • The main issue I have is that the controller is not working properly, in that it is like I'm using a joystick that is incorrectly calibrated to make me keep walking to the right. You can make it go other directions and use the buttons etc, but if you let go the character continually moves in that direction. I tried deleting the [joystick] section of the Cosmo.conf, but it did not seem to help.

I played the first level through with the keyboard with absolutely no issues, so aside from the joystick thing, all seems perfect.

The dosbox conf file used (Cosmo.conf) is:
Cosmo_conf.txt

It's called with:
start dosbox -conf "..\COSMO.conf" -noconsole -c

It is only £0.79 at the moment, so if any of the devs, particularly one with a controller with joysticks, would like to have a go, I would happily buy and gift a copy (with no obligations that you make it work any better than it does now).

Support auto-download of game resources

For downloading official patches or mods that bring back vanilla DOS support to the game user already owns.

First game that needs it is Fallout 1, as DOS support is included in official DOS patch, but not in Steam version out of the box.

boxtron's displayed proton version according to steam config files.

i noticed boxtron is identified by steam as being Proton 4.2

if we look at the file

/home/$USER/.steam/steam/SteamApps/compatdata/2300/version

its identified as

4.2-2

but if we look at

/home/$USER/.steam/steam/logs/compat_log.txt

it is properly identified as

Mapping AppID 2300 to tool boxtron with priority 250

by comparison, proton-GE is recognized correctly
for example:

5.9-GE-5

is this just a limitation of steam or is boxtron compatibilitytools.d somehow marking this information?

is it possible to set this information to be unique for boxtron?

i dont fully understand how steam stores which proton version is selected, so i might just be looking at useless information as a whole.

Steam Overlay causes graphical glitches

This is not a bug in steam-dos, this issue exists to track bug status in DOSBox upstream. I will close this issue as soon as fixed DOSBox version will be released.

Black bars surrounding the game screen do not refresh - causing Steam's FPS counter and Overlay to leave annoying glitches. You can see them here in top-right and bottom-right corner:

2019-06-06-140145_1366x768_scrot

This issue is a bug in DOSBox 0.74-2 (current version), and is fixed in DOSBox 0.74-3 (SVN, r4229).

To test it, you can use the latest version of steam-dos (>= 0.3.0), compile the latest DOSBox from SVN (link) and override version used by steam-dos in the settings file (~/.config/steam-dos.conf):

[dosbox]
bin = ~/path-to-dosbox-svn-source-code/dosbox-code-0/src/dosbox

Star Wars: Dark Forces (Steam ID: 32400)

Compatibility Report

System Information

  • Linux distribution: Mint 19.3
  • Kernel: 5.3.0-45-generic
  • Desktop: Cinnamon
  • DOSBox: 0.74-4.3

Report

  • The game runs out of the box: Yes

Configuration changes

None

Report

Game runs well, but no background music plays. Can get background music using proton to run the Windows version of dosbox, but this results in frame rate issues that make it unplayable - these issues are completely solved running through boxtron.

Is there enough crossover between Windows and Linux versions of dosbox that I could find whatever configuration is made on packaged Windows version and copy it over to the dosbox being used through this? If so, where should I look for the relevant config info?

Installation on SteamOS via flatpak is broken

That's because SteamOS has steam installed natively (not via flatpak), and Boxtron flatpak package works only with Steam installed via flatpak.

I think two fixes are needed:

  1. Proper installation guide for SteamOS or SteamDeck users.
  2. Investigate if we can fix flatpak package to work with native Steam (or maybe create a separate package for SteamOS)

(1) is fairly trivial, (2) is not. I will start with (1).

Wolfenstein 3d (2270)

Compatibility Report

System Information

  • Linux distribution: ubuntu 20.04.3 lts
  • Kernel: 5.15
  • Desktop: gnome
  • DOSBox: 0.74-3

Report

  • The game runs out of the box:
    No

Configuration changes

Report

get an error that says it is not recognized as dosbox compatible

reporting whitelist candidates

Did not see any whitelist, are reports needed?
I tested:
HeXen: Beyond Heretic (2360)
HeXen: Deathkings of the Dark Citadel (2370)
Heretic: Shadow of the Serpent Riders (2390)
they all work with no issues with steam-dos 0.2.1 with overlay disabled
with overlay enabled on wide screen (16:9) there are blinking steam pop ups in right bottom corner

Doesn't work with dosbox-staging from Snap store

I tried to run Tomb Raider I with Boxtron using the dosbox-staging available as a Snap (I'm using Ubuntu 20.10) but doesn't work. Even if I change dosbox.cmd the dosbox-stagin is executed, but not the game.

Pass through DOSBox config params

I want to use my own render settings for all games but I don't see a way to do that aside from editing each game's config manually.

Doom 2 (2300)

Compatibility Report

System Information

  • Linux distribution: Solus 4
  • Kernel: 5.2.20-130.current
  • Desktop: Budgie
  • DOSBox: 0.7.4-3

Report

  • The game runs out of the box: Yes

Configuration changes

use_sequencer ='um'
use_sequencer ='um-one'
use_sequencer ='um-one midi 1'
use_sequencer ='UM'
use_sequencer ='UM-ONE'
use_sequencer ='UM-ONE MIDI !'
use_sequencer ="um"
use_sequencer ="um-one"
use_sequencer ="um-one midi 1"
use_sequencer ="UM"
use_sequencer ="UM-ONE"
use_sequencer ="UM-ONE MIDI !"

Report

  • The game does not work with my MIDI hardware. I have a Roland Sound Canvas SC-55 connected via USB through a Roland UM-ONE USB MIDI adaptor. I can play MIDI files through aplaymidi perfectly. I've tried editing the boxtron.conf file (tried every permutation I can think of to describe my MIDI adaptor) as well as using environment variables in Steam. No effect at all. All I get is OPL emulation.

Boxtron ignores / overrides various options

I can't seem to be able to disable aspect correction or change the sound sample rate. Setting the corresponding options to desired values in both the "original" windows config file for the game and the boxtron_gameid_hash.conf has no effect, boxtron_auto.conf always ends up containing aspect=true.

Ability to play native Linux versions besides DOSBox

Some games come as Linux native + dosbox "Classic" version, e.g. https://steamdb.info/app/225140/info/ We would like to maintain original Linux version running besides native dosbox.

There's no good way to address it directly in steam-dos (as static "from_os" field points to Windows), but there might be a workarounds; out of the top of my head I can think of two:

  • separate build that focuses on linux->linux
  • downloading from linux depots using same mechanism steam-cmd uses

FAIL: test_verify_preconfig

Attempting to build using aur/boxtron and aur/boxtron-git.

FAIL: test_verify_preconfig (test_preconfig.TestPreconfig.test_verify_preconfig)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/main-builder/pkgwork/src/boxtron/tests/test_preconfig.py", line 44, in test_verify_preconfig
    self.assertEqual(preconfig.CHECKSUM, preconfig.__checksum__())
AssertionError: 'c0452d6addcde172b71cac7b339e074f5f13a7ad83f2ee4736d47025dcbc760e' != '17bf9cedc6e694983eb2a49c2add264b0e84c4efd3b1fba307cfcab5e21843e5'
- c0452d6addcde172b71cac7b339e074f5f13a7ad83f2ee4736d47025dcbc760e
+ 17bf9cedc6e694983eb2a49c2add264b0e84c4efd3b1fba307cfcab5e21843e5

The Apogee Throwback Pack (238050)

Compatibility Report

System Information

  • Linux distribution: Arch Linux
  • Kernel: 5.1.15-zen1-1-zen
  • Desktop: i3
  • DOSBox: 0.74-3

Report

  • The game runs out of the box: No

Configuration changes

None.

Report

This pack of games has a launcher like the Sierra games do. It doesn't work with Proton or steam-dos.

https://steamdb.info/depot/238051/

Here's the contents of 'GamePaths.txt, the file that the launcher uses to detect games.

// This file stores the execution paths to the four games included in the throwback pack.
// Please backup this file before attempting to make alterations! Alterations is at your own risk.

// HOW TO USE:
// The four game names in front of the equals sign indicates the game.
// The path after it indicates the path to the games executable RELATIVE to the ThrowBackLauncher's location.
// If for example you had WinROTT and would like to use that instead of the Rise of the Triad included in the pack you would do the following:
// -Put the WinROTT folder in the same directory as the other game's folders.
// If we assume WinROTT's folder is named "WinROTT" and it's executable file is "WinROTT.exe", you would change the RiseOfTheTriad line in this file to be:
// RiseOfTheTriad=WinROTT\WinROTT.exe

// That's it. From then on, selecting Rise of the Triad in the launcher and clicking the "launch this game" button will now launch WinROTT.

// The original paths:
// RiseOfTheTriad=Rise of the Triad.bat
// RiseOfTheTriadExtreme=Extreme ROTT.bat
// BlakeStoneAliensOfGold=Aliens of gold.bat
// BlakeStonePlanetStrike=Planet Strike.bat

// The game executable paths

RiseOfTheTriad=Rise of the Triad.bat
RiseOfTheTriadExtreme=Extreme ROTT.bat
BlakeStoneAliensOfGold=Aliens of gold.bat
BlakeStonePlanetStrike=Planet Strike.bat

Here's the contents of 'Rise of the Triad.bat'

@echo off
cd dosbox
dosbox.exe -conf "ROTT.conf" -noconsole -c
exit

If you need any more information from game files let me know.

Super 3-D Noah's Ark (371180)

Compatibility Report

https://store.steampowered.com/app/371180
https://www.protondb.com/app/371180

System Information

  • Linux distribution: Arch
  • Kernel: 5.1.14-zen1-2-zen
  • Desktop: i3
  • DOSBox: version 0.74-2

Report

  • The game runs out of the box: No

Configuration changes

n/a

Report

This game is a special case. It has a native Linux version, but also includes the original DOS version as well. This file is called 'noah3dos.exe' in the game's directory which can easily be run with DOSBox directly, but steam-dos doesn't seem to know how to handle it.

[Feature Request] Pre-configure keyboard controls

This is a follow-up issue to for feature request from Discord; @microsofttakeover

Not for all games as it could result in confusion for people accustomed to old, default controls - but specifically for FPS games this would be a very welcome addition.

Some FPS titles already come preconfigured with modern control schemes (e.g. Doom), but many don't (e.g. HeXen, Heretic).

For some titles I will refuse to implement this, even when it's technically easy and possible (I suspect Descent might be one of such games).

When possible, this should be achieved through editing user configuration (on first run only) - using similar mechanism as midi_on/midi_off. For some games, we might need to provide custom dosbox keyboard mappers (I think e.g. for Wolfenstein 3D - which requires 2 keys pressed to strafe).

I suggest following scheme:

  • movement: WSAD - (where A, D means strafing, like in modern games)
  • crouching: C (or left Ctrl?) -- I don't know which one is preferable; personally I prefer C
  • jumping: space -- I don't use space for jumping personally, but it IS a default in modern games
  • interaction: E (or space, if not already taken by jump)

Timidity does not work with Boxtron on NixOS

Posting an issue in relation to our discussion in Discord,

$ timidity -iA
Requested buffer size 32768, fragment size 8192
ALSA pcm 'default' set buffer size 32768, period size 8192 bytes
TiMidity starting in ALSA server mode
ALSA lib seq_hw.c:466:(snd_seq_hw_open) open /dev/snd/seq failed: Permission denied
error in snd_seq_open

Add non steam game to use with boxtron

I already have my own collection of Dos Games. Of course to try it with boxtron-steam setup I would have to add a game as a non-steam game. What syntax do I use for the .desktop file so a game can be used with boxtron? my desktop files when attempting to load with boxtron just complain that a dosbox compatible game is not detected.

Thank-you!

Mouse stops working when touching top edge of the screen in fullscreen

This is not a bug in steam-dos, this issue exists to track down which software is responsible and track the fix.

This is annoying issue, that I experience in practically any DOSBox game (when using steam-dos or just native dosbox through Steam) and also in some other games (OpenTTD - only when started through Steam).

To reproduce this bug:

Start a game using dosbox with following options:

[sdl]
fullscreen=true
fullresolution=desktop
output=opengl

(these are defaults for steam-dos)

After the game starts, keep moving mouse towards top-left corner of the screen. At some point cursor will "bounce back" and top side of the screen won't be reachable any more. In FPS games (e.g. Doom) the mouse will simply stop working until you move the mouse significantly towards lower edge of the screen.

This makes DOS games rather unplayable (in action games your controls occasionally don't work, in strategy games parts of UI are unreachable).

Initially I thought it was a DOSBox bug or perhaps SDL bug (because I could reproduce it in OpenTTD), but it doesn't seem to be the case.

I can reproduce this bug in:

  • Steam on Gnome 3.30.2 shipped with Fedora 29 (using Xorg)
  • Steam on Gnome 3.30.2 shipped with Fedora 29 (using Wayland, although it's harder to reproduce)

I tried and cannot reproduce it in:

  • Running the same games outside of Steam on Gnome
  • Steam on Cinnamon (so that rules out a bug in mutter, I guess)
  • Steam on KDE (even when I explicitly enabled KDE expose in top-left corner)

Enabling/disabling Steam Overlay does not affect the outcome.

installing the tool

Hello!
Thanks for putting this together!
On Ubuntu 19.04 (unfortunately I do not remember how I installed Steam) I do not have ~/.local/share/Steam/compatibilitytools.d/
Creating it and installing steam-dos there, then running Steam did nothing.
Installing to ~/.steam/root/compatibilitytools.d/ as recommended in Proton readme also did nothing.
So I ended up installing it to my library folder where all Proton versions are: /mnt/Data/SteamUbuntu/steamapps/common/steam-dos-0.1 and now I can select DOSBox (native) in drop down menu.
However, it does not appear to be working.
How can I troubleshoot? I even tried to add

    '2300': {
        'args': ['base/DOOM2.EXE', '-conf base/doom2.conf', '-fullscreen', '-exit'],
    },

to TWEAKS_DB so it would look a bit like doom2.bat:

.\base\dosbox -conf .\base\doom2.conf -fullscreen -exit
exit

Make it clearer people should try both compatibilitytools.d directories

Hello,

Great tool.

I just had a bit of stumble trying to make this work for the first time as a new user. The instructions say:
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 -

I am using Ubuntu 20.04 and neither of these directories existed for me. I therefore created ~/.local/share/Steam/compatibilitytools.d/, put the tool in there and was surprised nothing happened. It was actually only when I searched around and read issue #1 that I thought to try the other install directory -- I had mistakenly understood that either should work and that using the first of the two would be fine.

Maybe it was just me being silly, but in case others make the same mistake perhaps you could rephrase "(create one if it does not exist)" to "(create one if it does not exist -- you may have to try both to see which works for you)" or something?

Thanks again.

Descent 2 (273580)

Compatibility Report

System Information

  • DOSBox: 0.74-3

Report

Note: use development version of steam-dos from master branch

The game does not load for a stupid reason: paths in .CUE file included with the game are supposed to be relative to the DOS directory (and that's why you are "supposed to" mount C drive and change directory to e.g. C:\ before invoking imgmount inside DOSBox), which would imply that those paths are case-insensitive.

In reality in DOSBox those paths are relative to DOS directory, but paths are case sensitive, as on Linux host.

There are 4 ways to fix/workaround this:

  • Improve .cue handling in SDL_Sound 1.2 (not even sure if this is possible at this point - does SDL 1.2 still receive feature updates or is it in hard maintenance mode?)
  • Improve .cue handling in relevant SDL2 library and port DOSBox to SDL2 (dosbox patches to use SDL2 are waiting for inclusion for yeaars… TODO link to discussion on Vogons forum)
  • Implement a fix in DOSBox (I expect it to be refused by upstream)
  • Introspect into .cue files and fix paths inside in steam-dos. This is the fastest option to implement, but maybe not the best one.

Not sure which path to pursue at this point.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.