The Bochs IA-32 Emulator Project unveiled a new version of the popular Bochs emulator to the public today, improving on the stability and ground breaking improvements of Bochs 1.2. Bochs 1.3 includes many major enhancements including a powerful menu-based configuration system and networking support for Linux and Windows NT/2000. Other additions in this release include support for ISO-format disk images, improved mouse performance, physical CD-ROM support for all versions of Windows, parallel port emulation, enhanced debugger, and many cpu and device model improvements. Bochs 1.3 also adds native support for Mac OS X and Amiga MorphOS, along with improved support for BeOS.
I know Bochs has improved a lot since a year or two ago in terms of features, but what about speed? Does anyone know if it has gotten any faster? Has that dynamic recompiliation thing ever been implemented?
The modifications to the mouse handling code will most likely do a significant difference if you run windows or other such heavily mouse oriented operating system.
Other than that, and maybe the new PIT model (was it already in 1.2?), I don’t see where performances were really worked on.
I think what Bochs is trying to do is get the emulator as stable and complete as possible first, then later on work on some speed improvement. If what you are seeking is raw speed, you might want to look at Plex86, it tries to execute as much code as possible using the real cpu and tries to emulate as few instructions as possible.
Dave, you’re right, ultimately plex will be signifigantly faster than bochs. However, at the moment you will actually have better success with bochs. The plex86 codebase is still very young and since Mandrake layed of Kevin Lawton progress has ground to a halt (though on a good note, Drew Northup has just taken leadership of the project, so development should resume soon!). Plex86 is a great project, but I just thought I’d mention the speed so no one gets their hopes up.
Couldn’t JIT (just-in-time) compilation work for a project like Bochs? There seems to be a lot of similarities between the Bochs emulator and a Java VM.
There are a few technics which would speed up Bochs.
1. Dynamic Recompiliation: Lotta work. Without it, PlayStation emulators would be slower than glaciers movement.
2. HLE (High Level Emulation): Very nice thing for console emulators, if you only want a few special games to work. Great speed, low compatibility – not suited for a PC emulator.
Plex has no windows port as yet, restricting its use and testing.
bochs will never be as fast as plex86. bochs is designed as an emulator, so you can run ia32 on any host machine (sparc, mac, etc). whereas plex86 is only for use on an x86 machine.
Using Bochs on my P233MMX… it is too slow to even use DOS. Another user I worked with made similar claims on his P2 400 (I think it was a 400). Bochs is a neat idea (which is why I try each release anyway), but it just seems too slow for any real use.
Jace,
an emulator, by DEFINITION, is 70 to 100 times SLOWER than the device it emulate. To use Bochs better, you will need at least 1 GHz machine. This is a fact, and not much can be done for it. It is a known fact.
And please, do NOT confuse VMWare with Bochs. VMWare is NOT an emulator, it is a *Runtime* of x86, which can run the OS software almost at native speed.
But VMWare is x86 specific. It cannot be ported to ANY other architecture, it runs on x86 for x86 OSes. It is a runtime.
Bochs can be ported everywhere and run x86 OSes to any OS or architecture is being ported to. It is an emulator.
Hence the difference in speed.
Bernd Korz and I chatted about this on BeShare the day he released his BeOS version 1.3. His machine isn’t 1 GHz, if I recall correctly. I’m aware of the difference between VMWare/Plex86 and Bochs
Curious question: why does an Amiga emulator run at tolerable speeds on my same system? Is emulating an x86 that much more processor intensive?
The key areas i think Bochs is lacking in is the graphical finish. The icons could be updated (they remind me of OS2 warp 1.0 icons), they could include a graphical debuger so i can step through the OS execution from boot and examin the registers, it could include graphical memory dump of physical memory etc… I know there is a front end that will do this for you, but it’s limited, only runs on X, and only works with 1.2. If they integrated some of these features and made the whole thing a little more polished i think the amout of operating systes that would be developed would increase at least 10 fold, just think of the learning opertunities here with a virtualized x86 pc that can be poked and proded by the developer. Just my 2 cents.
I wanted to play civ 3 and run decent versions of aim and icq, so I figure bochs wont do what I need.
Only problem is I’m running into trouble making an image file for plex86 to run windows. Can anybody email me and help me get it set up? Or are there any websites that have them? The bochs site only has images of free OS’s.
I wanted to play civ 3 and run decent versions of aim and icq, so I figure bochs wont do what I need.
Only problem is I’m running into trouble making an image file for plex86 to run windows. Can anybody email me and help me get it set up? Or are there any websites that have them? The bochs site only has images of free OS’s.
I tried wine but I kept getting errors while trying to create the config file.