I've had a couple of things that I needed to do over the last few days that were made a lot more practical through the use of Virtual PC's of one flavour or another and I got to try out the main players on offer for us low budget souls. I initially checked out some VM solutions to see if I could find a quick and compact way to set up a Linux\Apache\MySQL\PHP (LAMP) test box and then today I discovered that Samsung's Windows Mobile 6 update for my i607 Blackjack will not install via Windows Vista so I needed to set up a Virtual Machine to run XP. I was quite disappointed with my initial efforts but eventually one of the offerings came to the rescue.
Microsoft Virtual PC 2007. It's neat and slick but it complains like all hell when installing on Windows Vista Home Premium even though the only logical reason for it to do so is to discourage casual use. Frankly either make it simply not install or shut up about it folks, the warnings make you sound really lame. Anyway it works fine but the OS interface feels a bit treacly, boot time was fairly slow and a bunch of things were missing - most importantly for me there was no way to handle USB pass through and that was a deal breaker as the Blackjack Update that I needed the Virtual PC to run has to be carried out via USB. I also found it a bit odd that there was no obvious way to save snapshots of the OS state. Adding the Virtual Machine Guest OS Extensions improved the video performance but the mouse responsiveness never felt great.
VMWare. I didn't get very far with this but played around with the Virtual Appliance Marketplace looking for an appliance that would serve as a test bed for the LAMP stuff I'm working on. Maybe I just didn't understand the point of the whole packaged appliance thing but I couldn't figure out how to save an appliance once I'd configured it to suit my needs. It's probably something obvious but it ticked me off a lot that I couldn't seem to do it so I jumped ship.
Finally I returned to Innotek's VirtualBox. I say returned because I actually started out with it but had abandoned ship because I was unable to figure out how to change the base screen resolution when building an Ubuntu VM. That problem didn't seem to arise with the XP install I needed for my Blackjack WM6 upgrade and VirtualBox supposedly handled USB pass through too so I gave it a whirl. Once XP was installed and I had added the Guest Additions I had my first pleasant experience - VirtualBox has a fully integrated mouse mode so that the VM integration with the Host OS is seamless. Like VPC2007 the Video integration is very slick once the required drivers have been installed via the Guest Additions - you can resize the guest window just by dragging it, the Guest XP OS adjusts the desktop resolution on the fly. Guest snapshots are available - I didn't really test them out but they seem to be pretty fast and reliable. The best news (for me) was that the USB pass through mode works very well. It's not flawless and I had one or two headaches with the Blackjack update as the device switches between four different USB drivers during the OS Update procedure but it is simple enough in principle and it should work for most devices without any trouble. Once you have connected a device it becomes visible in the VirtualBox Guest OS VM Shell's Devices->USB Devices menu and you can click to toggle whether it remains visible to the Host OS or intercepted and passed through to the Guest. Overall performance seems to be better than VPC2007, certainly there's none of the treacliness. I'll be holding on to this XP VM for a while though Virtual Box has definitely become my new favourite app.
One final point I tested both VPC2007 and VirtualBox with hardware virtualization support enabled and disabled and for the life of me I couldn't tell what difference it made. My PC (a Dell XPS M1330) definitely has hardware Virtualization support and it is enabled in the BIOS. Can anyone give me a compelling explanation in a couple of lines?