DOSBox Staging is a modern continuation of DOSBox with advanced features and current development practices. https://www.dosbox-staging.org/
  • C++ 87.8%
  • C 9.3%
  • GLSL 0.6%
  • HTML 0.5%
  • Python 0.4%
  • Other 1.2%
Find a file
2026-06-03 22:48:48 +10:00
.claude/rules build: Upgrade to C++23 and fix compatibility issues 2026-05-17 20:57:15 -05:00
.github docs: Document CI workflows and caching strategy 2026-06-03 22:48:48 +10:00
cmake build: Kill the Meson build system with fire 🔥🔥🔥 2026-05-29 22:24:50 +10:00
docs docs: Update CONTRIBUTING.md 2026-06-02 09:11:49 +10:00
extras ci: Upgrade Linux CI to Ubuntu 24.04 with GCC 13/14/15 and Clang 2026-06-01 18:52:09 +10:00
licenses Move Unicode license to a standard location 2025-07-31 19:23:40 +00:00
resources Restore ClampToEdge texture wrap mode for the dedithering shader passes 2026-05-31 12:22:36 +10:00
scripts build: Kill the Meson build system with fire 🔥🔥🔥 2026-05-29 22:24:50 +10:00
src Remove stray OPL3_ProcessSlotMaybeInline 2026-06-02 11:39:34 +10:00
tests Add wrap_modeN shader pragma 2026-05-31 12:22:36 +10:00
vcpkg-ports Fix libsystemd compilation error on newer Clang versions 2026-04-04 08:15:28 -05:00
vcpkg-triplets build: Use static vcpkg libraries on Windows 2026-05-14 22:14:51 +10:00
website docs: Improve SB & GUS sections 2026-05-26 01:28:41 +10:00
.clang-format build: Upgrade to C++23 and fix compatibility issues 2026-05-17 20:57:15 -05:00
.clang-tidy Create .clang-tidy 2024-02-28 13:16:55 +10:00
.gitattributes Cleanup .gitattributes usage 2025-09-29 17:33:00 +00:00
.gitignore Update gitignore 2026-05-30 00:37:16 +10:00
.lsan-suppress Improve use of GCC sanitizers in CI runs (#811) 2021-01-10 18:56:31 -08:00
.mdl-styles ci: Adjust Markdown linter style 2026-04-16 10:02:17 +10:00
.muon.ini Check function presence before enabling loguru stacktraces 2023-12-04 01:08:23 -08:00
.pylint Adjust pylint rules 2026-04-23 10:56:00 +10:00
CMakeLists.txt build: Remove C_CORE* macOS specific flags 2026-05-21 23:04:40 +10:00
CMakePresets.json Enable Xcode compilation caching 2026-05-30 20:19:47 -05:00
LICENSE docs: Fix vendored library license list 2026-05-18 15:11:38 +10:00
README.md build: Kill the Meson build system with fire 🔥🔥🔥 2026-05-29 22:24:50 +10:00
vcpkg-configuration.json build: Add custom triplets for macOS 2026-01-11 12:10:46 +10:00
vcpkg.json Bump project version to 0.84.0-alpha 2026-05-18 15:31:52 +10:00

DOSBox Staging

GPL-2.0-or-later Chat

DOSBox Staging is a modern continuation of DOSBox with advanced features and current development practices.

It is a (mostly) drop-in replacement for older DOSBox versions—your existing configurations will continue to work, and you will have access to many advanced features.

For a detailed description of the project's scope please refer to the About page on our website.

Donations

If you enjoy using DOSBox Staging, please consider a donation to the project.

If you want to help but can't afford a donation, check out the Get involved page of our website for other ways to contribute.

Project website

https://www.dosbox-staging.org/

First-time users and people migrating from other DOSBox variants should start by reading the Getting started guide.

Build status

Windows (VisualStudio) build status macOS build status Linux x86_64 build status

Stable release builds

Regular users should use our stable release builds available on our project website:

Development builds

Development builds are automatically created on every commit merged to the main branch. You need to be logged in to GitHub to download the development builds.

Development builds

Key features for developers

Feature Status
Version control Git
Language C++23
Logging Loguru for C++3
Build system CMake + Ninja or Visual Studio 2022
Dependency manager vcpkg
CI Yes
Static analysis Yes1,2
Dynamic analysis Yes
clang-format Yes
Development builds Yes
Unit tests Yes4

Source code analysis tools

Dependencies

DOSBox Staging has the following library dependencies:

Dependency Provides feature vcpkg package name vcpkg version Optional?
FluidSynth General MIDI playback fluidsynth 2.5.1 no 🔴
GoogleTest Unit testing (development) gtest 1.70.0#2 yes 🟢
IIR Audio filtering iir1 1.10.0 no 🔴
libmt32emu Roland MT-32 and CM-32L emulation libmt32emu 2.7.1 yes 🟢
libpng PNG encoding of screen captures libpng 1.6.53 no 🔴
libslirp General purpose TCP-IP emulator libslirp 4.9.0 yes 🟢
Opus File CD Audio playback for Opus-encoded audio tracks opusfile 0.12+20221121#1 no 🔴
SDL 2 OS-agnostic API for video, audio, and eventing sdl2 2.32.10 (overlay) no 🔴
SDL_image 2 Image decoding for many popular formats sdl2-image 2.8.8#2 no 🔴
Asio Network API for emulated serial and IPX asio 1.30.2 no 🔴
SpeexDSP Audio resampling speexdsp 1.2.1#1 no 🔴
zlib-ng ZMBV video capture zlib-ng 2.3.2 yes¹ 🟢

¹ You can use plain old zlib instead.

Dynamically loaded dependencies

Slirp is built separately as a dynamic library (via vcpkg) and is loaded on-demand at runtime if available. Please refer to the dosbox-staging-ext project for further details. To check the version of this dependency included in our stable and dev build packages, check out the comments of the releases packages of the dosbox-staging-ext project.

For information on the optional Nuked SC-55 CLAP audio plugin, check out the plugin's GitHub repository (note Nuked SC-55 CLAP is not a DOSBox Staging project).

Build instructions

Please refer to the platform specific build instructions:

Imported branches, community patches, old forks

Upstream commits are imported to this repo in a timely manner, see branch svn/trunk.

  • svn/* - branches from SVN
  • forks/* - code for various abandoned DOSBox forks
  • vogons/* - community patches posted on the Vogons forum

Git tags matching pattern svn/* are pointing to the commits referenced by SVN "tag" paths at the time of creation.

Additionally, we attach some optional metadata to the commits in the form of Git notes. To fetch them, run:

git fetch origin "refs/notes/*:refs/notes/*"

Website & documentation

Please refer to the documentation guide before making changes to the website or the documentation.