An Introduction to Virtualization
by Liz van Dijk on October 28, 2008 2:00 AM EST- Posted in
- IT Computing
Some Fun Virtualization Feats for Desktop Users
Now, to say that virtualization only has its place in server rooms is not entirely correct, since it has certainly left a stamp on desktop environments as well. We'll definitely be diving into this subject more in future research, but we still want to give you a taste of it.
While not immediately important to Windows users, a rather large group of people would like to be able to enjoy some of the same luxuries with regards to gaming: Mac OS X and Linux-users. At this point, we are looking into three different technologies that make it possible for Windows games to be played on different systems. Two of them are integrated into host-based hypervisor solutions for OS X: Parallels Desktop and VMware Fusion. The last of them uses a completely different approach, utilizing a dynamic translation layer to translate a game's calls directly into something handled by the host OS.
To get some first impressions on these technologies, we tested the same game on each of these pieces of software: Half-Life 2, a personal favorite, and not quite old enough to be considered completely unimportant yet. Now, to be fair, our expectations were never too high. The overhead created by an actual host-based hypervisor can sometimes be high enough to make some relatively simple tasks too tedious to undertake, so something as intensive as gaming could easily be too heavy. As it turns out, we were quite surprised by the results!
We started our experiments on Parallels Desktop, running on the only Mac system available to us: a two year old MacBook Pro outfitted with a 2.33 GHz Merom, 2GB of RAM and an ATI Radeon X1600. We assigned the VM 1.25GB of RAM in an attempt to make it run as smoothly as possible without choking our host system too much. When setting up Steam and attempting to start the game, we were met with the following dialogue.
Steam doesn't seem too impressed by Parallels' video driver...
Brave as we are, we decided to push on anyway, and we met with some surprising results! The game turned out to be quite playable, chugging away at a less than stellar frame rate, but relatively stable and playable nonetheless.
We have to admit we were quite impressed by what appears to be a full support for the possibilities of the Source engine.
The recommended settings for our little setup were not quite at the minimum yet, but sadly we were unable to make any changes to them and experiment, as every single change in the display panel caused the game to crash. [Ed: Normally HL2 stores the game settings in the Windows registry; you might try modifying that directly.] Apart from some small graphical glitches, however, we found the game surprisingly playable, despite its absence from Parallels' compatibility list.
With our interest piqued, we decided to try it next on VMware Fusion, in an attempt to make a little comparison. Alas, VMware Fusion appears to deem the world of Half-Life 2 too far gone to warrant saving, and as such, we are unable to move past the actual menu screen. Seeing what it looks like, however, makes us inclined to agree...
Half-Life 2 in VMware Fusion; the world looks quite a bit too far gone to save.
The fact that these solutions differ so much makes us wonder about the differences in implementation of 3D acceleration, and our readers can expect us to look deeper into this later on. It is clear VMware Fusion and Parallels Desktop both take a very different approach, and once again it is our goal to figure out why they've decided to take a certain route.
A third solution tested for gaming purposes is Crossover by Codeweavers. This software is closely related to the WINE project, which aims to make software written for Windows usable on any Unix platform. WINE is a recursive acronym, standing for "WINE Is Not an Emulator", meaning the software doesn't actually provide the software with a suitable environment to run in, but rather dynamically changes the way the software interacts with the system, much like what happens with Binary Translation.
As with the other solutions, we ran Half-Life 2 in Crossover, which is by and large a supported implementation of WINE for both Mac and Linux systems. To our great surprise, we were able to play the game at pretty much the highest settings (barring AA), with a surprisingly strong frame rate, holding up at a solid ~30 FPS in open areas. Since FRAPS wouldn't work for us in Crossover, however, we were forced to use the built-in console functionality to display the frame rate and OS X's screen capturing tool to get our screenshots (which apparently caused a large dip in frame rate every time we attempted it).
Framerate took a dip whenever we took a screenshot, so taking that in mind, it was actually quite acceptable.
Generally, when played the game felt as smooth as it should be and didn't give us even the slightest hiccup performance-wise. However, one thing did strike us as familiar. Some of the (minor) graphical glitches encountered remind us of what we experienced while testing Parallels Desktop. Could it be that these two pieces of software are using related techniques for their 3D acceleration? Stay tuned, as we will definitely be looking into this in further research!
14 Comments
View All Comments
FATCamaro - Tuesday, October 28, 2008 - link
I wasn't clear on how the different hypervisor products compared (ESX, Xen, MS?) with respect to binary translation or paravirtualization without looking at your other article. A summary here would have been nice.MontagGG - Tuesday, October 28, 2008 - link
You should be able to run a virtual Win98 in Vista to play classic games. This does require the premium editions.murphyslabrat - Tuesday, October 28, 2008 - link
You seemed to have addressed the issue in the end, but my question is: as far as PC Gaming goes, is there any reason to use a virtual machine. If the answer is yes, then which approach is typically best, and what would be the recommendation for software.Denithor - Tuesday, October 28, 2008 - link
Read page 11 of the article.Yes, in certain cases. If you're running OS X or Linux you can run a virtual copy of XP which can then run a game not supported by your "true" operating system. However, it's going to add overhead, therefore reducing performance (game speaks to the virtual XP which has to speak to the real OS which talks to the hardware). Newer games probably won't work very well because they need as much hardware as they can get so the extra baggage will just weigh them down.