Bochs

The Bochs Project · Bochs.Bochs

Cross Platform x86 Emulator Project

Bochs is a highly portable open source IA-32 (x86) PC emulator written in C++, that runs on most popular platforms. It includes emulation of the Intel x86 CPU, common I/O devices, and a custom BIOS. Bochs can be compiled to emulate many different x86 CPUs, from early 386 to the most recent x86-64 Intel and AMD processors which may even not reached the market yet. Bochs is capable of running most Operating Systems inside the emulation including Linux, DOS or Microsoft Windows. Bochs was originally written by Kevin Lawton and is currently maintained by this project. Bochs can be compiled and used in a variety of modes, some which are still in development. The 'typical' use of bochs is to provide complete x86 PC emulation, including the x86 processor, hardware devices, and memory. This allows you to run OS's and software within the emulator on your workstation, much like you have a machine inside of a machine. For instance, let's say your workstation is a Unix/X11 workstation, but you want to run Win'95 applications. Bochs will allow you to run Win 95 and associated software on your Unix/X11 workstation, displaying a window on your workstation, simulating a monitor on a PC.

winget install --id Bochs.Bochs --exact --source winget

Latest 3.0

Release Notes

Brief summary :

  • Include Bochs debugger support in all release binaries. Bochs internal debugger and Bochs GUI debugger are compiled in by default and there are no special Bochs binaries with internal debugger support anymore.
  • Integrated softfloat3e library replacing older softfloat2a fpu-emulation code
  • Bugfixes for CPU emulation correctness (critical bugfixes for VMX, WAITPKG, LASS, XSAVEC/XSAVES, CPUID and SHA1 ISA implementation)
  • Added emulation of missing AMD 3DNow! instructions
  • Implemented AVX512_FP16 Intel instruction set based on softfloat3e library (enabled in Xeon Sapphire Rapids CPU definition)
  • Implemented MONITORLESS MWAIT instructions support
  • Implemented initial support for AVX10_1 + AVX10_2 ISA extensions and AVX10 CPUID leaf 0x24 (AVX10_1 first to be enabled in Xeon Granite Rapids)
  • Implemented AMX-TF32 and AMX-AVX512 ISA extensions
  • Implemented RAO-INT ISA and MSR_IMM ISA extensions
  • CPUID: Added new CPU definitions: for i386, i486DX4, AMD Athlon XP and Intel Core i5 Arrow Lake CPUs
  • CPUID: Support for enabling/disabling of one or more CPU features from CPUID configuration (see "add_features" and "exclude_features" in bochsrc sample and documentation) ! CPUID: Old bx_generic CPUID model is deprecated with all associated .bochsrc CPUID configuration options, use pre-defined CPU models instead
  • Several fixes and improvements for the Cirrus and Voodoo emulation
  • USB: Added the USB Debugger support for xHCI and UHCI (Windows / GTK3)
  • Added USB boot option (requires i440fx.bin BIOS)
  • LGPL'd VGABIOS updated to version 0.9c (Cirrus / VBE fixes and extensions)
  • Added i440fx.bin BIOS written by Ben Lunt (https://github.com/fysnet/i440fx)
  • Documentation updates and fixes after transition to GIT

Installer type: nullsoft

Architecture Scope Download SHA256
x64 Download C75A74A2F58E2935B8F93339F798A2A0EF991D1D0579FED1CED407D9E855D9A7

Details

Homepage
https://bochs.sourceforge.io/getcurrent.html
License
LGPL-2.1
Publisher
The Bochs Project
Support
https://github.com/bochs-emu/Bochs/issues
Copyright
© 2001-2025 The Bochs Project.

Tags

emulatorvirtual-machinevirtualizationvirtualizervm