VirtualPC 2004 Versus VMWare 4.5?
BackNBlack writes "Ars Technica has an interesting comparison shootout between Microsoft's VirtualPC 2004 and VMWare Workstation 4.5. Has VirtualPC improved since Microsoft bought it from Connectix? It looks as though VMWare is really the choice of those who can afford it. I'm also a little surprised that Microsoft is not as compatible as it could be, given the competition."
I've used both and I have to say that Microsoft's Virtual PC is ASS-slow. VMWare is actually usable and has far more features and compatibility.
For me, that is all that matters.
I really like VMWare. I have a dual monitor setup with Gnome on X.Org with Xinerama, and VMWare works quite well in that setup for running a virtual Windows XP box. I do alot of my Dreamweaver stuff on that. What it ends up looking like, with VMWare/XP running in full screen mode, is two computers, with Gnome on one and XP on the other. All I gotta do is ctl-alt and move the mouse over to deal with stuff on the host machine.
EOF
VMWare is superior in all regards. I've had significant problems running Linux under Virtual PC where VMWare handles it without any problems at all. Also, I've found that VMWare has drivers for most host operating systems to enable drive sharing, video, and sound. VirtualPC's guest os driver set is pretty bad. Virtual PC is a lot cheaper (free for us, as Solution Providers) but if I ever really need to get something done, VMWare is the only way to go.
The article is incorrect in stating that VirtualPC 2004 does not support using ISOs as optical drives. It certainly supports this functionality and I use it all of the time. There is a menu item called Capture ISO which lets you select an ISO and mount it like a CD-ROM or DVD-ROM drive.
I've used both products a good deal, mostly for the purpose of beta testing operating systems and development software. I've not noticed any serious speed differences. VMWare is most definitely more configurable. However I get VirtualPC 2004 for "free" with my MSDN Universal subscription so I can't really beat that.
It should also be noted that while VMWare does run on Linux, VirtualPC runs on Macintosh. It is still supported, although a hardware difference causes it to fail on G5 CPUs because these CPUs do not permit little-endian mode. A new version will be out shortly to accomodate.
that comment about compatibility in the lead-in kinda surprised me. After all, didn't they purchase VirtualPC because server consolidation was hurting Windows Server sales? They made tons of money when people realized they needed a seperate BOX for each server process run on Windows( they sold more OS licenses ) but now the cats out of the bag and TCO cost are killing them.
So, why would Microsoft care about anything but how this works on Windows and targetted apps? They don't. IMHO.
LoB
"Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
Not only that, but they can run previous versions of Windows -- or at least some of the sub-systems -- under Longhorn, thereby allowing backwards compatibility without having to design it directly into Longhorn's own APIs. (Like Apple did when they went to OS X, I believe).
They could also the technology for sandboxing "untrusted" applications and isolate them from the main system.
Also, configuring bochs is a major pain in the ass. I have a 2.6 kernel and (I misremember some details but) I tried to use the method recommended for 2.6, had all appropriate support compiled in as far as I could tell, and it still wouldn't work, but the method recommended for 2.4 worked fine. Bochs may fit some needs, but anyone willing to look at virtual pc is surely not someone who will be using bochs.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
C:\CYGWIN\usr\X11R6\bin\run.exe XWin.exe -multiwindow -clipboard
This runs the X server in a rootless mode that does not require a window manager (Windows is your window manager - this instructs the X server to in turn instruct windows to draw decorations around your X client windows) and which performs clipboard integration. There are some other switches you can set, see man XWin for more information. In particular people with multiple displays will want to set another switch to support that, and there is also a switch to specify that all clipboard contents should be 8 bit (no unicode support.) It's not the fastest nor the best* X server out there, but it certainly does the job. If you are going to be running X clients locally, which you probably will if you install cygwin, you will want to add "DISPLAY=localhost:0" to your environment.
* Actually, cygwin's X server might have recently become the best X server around. It uses directdraw to draw windows, it properly handles the clipboard now which X-Win32 still can't seem to get right after an update they explicitly claimed would solve my clipboard problem, and it uses standard X tools like xhost for management.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
Isn't this an apples and oranges comparison? (Not that anyone cares, necessarily...)
IIRC, VirtualPC is essentially an emulator. VMWare is actually a virtualization layer that only emulates the hardware interfaces, but the non-privileged application code can run directly on the CPU like it would "natively".
This by itself should explain the speed differences, as well as why VMWare requires x86 hardware to run Windows, while VirtualPC can run on a Mac (which would be impossible given VMWare's design).
I'm surprised that no one is mentioning this.
Both products can boot off raw hard disks. I even setup a new Gentoo system that way. VPC does however have a 137GB limit on raw disks which VMWare doesn't. Both products run quite slowly when installing an OS - they have to run in a maximum compatibility mode because of all the probing and other stuff OS installs do. Once the guest OS is installed they run faster.
Both products allow you to modify the virtual hardware (adding/removing ports, drives, images etc) after installation. Both products have undoable disks and various forms of networking (host only, share real NIC etc).
The last Connectix version of VPC had VNC access to your guests which was really neat. Microsoft removed that for VPC 2004 on "security" grounds. Technically that is true (VNC is an unecrypted protocol) but I suspect they would have removed it for marketing reasons anyway.
VPC does have a restriction that access to the host from the guest has to be done from kernel mode in the guest. That means for example that the Additions (VPC speak) / Tools (VMWare speak) have to be loaded into the OS in the guest. This prevents random user space programs in the guest from getting host access. I don't know if VMWare does something similar or not. It is however something to consider if untrusted software will be running in your guest.
The 2.6 kernel used in some distros doesn't work on VPC 2004 due to some self modifying code allegedly used in conjunction with the X server. Of course the VPC folks claim it is a Linux problem and the Linux folks say it is a VPC problem. Just remember that Linux is not a supported guest for VPC even though it usually works and MS haven't done anything (yet) to prevent it.
I have never had a response ever to a support issue raised with VMWare. I have had way more compatibility issues with VMWare. For example I have a bootcd that works on every real machine (I have tried over 10) and in VPC but fails in VMWare. With VPC I haven't had to raise support issues since it just works. There is a Microsoft newsgroup for VPC that works well.
Fundamentally both products work well. VPC is simpler and cheaper and does what it does well. VMWare is larger and more complicated and has lots more knobs for fine tuning and is also available for a Linux host.
We can thank MS for buying VPC as it resulted in VMWare dropping their price by almost 40%.
The only thing that has been a problem so far is getting the VMWare client utils installed if the virtual OS is running the 2.6.x kernel.