Slashdot Mirror


VMware vs Virtual PC vs Bochs

Sean writes "Possibly of great interest to developers as well as alternative OS users, this article compares three x86 emulators, VMWare, VirtualPC and Bochs. It looks like VMWare is better than the lot, but Bochs is shaping up nicely too."

24 of 204 comments (clear)

  1. Apples and oranges by AirLace · · Score: 3, Informative

    Bochs and VMWare are completely different animals. Comparing their relative performances is simply nonsensical. From the bochs site:

    Bochs is a highly portable free 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.

    On the other hand, VMWare is a virtual machine implementation. Whilst Bochs can mimic an Intel processor on any platform to which it's ported, VMWare depends on being able to pass machine code directly to the native CPU without interpreting it, and therefore its performace is pretty snappy.

    At least you can say appples and oranges are both round, but this 'review' takes the biscuit. Bochs will never "shape up nicely" in the way that the article expects it to because it's a fundamentally different piece of software to VMWare. Plex86 (formerly FreeMWare), founded by the lead developer of Bochs, would have been the Open Source analogy for VMWare, had its development not died off several months ago due to a terminal lack of developer interest.

    1. Re:Apples and oranges by dbarclay10 · · Score: 5, Informative

      At least you can say appples and oranges are both round, but this 'review' takes the biscuit. Bochs will never "shape up nicely" in the way that the article expects it to because it's a fundamentally different piece of software to VMWare. Plex86 [plex86.org] (formerly FreeMWare), founded by the lead developer of Bochs, would have been the Open Source analogy for VMWare, had its development not died off several months ago due to a terminal lack of developer interest.

      Excuse me? The review states *exactly* what you've stated. It's very clear about it. All over the place. Every third paragraph mentions that Bochs is meant for different uses, and is portable.

      Man, read the article before you go bashing authors. There are enough really *horrible* reviews out there that you should be expounding on the virtues of a half-decent one, not nit-picking non-existent flaws.

      --

      Barclay family motto:
      Aut agere aut mori.
      (Either action or death.)
    2. Re:Apples and oranges by nehril · · Score: 3, Funny

      You're absolutely correct. I can't believe he compared these products, they are completely unrelated. I mean really, VMWare lets you play with guest operating systems in a separate environment. And Bochs lets you play with guest operating systems in a separate environment.

      Two clearly different "beasts" that should never even be mentioned in the same sentence. And don't forget that Virtual PC (for x86) lets you play with guest operating systems in a separate environment, which is again another thing entirely.

      I can't understand why anyone would write a comparison detailing what each is best used for.

  2. Platform by SlamMan · · Score: 3, Interesting

    You'll note that he's using it on a dual celeron 533, which isn't exactally the speediest thing out there. Also, jsut to state the obvious, this means he's running this on x86, which isn't where most of VirtualPC's user base is.

    --
    Mod point free since 2001
  3. Re:Comparison to original OS? by tkrotchko · · Score: 4, Insightful

    It doesn't emulate an OS, it emulates an x86 PC.

    It acts like a...well, a virtual PC.

    --
    You were mistaken. Which is odd, since memory shouldn't be a problem for you
  4. A few things to note... by tkrotchko · · Score: 5, Informative

    I don't believe these emulators take advantage of multiple CPU's, so he is using effectively a 533mhz Celeron. That's a little slow for these emulators.

    He states that neither supports sound cards. This is not correct. VPC has the edge for this function in my opinion, although VMWare isn't bad.

    Here's what I've learned. Virtual PC is your best bet for running virual Windows based machines. It runs them very well. On the other hand, I can't get any distro of Linux to fully load under VPC. That's not saying you can't, but each one crashes or freezes at some point. The real strength of VPC is that it emulates known, common hardware, so it provides an easier environment to set up in the emulated machine.

    By contrast, VMWare is mediocre at providing an environment for Windows. It will do it, but the non-standard video card it emulates is a huge pain in the rear. However, VMWare runs Linux distro's pretty well. It emulates different types of hardware, and the options are impressive.

    I wouldn't rate one better than the other, they're both very good and some things, and very average to poor at others.

    However, you should buy one of these tools for testing out new software. You can load software inside the virtual machine, test it (for trojans, spyware, whatever), and then when you're done, you either blow the changes away or keep them in you virtual machine. The virutal disks themselves are disk files, so they provide an excellent testing environment because they are effectively immune from user changes to the environment (burn the hard drive image to a CD, and pass it out to the testers with VPC on their drive). It allows you to test on dozens of machines without owning dozens of machines.

    Its cool stuff.

    --
    You were mistaken. Which is odd, since memory shouldn't be a problem for you
    1. Re:A few things to note... by SlamMan · · Score: 3, Informative

      Another really sweetfeature of VPC is that you can have multiple image instances running at the same. Even better than that, is that you can network them together. I at one point had win200 running, and win 98, me, and 95 all up to check connectivity with it. Its a cool toy.

      --
      Mod point free since 2001
  5. How Correct by cscx · · Score: 3, Funny

    Yes, and this and this screenshot both exemplify the rocket-powered progress that plex86 has undergone, placing it well ahead of Bochs.

  6. Re:bochs vs plex86 by Daniel · · Score: 5, Informative

    I've heard this repeated several places, and I don't understand where people are getting it. In fact, plex86 is a dead (or rather dormant) project, while bochs is chugging along healthily.

    If you don't believe me, read the development mail archives for the month of May:

    bochs

    plex86

    Daniel

    --
    Hurry up and jump on the individualist bandwagon!
  7. VMWare tips by young-earth · · Score: 5, Informative

    If you're going to use VMWare (I do, have since 1.0, and it's great), here are some tips to keep in mind:

    - when asked about the graphics card during a Linux install, say SVGA generic, later on you'll upgrade it to the VMWare video card when you install the VMWare tools.

    - specify "Undoable" for your disk(s) if you ever want to run a bunch of odd tests, installing weird things for example, or trying a virus to see what it does, then just say "forget it" when you're done. If you're doing a virus test please do remember to turn off the network connection though...

    - If you've used VMWare 1.x or 2.x but not tried 3.x, it's a whole new world. The mouse responds like it's a real system - even on my slower machine (dual PII-400's). 3.0 is a major leap forward.

    - Have lots of memory in the host system, remember running two OS's means you'll be using a lot more RAM.

    - Sound is a weak point currently, you can get it pretty good but not great. Using the preempt kernel patch on 2.4.17 helps but isn't quite enough. Playing around with priorities helps too.

    1. Re:VMWare tips by BrookHarty · · Score: 3, Interesting

      If you have a fast enough cpu, a 2gh+ machine, sound works alot better. On my dual 800, sound was ok, but did skip. On my amd 1800, i can watch dvds, mp3s, and play mpegs with no sound or video skipping. I also used the newest emu10k1 drivers. Of course pre-empt and a gig of ram didnt hurt either. (-;

      Screenshot. http://www.ironwolve.com/desktop.jpg

      Only thing left is to get AA fonts working with IceWM, and the side buttons working on my explorer mouse.

      -
      cd /mnt/games/jediknight2; winex JEDIOUTCAST.EXE

  8. What happened to win4lin? by Leghk · · Score: 3, Interesting

    What happened to http://www.netraverse.com win4lin? I havn't used VMWare in about a year, but about a year ago I compared the usability of vmware and win4lin.

    Win4lin is quite impressive, and quite stable. Win4lin apparently took a number of "shortcuts" and broke some rules, which VMWare did not. Making VMWare's product more universal, and flexible. Win4lin *only* supports win98, and cannot boot any other operating system. Win4lin needs serious kernel patches aswell. VMWare can run under linux, and boot linux, win4lin cannot. VMWare is also available under windows.

    Although I generally tend to side with designs which are more flexible and portable, the performance and responsiveness of win4lin are quite impressive. As a user, win4lin has been what's been running on my desktop for over a year Weather win4lin will be able to "adapt" their product to run winXP or 2000, remains to be seen; I don't know how much they're tied directly to win98. I have recently heard that they have a version of of win4lin which can run WinME, which is very simular to win98.

  9. I've been using Virtual PC for a little while... by SIGFPE · · Score: 4, Informative
    ...on my MacOS X 550MHz G4 Powerbook.
    1. I've been playing DOS games (under PC-DOS). Settlers II and Ultima Underworld I/II play perfectly. Populous is unplayably fast. Tomb Raider was reasonably fast though it did keep stopping for a while every 10 seconds.
    2. Playing games under Windows 98 is tricky. Age of Empires II and Red Alert play. They're a little slow but not so slow you can't play.
    3. I installed Debian with no problem. In some tests the emulated X server is faster than the Native XDarwin. (I'm serious! XDarwin sucks and I guess the there's no reason for the emulated S3 card to be that slow.) Couldn't get networking to work. Did some numeric speed tests (eg. echo "2^100000"|time bc) and found the emulated machine to be half the speed of running natively. Really! That dynamic compilation stuff works well sometimes. XGalaga worked fine!
    4. Also tried FreeBSD (did an FTP install, flawless), Plan 9 (3 or 4 hours to install but it seemed to work) and MenuetOS (pretty nippy).
    with success.


    Goes to show you can emulate the hardware completely and still get good results. Bochs has a long way to go.

    --
    -- SIGFPE
  10. Scratching my itch by driehuis · · Score: 3, Informative

    Unfortunately, the quirks can be real show stoppers. VMware has the edge in that it actually is a useful environment if you have to occasionally use Windows, and need a bit of performance. As long as VMware sort of works under FreeBSD (yeah, I know, it's official and BSD is dying; nothing to see here, please move on), I'm happy with it.

    Bochs is pretty impressive in that it actually works and actually does useful things, but I wouldn't dream of using it for serious work as it stands now. It's just too slow, and plex86 is just too far out.

    I did work on Wine way back when and I still like its idea, but portability really is a huge issue.

    None of these emulators are at the point where I can start contributing anything useful. The gorgeous thing about Wine is that, once you get it to run at all, you can start addressing things that don't work for you, and work in that area can benefit all the emulators. As things stand now, you're pioneering to get any of them to run Solitaire under FreeBSD, and that just hurts too much to consider scratching.

    --

    Bert Driehuis -- All I asked was a friggin' rotatin' chair. Throw me a bone here, people.

  11. Incomplete emulation by Bryan+Ischo · · Score: 4, Informative

    One facet of these emulators that is of particular interest to developers, but not mentioned in the article, is the completeness of the emulation. Back when I was working on an OS, I found that there were some instructions that were incompletely/improperly emulated by bochs and plex86. This made it difficult to write some kinds of code.

    I am not sure how VMWare compares with regards to this. When I tried it it seemed to be alot more complete than bochs/plex86, but unfortunately it was missing the "console only" mode that plex86/bochs has.

    Also I corresponded with VMWare who was unwilling to guarantee that their cheaper "Linux guest only" version would be able to run a simple handcrafted OS. I decided that their much more expensive general version was not worth the price, and stuck with plex86/bochs, working around the improperly emulated, or non-emulated, instructions.

    I think it would be interesting to see a comparison of these emulators from a completeness standpoint, not just a performance standpoint. For an OS developer, the former is probably more important than the latter.

    In any case, an emulator is a godsend when you are writing OS code, because otherwise you have to reboot your machine and wait for it to POST each time you change you code rather than just simply firing off a much quicker and easier run of the emulator. Also, the emulators often print out useful messages when there is an unusual processor condition or a processor exception, which can be very helpful in tracking down the cause of lockups. Plex86 was particularly good in this regard at the time that I was using it.

    1. Re:Incomplete emulation by Permission+Denied · · Score: 3, Informative
      I think it would be interesting to see a comparison of these emulators from a completeness standpoint, not just a performance standpoint. For an OS developer, the former is probably more important than the latter.

      I wrote an OS kernel using VMWare. It's actually fairly nice (VMWare, not my kernel :).

      The way I worked it is that I wrote my own stupid little program to snarf the significant ELF sections from a Linux-Elf binary and stick them into a simplistic file format. I wanted to do this all by myself (that was the whole point of the thing), so I wrote my own bootloader in assembly (using nasm, a great tool) which would subsequently load up the image from floppy and jump into the C code. Pretty common stuff as far as I can tell. I got somewhat far along (started trying to figure out how to get the network card working - that would have been really interesting) before other projects caught my attention.

      It's a very nice environment. I don't know anything else about Bochs or Plex86, but VMWare has this thing where you can specify that the floppy device is actually a file. Greatly cuts down the time on the compile/assemble/boot cycle. One funny thing is that it would ask you to file a bug report whenever you managed to triple-fault (which happens a lot when you're just figuring out the nasty GDTs et al.).

      Another nice use for VMWare is setting up four FreeBSD virtual machines, each with 16M of memory and playing networking games (eg, try to write your own distributed filesystem) when you don't have access to private network (eg, on vacation with the laptop - no Internet connection, you get more work done).

      I'm very happy with VMWare. You should definitely try it out, especially if you can manage to get the educational discount.

  12. Dual 533 MHz Celeron vs. Pentium 4 1.7 GHz by Schmendrick · · Score: 3, Insightful

    The author says "My PC is a lowly dual Celeron...", but a dual 533 MHz Celeron system is actually faster than a Pentium 4 1.7 GHz system for running VMWare !

    Because, on a dual CPU system, the native OS runs on one CPU and the virtualized OS (running inside VMWare) runs on the other CPU.

    I say this by experience because I tried the two configurations and was very surprised (even if the Pentium 4 had PC266 memory !).

  13. This IS an odd comparison... by Spencerian · · Score: 3, Informative

    ...unless you talk only about emulators for x86 (the topic wasn't too clear about this.)

    For most of the x86 UNIX world, VMWare and Bochs are surely helpful. As a Virtual PC for Mac user, I was dubious about the introduction of VPC for Windows until I realized that trying to install multiple versions of OSes on x86 hardware is a pain in the ass at best. VPC should run very nicely on these systems since the emulation may be less. Unlike VPC/Mac, VPC/Windows shouldn't have to translate the processor instructions from Intel Pentium II to PowerPC G3 instructions, but just shove them at the actual processor.

    VPC/Mac has one thing going over its x86 cousins: it truly emulates a PC, not just an environment rich enough for an OS to operate. I'm starting to speak out of the side of my mouth, not having to use VMWare or Bochs, but there's something to be said of emulation of a whole machine on hardware that was not intended to process these kind of instructions.

    --
    Vos teneo officium eram periculosus ut vos recipero is.
  14. "Didn't read the article" alert! by CoughDropAddict · · Score: 3, Informative
    If you had, you would have read this:
    First off, we need to clear out an issue that many people are confused about or just do not fully understand. VMware Workstation & VirtualPC are not emulators as Bochs is. They deliver the same output, but the way they work is different.

    [...]

    VMware Workstation buys speed with its runtime engine, while Bochs and VirtualPC buys portability. It is a trade-off game.
  15. VMware is excellent for Software Quality Assurance by antdude · · Score: 3, Informative

    I work for Symantec in testing Norton Internet Security products, and we, testers, use it all the time. It's a great product. I used to do Web testing, and it was great for that too. :)

    --
    Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
  16. The sad part by clem.dickey · · Score: 4, Informative

    The sad part is that x86 self-virtualization is so difficult in the first place. It would be much easier if user-mode accesses to control registers were disallowed. How hard could that be for Intel? Or for AMD?

    Several other (less popular architectures) are much easier to virtualize: S/370, M680x0 and PowerPC e.g. Motorola just missed the target with the original 68000 - eight privileged status bits were user-readable. They fixed that in the M68010.

    The x86 situation benefits only VMWare, which figured out how to virtualize x86 despite Intel. And VMWare still has trouble; it can handle only specific OSes in guest machines. By contrast VM/370 (or whatever IBM is calling it these days) can handle virtually any guest OS.

  17. OT: Slowing down MSDOS games for faster machines by Mongoose · · Score: 3, Informative

    You can download programs to slow down your games for faster machines. I still play Arena: The Elder Scrolls myself. =)

    You should be able to d/l the programs from:
    http://www.elderscrolls.net/

    I've found that bochs could actually help playing old MSDOS games because of this... if it's SVGA BIOS emualtion was working for these games.

  18. Two thumbs up for Win4Lin by _|()|\| · · Score: 3, Informative
    I use Windows 98 with Win4Lin 4.0 on Red Hat 7.2. The product works as advertised. It consists of a kernel patch (RPMs available for Red Hat, SuSE, Mandrake, et al.) and utilities (also available as an RPM). It comes with a graphical installer, but I didn't use it.

    It's definitely a niche product, but it's just the ticket for a Windows refugee for whom WINE doesn't quite cut it. The VNET virtual NIC handles Internet Explorer and Eudora just fine.

    One reservation in recommending Win4Lin is that the target market may find installation too difficult. For example, I had to jump through some hoops to make a floppy boot image (I have the non-bootable W98 upgrade CD) for a system without a floppy drive.

    Also, you're dependent on NeTraverse keeping the kernel patch up to date. Unless they can make an NT/2K/XP version, Win4Lin will probably die in a year or two. I don't know what kind of R&D NeTraverse has, as this product is basically a port of Merge from SCO to Linux.

    Finally, some potential Win4Lin or VMware customers may find that connecting to a second machine with VNC is just as good a solution.

  19. Great!! by TitaniumFox · · Score: 5, Funny

    Hmm...VMware...

    (click) [VMware open]
    (click) [VMware open]
    (click) [VMware open]
    (click) [VMware open]

    "Huh, what? Wait a sec. Just a few more clicks, and I'll have a beowulf cluster of these..."

    (click)
    (click)
    (click)
    (click)...

    --
    -- I'd say your post was about 3 monkeys, 18 minutes.