Virtualization

In my previous post Protecting Software Programs I talked about my experiments to get some old games up and running. I did some more research and I am going to enumerate some of the lessons learned and the best practices mostly so that I have access to it when I need it.

My requirements:

1) To be able to allow my 3 yr old son whose account is with parental controls to be easily play with the old games

2)It should be easy for him to access the games when he needs them even if I am not present. At 3 yr old, he mastered to put the dvd into the dvd tray so for those games that need the original DVD/CD, he can manage.

Solution I formulated:

1) I would manage the VM from my account and keep it running.

2) Whenever he needs to play, he would switch to his account and login (which he already knows how to do) and invoke some “app” and he should be ready to start playing.

While this is all simple, along the way I ran into some issues.

Here is the list of things to consider irrespective of the VM for the solution to work.

1) Sound. The sound should play on the guest OS, which is not difficult, but not from within my account, but from my son’s account when accessed as a different user. Note that since both my account and my son’s account are in the same machine, this is not as trivial or not the standard configuration. I managed to do this in VirtualBox but not in VMWare Fusion. In VirtualBox, configure audio as follows by choosing “Null Audio Driver”.

This essentially just generates the sound but doesn’t play when the guest is accessed directly from the host. However, when the same VM is accessed using VirtualBox’s built-in RDP, the sound is played on the RDP client.

I didn’t find similar options to configure sound on the VMWare Fusion 4.1.3 (I am using a trial license and my goal was to evaluate the free VirtualBox and VMWare and decide which one to go with).

2) My second requirement is the remote desktop access. There are two ways to achieve this. One is, to enable remote desktop access in the guest OS and then directly use it. However, this may not always be a viable option. The two reasons for this are

a) The guest OS may not support RDP, for example Windows 2000 and before (Terminal Services are not available in Windows 2000 Pro)

b) A more important problem to some is that when you run a virtual machine, there are multiple ways to make it connect it to the network. The simplest and default option is to NAT. That is, the VM can access the outside network but the outside network can’t directly access the VM because the rest of the network doesn’t see this. There are other types of network connections and one of them actually gets an actual IP address from the router and so every other computer on your LAN can see this VM. All these options are a bit confusing and even in NAT it’s possible to do port forwarding and things like that that gets even complicated.

As a result, the simplest option is to use the virtualization software to provide the remote desktop service. Both VirtualBox and VMWare Fusion provide this option. However, VirtualBox provides RDP while VMWare provides VNC. I initially didn’t care which option as long as my requirement was met. But then I realized that the mouse pointer was very very slow with VNC (I used Chiken of the VNC on OS X). When I searched on the web I found that RDP is more sophisticated, smart and network efficient and VNC is dumb.

I also wanted to run the VMs in headless mode from my account. I could do that with both VirtualBox and VMWare Force.

So, after evaluating both VirtualBox and VMWare Fusion, here are my conclusions.

1) None of them is perfect especially for non-conventional uses like mine.

2) VMWare seems to be more compatible in switching to full-screen mode as required by most games. I couldn’t get Crazy Machines to work on VirtualBox either in OS X or Windows as a guest. The program starts and then stops.

3) Adding the additional tools to integrate the guest OS better worked fine for VirtualBox but not so with VMWare for Windows 2000. It requires upgrading Windows 2000 to PS4 and then RUP1 of PS4. Only then it works. I actually downloaded those patches on to my host and I was expecting to create a shared folder to install those patches. However, because the additional tools don’t install without those patches, I couldn’t access the shared folder and without that I can’t apply the patches. But all is not lost, I simply had to create an iso file containing those files and mount it as a 2nd CD/DVD drive.

3) VirtualBox seems to hog the CPU. Based on the documentation I thought it’s only for OS X guests but even Windows guest had the same problem. It seems to constantly running at the max CPU capacity given to the VM. This in my opinion is a big deal breaker for me as my host machine is getting hot very fast.

I still have a few days before the VMWare Force trial license expires. If I figure out the pending problems (sound and faster remote connection) then I will get a proper license for sure. Otherwise, I need to think what to do. For example, may be resurrect my very old PC containing Windows 98.

Note: The above opinions are personal and I have evaluated and commented purely for my personal needs. I don’t have experience with either of them in a commercial setting.

This entry was posted in Uncategorized and tagged , . Bookmark the permalink.

One Response to Virtualization

  1. Pingback: Visualization | (Point(er(r)))

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.