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. Currently, Bochs can be compiled to emulate a 386, 486,
Pentium, Pentium Pro or x86-64 CPU, including optional MMX,
SSE/SSE2/SSE3 and 3DNow! instructions. Bochs is capable of running
most Operating Systems inside the emulation including Linux, DOS,
Windows 95/98 and Windows NT/2000/XP.
Bochs has some dependencies for the display options: SDL, libsvga,
wxWidgets (any of three versions [GTK, Motif, X11] run very well),
but they are not necessary at all (because autodetection runs very
well). The only one really needed is Xlib.