Dedicated to the late creative, brave, beautiful and silly Debra Schade. I love you mumster.

Category archive for virtualisation

Because archives are so much easier than having just hundreds of posts on the home page. I learned that the hard way.

My belated review of VirtualBox for Mac

FreeBSD, MS-DOS and Windows 2000 in VirtualBox
FreeBSD 7.1 with Xfce, MS-DOS with XTreeGold and Windows 2000

In my quest to find the most useful virtualisation software for Mac I’ve so far used Parallels Desktop, VMware Fusion and Q.app in various capacities. Today I decided to take a closer look at VirtualBox, the free and open source virtualisation software by Sun Microsystems.

Firstly the good news: VirtualBox is fast. Because it can take advantage of VT-x in the Intel processors of modern Macs the performance is in an entirely different league to QEMU based applications and much closer in performance to expensive (at least in the eyes of a university student!) commercial products from VMware and Parallels.

Because of it’s higher performance, VirtualBox can run all current flavours of BSD, Linux and Windows that I’ve thrown at it just beautifully. Creating machines is a snap, and the shortcut keys for commands such as hard reset (command-R) are the best of any Mac virtualisation product I’ve used.

The main VirtualBox graphical control window

Unfortunately for me there have been some problems. For starters, considering it’s a Sun product I found it disheartening to find OpenSolaris 08.11 can’t pass the initial boot stage to install without giving an error which is a shame. FreeBSD has difficulty using the emulated optical drive which in practical usage is fine but it means you need to initally install over a network, no easy install of an ISO is possible. And for my electronic nostalgia, VirtualBox crashes whenever I attempt to load either the EMM386 or UMBCPI upper memory managers in MS-DOS 6.22 or PC DOS 2000 despite exhaustive attempts to map the correct memory addresses.

As I said on my Q.app review, my first generation Core Duo MacBook Pro seems to be a very quirky machine for virtualisation: it seems to have troubles than most Apple people don’t seem to have! Keeping this in mind I’m ready to chalk these problems up to my eccentric machine, but it’s still a bit disheartening.

VirtualBox has the potential to be an amazing product, and certainly for Windows and Linux it does the job beautifully — especially for the price! Unfortunately for my own current needs though I’m going to have to give it a pass; while it does run Windows 2000 amazingly well I’d prefer not to have to use several higher end virtualisation products for different things.

My belated review of Q.app

Q running Windows NT 4.0, FreeDOS with OpenGEM and MS-DOS 6.02 with Windows 3.11
Q running retro Windows NT 4.0, FreeDOS with OpenGEM and MS-DOS 6.22 with Windows 3.11

Due to some silly distractions I had to postpone my reviews of Mac virtualisation software. Today’s review is for Q.app, a free and open source native Mac port of the QEMU processor emulator.

Q.app can be described in one word: svelte! In a download that weighs in at under 10MiB, this tiny application can create and run fully contained virtual machines; it’s very impressive! It’s also clear a lot of care and attention has been put into the interface: because it’s a native Cocoa port the interface feels like a real Mac application and the guests you create are bundled into native OS X packages.

ASIDE: As a matter of disclosure, I am not affiliated with the Q.app project or QEMU, nor was I given a financial incentive to positively review their application, though now it’s after the fact I would be more than happy to accept such payments. Thank you.

Q.app iconBecause Q.app uses QEMU it doesn’t have the sophisticated performance or graphics of much heavier (and far more expensive) apps like VMware Fusion which I’ve previously blogged about, but apps that require those kinds of resources aren’t the intended use of it anyway.

Provided you use more modest operating systems instead of trying to shoehorn Windows 7 or Ubuntu with Gnome into it, it’s very usable. Windows 2000, the BSDs and lighter distributions of GNU/Linux run just fine. Windows 95 and DOS (including the latest FreeDOS) absolutely scream! As with any VM software, the key is finding the oldest OS that can run the software you need, unless you intend on using the Internet in it for security reasons.

Q running Windows 2000 and FreeBSD 7.1-R
Windows 2000 and FreeBSD 7.1-R also run just fine.

I have had some stability issues with Q on my first generation Core Duo MacBook Pro, and the Q drivers to enable a Samba share between my Windows 2000 guest and my Mac stubbornly refuse to work, but I’m willing to chalk both these problems up to a problem with the operator not necessarily the software! My iBook G3 was obviously slower, but didn’t have either of these issues.

If you need to run a application written for another OS (or with caveats perhaps even another processor!) and you don’t have time or inclination to register for and download a huge product like Fusion or Parallels, or if you’re like me and just want to run a ton of older OSs for silly nostalgic reasons, you can’t go wrong with Q.app. The folks behind this app have done a great job.

Looking back at virtual machines on Macs

My virtual machine applications
My Applications folder is one full beast!

Since I first picked up my first copies of Connectix Virtual PC for my Blueberry iMac DV I’ve been awestruck by the elegance of virtual machines and have had a ridiculous amount of fun tinkering with operating systems and software I probably would not have otherwise been able to use. Some like FreeBSD have even "graduated" and become primary operating systems on machines I use, others like DOS and earlier versions of Windows get to stick around for bouts of electronic nostalgia.

Given I’ve been so busy with other projects and studying I thought the long Easter weekend would be a great time to look into some lesser known virtual machine programs for Mac: Q and VirtualBox. I’ll be posting my full reviews in the next day or so, but suffice to say they both fill their intended rolls amazingly well and could give the commercial Mac virtualisation solutions a run for their money. They’re free and open source, so you can download them and give them a shot right now!

For the sake of completeness, I talked about Parallels Desktop a lot back in 2006 when I was first messing around with FreeBSD on my then-new Intel MacBook Pro, then switched to VMware Fusion in 2007 because of it’s superior support for Unix-like clients. It’s kind of fun to look back at those posts for me, at the time I thought such experimentation was fun but essentially pointless; I had no idea how much I was actually learning.

If you love tinkering with obscure and/or old operating systems, it’s a great time to be alive! Now all I need is time…

Networking issue to blame for poor VMware Fusion BSD performance?

Screenshot of VMware Fusion 2.0 Release Candidate 1

A few days ago I mentioned that the first Release Candidate for VMware Fusion 2.0 for the Mac was made available, and I listed some of the issues I had with running the previous beta releases, with the hope the RC would fix them.

The RC didn’t fix the most nagging issue I’ve been having, but I may be onto something.

As you know I primarily run FreeBSD in VMware Fusion: I know I’m a niche user but VMware does state FreeBSD is a supported OS, and it’s the reason I went ahead and purchased a licence for their product instead of Parallels Desktop. In the version 1.x series, both FreeBSD and NetBSD performed flawlessly and I was extremely pleased with the purchase!

In the Betas for version 2.0 however, both FreeBSD and NetBSD have been suffering from appaulingly slow X11 performance. Both Xorg and Xfree86 take many minutes to load on these systems as opposed to the almost instantaneous load times in the version 1.x series of Fusion.

ASIDE: Before you get too scared, X11 performance in OpenSolaris and GNU/Linux distributions seem to be just fine!

The first Release Candidate seemed to make no difference to performance, until I was sitting at a coffee shop with my WiFi connection turned off. For some reason, without a network connection, typing startx in both FreeBSD and NetBSD caused their respective X11 environments to start instantaneously once again. Back home and plugged into the wired network, both virtual machines returned to sluggish performance.

The next step was to determine if I could reproduce the conditions back at the coffee shop and get back regular performance. Clicking the Network Adaptor icon in the status bar in the VMs and disabling the network completely eliminated the painfully long startx waiting time.

I’m hoping the final release of Fusion 2.0 will solve this problem, otherwise I’m back to using 1.0. Not to mind, Unity and the other more advanced features are Windows only anyway. It’s a shame though that they’re marketing it as a solution for running Windows on your Mac, not a solution for running different OSs on your Mac.

VMware Fusion 2.0 Release Candidate 1 available

Screenshot of VMware Fusion 2.0 Release Candidate 1

For those who are also avid VMware Fusion users, you’ll be pleased to know the first Release Candidate for VMware Fusion 2.0 has been released (build number 113392).

For my own selfish needs, I only had three problems with the last beta which I’m hoping this RC has fixed:

Performace Issues with BSD hosts
Linux distributions performed just fine, but X.org in FreeBSD and Xfree86 in NetBSD on my MacBook Pro with 2GiB of RAM took far longer to load and performed worse than my 200MHz Pentium MMX box with 32 megs. This is not an exaggeration!
Folders that don’t disappear
In an attempt to backup my virtual drives as I like to do on a regular basis, I moved a folder from the virtual Windows 2000 machine to my Leopard desktop. Instead of copying over, the folder vanished from the guest, and didn’t appear on the host! One solid week of work down the toilet!
No stretched resolutions
VMware Fusion 1.x did not stretch the guest’s screen resolution when it was lower than the host’s. This meant in full screen there would generally be black bands on the sides, below and above the guest display… which was just fine for me! The Fusion 2.x betas flipped the default configuration so that it stretches the virtual screen which perhaps is useful for gamers but for reading text on an LCD it looks dreadful! As far as I can tell there’s no way to change this in the GUI, and adding lines to my preferences file turning off GuestToHost does nothing.

I might not have much time to look over these issues fully this evening or tomorrow, but I’ll certainly let you know what I find out when I can get back around to it. Stay tuned.

ASIDE: For what it’s worth, I’ve learned my lesson with virtual machine betas: they’re not worth it. Other "beta" products are actually quite usable, but not software like this. In the future I’ll be sticking with the latest stable release, in order to protect my sanity :-)

VMware Fusion 2.0 beta2 with FreeBSD review

UPDATE: An abridged version of this review has been picked up by the fine folks over at BSD News. If you’ve arrived here from there, all my FreeBSD and NetBSD posts can be found in the aptly-named BSD category. Cheers :-)

I’ve loved using virtualisation software ever since I had an early version of Connectix Virtual PC for my iMac DV back in the early 2000s, and later their Windows version before they were bought out by Microsoft. Virtual PC was mostly intended for people to use recent versions of Windows on Mac OS 8, but I preferred using it for resurrecting classic operating systems such as DOS/Windows 3.x which we had on our first home machine, and playing around with Linux distributions without going through tedious partitioning.

My predictably unnecessarily verbose introduction aside, the latest virtualisation software I’m using on a regular basis is VMware Fusion for Mac OS X, and I’ve been very pleased with it. The second beta release for version 2.0 is out now, and I spent my Sunday afternoon trying out build 107508 with a handful of my most used operating systems, plus FreeDOS for fun!

VMware Fusion 2.0 beta 2 Virtual Machine Library
VMware Fusion 2.0 beta 2 Virtual Machine Library

The most noticeable difference initially between this latest beta and version 1 of Fusion is the redesigned Virtual Machine Library. Taking a cue from Virtual PC, the plain text listing of virtual machines has been revised to include screenshots for the suspended machines. While I think this is a extremely useful and welcome addition for quickly recognising machines visually, I think the Mac-like glossy finishes are a bit overdone. Also despite making the interface more Mac-like overall, I can’t help but think the New, Open and Settings would better be served by a regular toolbar at the top of the window.

The New Virtual Machine Assistant has been improved to allow for more boot and drive options. You’re no longer limited to choosing from a physical or virtual optical disc; you can choose to use an existing virtual drive or even none at all: a VERY welcome addition! Before you run the machine the first time you’re asked whether you want to modify settings too, which means you no longer have to start the machine at the end of the assistant and hastily shut it down to fine tune its configuration.

VMware Fusion 2.0 beta 2 New Virtual Machine Assistant
VMware Fusion 2.0 beta 2 New Virtual Machine Assistant

Speaking of configuration, the Virtual Machine Settings window has been drastically redesigned to make it look much more like the Mac System Preferences application, and to make it easier to access all the new options and virtual devices you can configure. Amongst the new goodies are the ability to configure floppy drives, parallel ports, serial ports, and multiple virtual hard drives. When I saw these additions, I literally jumped out of my chair and screamed "HELL YEAH!"

Fusion 2.0 beta 2 also allows you to visually scale and stretch live running virtual machine displays. Even just a little bit of scaling adversely affects the readability of text, but perhaps for other applications such as full screen gaming which needs to be scaled to fit to an unsupported resolution this might be useful.

VMware Fusion 2.0 beta 2 New Virtual Machine Assistant
Demonstration of the live visual scaling in beta 2. Both the NetBSD and Slackware virtual machines are set to 1024×768 but the latter has been scaled down.

Now for the bad news. I’m not sure if this is a temporary setback as a result of it being a beta version (I did disable debugging checks), but graphical performance in BSD operating systems on my original generation MacBook Pro is nothing short of abysmal. VMware provides welcome additions for FreeBSD, but even installing these in FreeBSD 6.3 Release and using them with the compat6x layer in FreeBSD 7.0 Release made no difference to the overall sluggishness. NetBSD 4.0 was just as bad, without any additions.

This slow performance was most pronounced when I started Xorg on FreeBSD or XFree86 on NetBSD. Typically starting an X11 environment in VMware Fusion 1.x takes less than a second followed by several seconds for loading the desktop environment or vanilla window manager. With Fusion 2.0 beta 2, both FreeBSD and NetBSD take over 5 minutes just to start X11, and another few minutes just to load something as lightweight as Fluxbox… if you want to load Xfce or KDE it takes over a whopping 10 minutes.

To check whether this was a problem with BSD, I tried Slackware Linux 12.1 with the same versions of KDE, Xfce and Xorg; and while it still felt a little sluggish it still managed to load all three in a reasonable amount of time.

Given I need to use FreeBSD for my studies I just can’t use this beta release on a production machine, but if you primarily use Windows or Linux you could probably try it out.

Modular Xorg on NetBSD from scratch

NetBSD Xorg Orange
That’s a lot of orange! That reminds me, I need more F&N… Orange

NetBSD is one of the last Unix-like operating systems still shipping by default with the XFree86 X Window Server as opposed to the new de facto Xorg distribution. From what I’ve been able to find out doing a quick Google around is that given the system’s strict requirement for portability it’s going to take a lot of work to get Xorg working on every port. I respect that.

So enter pkgsrc and modular Xorg! Modular Xorg is an exciting new way of distributing Xorg because it allows you to cherry pick only the drivers, applications and other whatnot that you want instead of installing one huge package.

For me, I’m using a fresh install of NetBSD 3.1 in a VMware Fusion virtual machine, so you’ll obviously have to take these steps as a guide for your own system.

During the initial install I chose the Custom Installation option and de-selected the X11 Distribution Set. This means I avoided any mess right from the beginning, just as I did when I changed from Monolithic Xorg to Modular Xorg on FreeBSD.

Once you’ve installed NetBSD, do your usual configuration of /etc/rc.conf to enable your network, and add X11_TYPE=modular to your /etc/mk.conf file. DON’T add a X11BASE line!

Then go grab yourself the latest pkgsrc tree and update it.

Now it’s just a matter of make install clean clean-depends -ing each package we want. If you really wanted to, you could just install all the meta-packages:

… but that really defeats the purpose of going modular! For me, I installed the base server, the entire fonts meta-package, only the drivers I needed, and the minimum required apps:

Obviously when I said minimal I wasn’t kidding! These packages are enough to get an X session started, but that’s about it. If you’re installing a desktop environment such as KDE, Xfce or GNOME you can go right ahead and install their respective packages, but if you’re using a vanilla window manager such as OpenBox you’ll really need to install at the very least a terminal emulator. I like urxvt.

It is defintely more work to install modular Xorg, and in many cases the default XFree86 distribution Is Good Enough™, but I like the added control this gives me, plus then I have the added convenience of using similar software on my other BSD and Linux machines. Right Mai?

Is she pissed off or distracted somehow? I don’t know. Maybe she runs OpenBSD instead. It’s 01:52, maybe I actually need to go to sleep now.

Another look at NetBSD

A fresh NetBSD install

After a year or so of using FreeBSD I decided today to take another look at the operating system I learned UNIX on from the beginning: NetBSD (well actually it was Red Hat Linux 5, but I never left X!). I admit the way I learn things is to be focused on one specific programme, language or OS and hack away for a week rather than trying to be vague and learning many things at once not that well and not in much detail, and therefore not making much more than token advances in understanding. See how I slipped my critique about my university studies there? ;) .

Reading back some of my previous posts I’m not entirely sure why I switched completely to FreeBSD back at the beginning of last year. I think part of the decision stemmed from VMware’s official support of FreeBSD and the fact that more people were using it, so I figured it was a better boat to be floating in. I’ve been using a lot of boat analogies lately, I’m becoming a bit washed up. Get it? Aha. RATHOLE!

Having used NetBSD though for a few hours I’ve remembered what I love about it:

  • the layout of the file system is so clean
  • the initial installer is fast and slick
  • pkgsrc simply rocks!
  • the PowerPC port is an equal citizen not a afterthought next the x86 version, so my old Power Macintosh G3 and iMacs can use the same OS as my generic AMD boxes and just as well
  • compared to Linux it really boots up in a flash, like FreeBSD
  • KDE and Qt apps seems more stable on NetBSD (perhaps it’s just me) and Konqueror has the search box by default right from pkgsrc
  • if it’s good enough for Wintellect at BSDNexus, it’s damn well good enough for me!

That said though, I’m not giving up on FreeBSD, I think there’s definitely room for both. The default addition of portsnap and jail abilities (and coloured file listings!) are still very compelling, and the support for it in third party applications and drivers is certainly stronger. I think it will come down to a machine by machine choice for now.

I think it’s safe to say I’m a *BSD enthusiast, I am a happy user of Mac OS X, I have a passing interest in GNU/Linux and Solaris, and I have a healthy distaste for Windows and System 7 ;) .

NetBSD

Just bought VMware Fusion

A couple of days ago I finally gave in and purchased a copy of VMware Fusion. Having used the demo versions of Parallels Desktop and Fusion on my MacBook Pro I decided VMware’s product was much more suited to my needs. Parallels seems to be great for running Windows, but my main use is for FreeBSD and other Unix-like development which Fusion has better native support for (official additions for FreeBSD and Solaris anyone?). And with a special offer of $39.00 for first time beta purchases before the final version came out I figured it was the best choice. I should have taken a PR course at university instead.

So now I have the final, official retail release of VMware Fusion running on my MacBook Pro, and I’m loving it. Having a dual core processor with VT support really kicks some serious virtual arse.

Below is a screenshot of fresh virtual machines running OpenBSD 4.1 sitting at the shell, NetBSD 3.1 with a basic OpenBox window manager session, ReactOS and an installation of Windows 2000 Professional humming along:

VMware Fusion

I do admit I do run a purchased, fully licenced copy of Windows 2000 as a virtual machine to run a few apps that don’t work so well on Wine, and for testing of my websites using Internet Explorer 6. Windows XP and Vista just add useless features and require more system resources, so 2000 works just nice. Well, as nice as Windows can.

Below is a screenshot of AutoPatcher running under Windows 2000 using the Unity feature of Fusion which makes it look as though Windows applications are running on the Mac OS X desktop. I much prefer to use AutoPatcher than Windows Update because it means I don’t have to run Internet Explorer to use it, and I don’t call home to Microsoft.

VMware Fusion

And here it is running in it’s own window. I actually think I prefer having it this way:

VMware Fusion

I just love having virtual machines. I can tinker away with really fascinating operating systems and learn so much, without stuffing up anything when I do something wrong. It’s great for sand boxing, and it also allows me to run a scaled down FreeBSD machine with just the bare basics so I can study without distractions. Not to mention compiling applications for different platforms… the possibilities are so exciting!

Or maybe I’m just easily excited ;) .

VMware Fusion Beta 3 released

Screenshot of VMware Fusion Virtual Machine Library Screen

For those interested in virtualisation on Mac OS X, VMware’s Fusion beta product was bumped up to version 3 last night. Amongst other improvements, the critical feature we’ve all been waiting for was bundled in: the ability to disable debugging mode!

From what I can tell from their website and user forum, as part of the official VMware testing process most of their beta products have a built in debugging and logging setting which allows the development team to get real world usage information, at the expense of speed of course. By allowing the disabling of this feature in Beta 3, one can assume they’ve reached the level of development where things are becoming more stable and closer to the final product.

From my own experience playing around with FreeBSD in a virtual machine this morning (at Starbucks over a Caramel Macchiato of course!) I can say by disabling the debugging mode it is noticeably quicker, especially in scrolling lists and so forth. I haven’t yet had the chance to test out the 3D acceleration because I use Windows 2000 not XP in virtual machines. Parallels Desktop still seems a bit quicker, though I’m sure when VMware releases a mature product that gap will close.

In regards to student pricing, one of the guys on the VMware support team suggested I look into the VMware student programme which allows the licencing of their products by universities and schools and allowing those licenses to be used by students. I very much doubt my uni would be interested in such an exchange given they have their own (in my opinion very clunky!) disk imaging system in place, but we’ll wait an see. Was more of an answer than I got from the Parallels Team.

At the expense of maybe sounding like an advertisement for VMware (whoops!) here’s the interesting part of the email I got from them about new features:

* Improved performance: You now have the option of turning off debugging features in VMware Fusion to enjoy even better performance.
* Support for Boot Camp: You no longer have to choose between Windows or Mac—run Windows XP side-by-side with Mac OS X off your existing Boot Camp partition.
* Windows Easy Install: Just answer a few simple questions, insert your Windows CD, and VMware Fusion will automatically create a Windows virtual machine that is optimized for your Mac.
* Virtual machine packages: Virtual machines are now encapsulated in a single, easy-to-manage package. Move your virtual machines to another hard drive or Mac simply by copying a file.
* Enhanced virtual machine management: Managing multiple virtual machines and changing virtual machine settings is even easier with the Virtual Machine Library.
* Improved international support: European and Japanese Apple keyboards now work properly in virtual machines.