Custom 86Box fork with VNC headless mode and monitor API
  • C 82%
  • C++ 17.2%
  • CMake 0.3%
  • HTML 0.2%
  • Shell 0.2%
Find a file
Quinn Ebert b841e15400
All checks were successful
Build and Release / macOS arm64, SDL GUI, Debug, NDR (push) Successful in 57s
Build and Release / macOS arm64, Qt GUI, Debug, NDR (push) Successful in 1m28s
Build and Release / macOS arm64, SDL GUI, Dev, NDR (push) Successful in 41s
Build and Release / macOS arm64, Qt GUI, Dev, NDR (push) Successful in 1m15s
Build and Release / Linux x86_64, SDL GUI, Debug, ODR (push) Successful in 3m33s
Build and Release / Linux x86_64, Qt GUI, Debug, ODR (push) Successful in 4m17s
Build and Release / Linux x86_64, SDL GUI, Debug, NDR (push) Successful in 4m39s
Build and Release / Linux x86_64, Qt GUI, Debug, NDR (push) Successful in 5m54s
Build and Release / Linux x86_64, Qt GUI, Dev, NDR (push) Successful in 3m51s
Build and Release / Linux x86_64, Qt GUI, Dev, ODR (push) Successful in 2m52s
Build and Release / Linux x86_64, SDL GUI, Dev, NDR (push) Successful in 3m24s
Build and Release / Linux x86_64, SDL GUI, Dev, ODR (push) Successful in 2m10s
Build and Release / Windows UCRT64, Qt 5 GUI, Debug, NDR (push) Successful in 13m10s
Build and Release / Windows UCRT64, Qt 5 GUI, Debug, ODR (push) Successful in 9m26s
Build and Release / Windows UCRT64, Qt 5 GUI, Dev, NDR (push) Successful in 10m22s
Build and Release / Windows UCRT64, Qt 5 GUI, Dev, ODR (push) Successful in 10m5s
Build and Release / Publish release artifacts (push) Successful in 8m44s
ci(forgejo): gate release on Windows so release sets are complete
Re-couple the release job to the windows job (needs: linux, macos,
windows). The release downloads sibling-job artifacts, so it must wait
for the (slower, self-hosted) Windows jobs to finish or it publishes a
Linux+macOS-only set -- which is what produced the Windows-less nightly
releases. `if: always()` still lets the release publish when a *build*
job fails; only a genuinely-absent Windows runner blocks it, and the
Toriel runner's boot auto-start + restart-on-failure now prevents that.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 09:09:49 -04:00
.ci Restore fork CI workflow 2026-05-18 08:48:17 -04:00
.github ci(forgejo): gate release on Windows so release sets are complete 2026-06-03 09:09:49 -04:00
cmake Set macOS deployment target to 11.0 for arm64 builds 2025-12-22 15:01:42 -05:00
debian Bump version to 6.0, I think we have accumulated enough features to warrant that. 2026-01-28 08:46:03 +01:00
doc/specifications Fix interepreted -> interpreted typo in unit-tester spec 2026-05-02 10:24:07 +02:00
floppysounds Floppy sounds: add simple FS-UAE-style SFX support using floppysounds assets; toggle in Settings → Floppy & CD-ROM; config persistence.\n\n- New mixer in sound pipeline; loads WAVs from floppysounds/.\n- Hooks motor/seek/insert/eject events.\n- UI: checkbox to enable/disable; saved to config.\n\nUI: Add ‘Send Function Key’ submenu with F1–F12 to inject scancodes (helps with OS-level F-key hotkeys). 2025-08-30 10:59:01 -04:00
scripts/macos Revert "ARM64 Voodoo recompiler by skiretic" 2026-03-08 16:07:57 +02:00
src turbo(audio): silence threshold + hysteresis so idle hiss doesn't pace 2026-06-02 14:58:23 -04:00
wl_protocols Implement keyboard grabbing for Wayland 2025-05-07 17:52:26 +06:00
.clang-format clang-format: Import latest rules for merge 2022-10-15 13:37:45 -03:00
.editorconfig Simplify EditorConfig, add .ui 2024-04-01 21:22:38 +05:00
.gitattributes Always keep our .github on merges (merge=ours) 2025-08-23 16:56:19 -04:00
.gitignore PR cleanup: drop local .gitignore changes 2026-04-29 17:12:23 -04:00
AUTHORS newlines at end of file 2022-02-18 21:38:51 -05:00
bumpversion.sh bumpversion: Fix romset version patching and rework patching function to allow for multiple files [skip ci] 2025-10-26 14:06:00 -03:00
CMakeLists.txt Merge remote-tracking branch 'upstream/master' [skip ci] 2026-05-18 08:30:19 -04:00
CMakePresets.json General changes from the obattler_202406 branch 2025-02-09 02:20:36 -05:00
CODE_OF_CONDUCT.md Update CODE_OF_CONDUCT.md 2026-01-31 21:45:34 +01:00
CONTRIBUTING.md Update CONTRIBUTING.md 2026-01-28 20:34:51 +01:00
COPYING Initial submission of the PCem-Experimental source code. 2016-06-26 00:34:39 +02:00
README-UNIX-MODE-WITH-OSD.txt changed hotkey to rightcontrol + F11, aligned README 2025-10-26 17:59:57 +01:00
README.md Update README.md 2026-04-03 16:22:23 +02:00
SECURITY.md Create SECURITY.md 2024-04-08 17:28:53 +02:00
sonar-project.properties Fix CodeQL Builds 2025-09-21 18:07:43 -04:00
vcpkg.json Bump version to 6.0, I think we have accumulated enough features to warrant that. 2026-01-28 08:46:03 +01:00

86Box

Build Status License Latest release Downloads Translation status

86Box is a low level x86 emulator that runs older operating systems and software designed for IBM PC systems and compatibles from 1981 through fairly recent system designs based on the PCI bus.

Features

  • Easy to use interface inspired by mainstream hypervisor software
  • Low level emulation of 8086-based processors up to the Mendocino-era Celeron with focus on accuracy
  • Great range of customizability of virtual machines
  • Many available systems, such as the very first IBM PC 5150 from 1981, or the more obscure IBM PS/2 line of systems based on the Micro Channel Architecture
  • Lots of supported peripherals including video adapters, sound cards, network adapters, hard disk controllers, and SCSI adapters
  • MIDI output to Windows built-in MIDI support, FluidSynth, or emulated Roland synthesizers
  • Supports running MS-DOS, older Windows versions, OS/2, many Linux distributions, or vintage systems such as BeOS or NEXTSTEP, and applications for these systems

Minimum system requirements and recommendations

  • Intel Core 2 or AMD Athlon 64 processor or newer
  • Windows version: Windows 7 Service Pack 1 or later
  • Linux version: Ubuntu 16.04, Debian 9.0 or other distributions from 2016 onwards
  • macOS version: macOS 10.14 Mojave or newer
  • 4 GB of RAM or higher

Performance may vary depending on host and guest configuration. Most emulation logic is executed in a single thread. Therefore, systems with greater IPC (instructions per clock) capacity should be able to emulate higher clock speeds.

For easier handling of multiple virtual machines, use a manager application:

To use 86Box on its own, use the --vmpath/-P command line option.

Getting started

See our documentation for an overview of the emulator's features and user interface.

Community

We operate an IRC channel and a Discord server for discussing 86Box, its development, and anything related to retro computing. We look forward to hearing from you!

Visit our IRC channel

Visit our Discord server

Forum: SoftHistory

Wiki: SoftHistory

Twitter: @86BoxEmulator

YouTube: 86Box

Contributions

We welcome all contributions to the project, as long as the contribution guidelines are followed.

Building

For instructions on how to build 86Box from source, see the build guide.

Licensing

86Box is released under the GNU General Public License, version 2 or later. For more information, see the COPYING file in the root of the repository.

The emulator can also optionally make use of munt, FluidSynth, Ghostscript and Discord Game SDK, which are distributed under their respective licenses.

Donations

We do not charge you for the emulator but donations are still welcome: https://paypal.me/86Box. You can also support the project on Patreon: https://www.patreon.com/86box.

Acknowledgments

Powered by

JetBrains logo.