Confused on Steam Play and Proton? Be sure to check out our guide.
DosBox with Steam overlay and streaming fix
MagicMyth Oct 2, 2017
Hi all,

Hopping to drum up some testing for a patch I made for a DosBox port that fixes Steam's overlay not working reliably and hanging when used with a DosBox wrapped game.

The source code can be found at: https://github.com/magicmyth/dosbox/tree/force-frame-update

Basically the issue with Dosbox is that the old DOS games themselves were very optimised and only rendered changes to the screen. Dosbox by extension does the same. However Steam overlay (and somewhat the Steam streaming to the Link) requires regular rendering to work properly. So I hacked in support for the OpenGL renderer to be able to force a minimum refresh of frames when they are not changing often enough.

Most of the work for getting Dosbox working better on modern Linux goes to duganchen for his SDL fork. I choose that fork because the fullscreen scaling worked most reliably.

I've uploaded a Ubuntu 16.04 build for testing at: https://drive.google.com/open?id=0B4dD2fOx1XJyWUhBU2FZRWlVUDA

If you have a GOG Dosbox game you can simply backup its dosbox folder, place the extracted dosbox folder from that download in its place, then make the following adjustments to the games dosbox conf file:

[sdl]
...
fullresolution=desktop
output=openglnb
...

[render]
# Force minimum regular frame updates to fix overlay.
forceframeupdate=true 


The forceframeupdate option is what makes the difference. You can change that to a number in milliseconds. It defaults to 100 (milliseconds) which will be equivalent to about 10fps which I found to be the minimum needed to get Steam's overlay to work reliably. I found with Dark Forces setting that to 40 really made the game stream beautifully.

NOTE if you get delays starting that Dosbox build due to it probing for Jack. Either configure your conf to us Fuidsynth or set the mididevice to none. Further details on the build are included with that archive.

The best thing about Dugan's port is that it allows for custom shaders:
https://github.com/duganchen/dosbox_shaders
Using CRT-Hyllian-3D my 40" LCD never looked so beautifully retro :D
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register


Or login with...
Sign in with Steam Sign in with Google
Social logins require cookies to stay logged in.