Dedicated to my late brave, beautiful and silly mummy, Debra Ross. I love you mumster.

Skip navigation

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.

Debian Etch for 5, then back to Slackware

For my university studies and to keep up to date with what’s happening in the Linux world (given I’m a FreeBSD guy mostly) I decided to dual boot my new desktop machine with Debian GNU/Linux 4.0 Etch. In the past I’d always used Slackware to fill this role, but I figured I’d just try something new.

ASIDE: "Debian GNU/Linux 4.0 Etch" just doesn’t roll off the tongue as well as "Slackware Linux 12" or "FreeBSD 7.0 Release". A ridiculously pointless observation, but one that I believe deserves recognition. And it would look just fab printed on a shirt.

Within a few minutes of starting the initial install, I got the following error:

Debian Etch failure

No common CD-ROM drive was detected? Are they serious?

Using the exact same optical drive I’ve been able to install the latest versions of FreeBSD, NetBSD, OpenBSD and Slackware Linux, not to mention a creaky old version of Windows 2000 and even IBM OS/2 Warp! And yet Debian GNU/Linux cannot even detect the drive after the initial boot phase?

I took it to be a sign to keep using Slackware for my Linux partitions. It’s a shame, I was looking forward to seeing why people seem to love apt-get so much; I guess it’s back to my FreeBSD desktop with the ports collection, and Slackware Linux with pkgsrc. Not that I’m complaining, it’s still my favourite distribution!

The mysterious little DFE-670TXD

DFE-670TXD

The DFE-670TXD is a mysterious little ethernet card, because it’s turned my old ThinkPad 600E into a very picky eater. With this card plugged into either of the PC Card slots:

  • My beloved FreeBSD installs, but throws errors upon booting despite the fact the very card is named and supported in /etc/defaults/pccard.conf
  • NetBSD not only refuses to install, but just reboots the machine before it’s even finished booting of the CD-ROM
  • My Linux distro of choice Slackware detects and installs the card, but upon using it after installing the base system, the entire system hangs forcing a hard reset

Curiously, the only operating system which installed and detected the card perfectly was… OpenBSD! I have no idea what OpenBSD is doing differently, but booting of the CD and going through the installer the card is detected automatically. When I reboot the machine with OpenBSD installed, I can use the internet, share files on the local network and synchronise with time servers without any problems!

FreeBSD is my operating system of choice generally, but OpenBSD for some reason which completely baffles me right now is the only one that works. I’m completely baffled. Did I mentioned I’m baffled? Bamboozled? Anyone with knowledge on how OpenBSD drivers work know why or have any theories?

In any case I guess I’d better brush up on the OpenBSD FAQs, because I have an OpenBSD machine now!

FreeBSD guy tries and likes Slackware Linux!

FreeBSD!By now if you’ve read this blog in any great detail (or even if you haven’t) you’d know by now I love FreeBSD and intend to use it as my primary desktop and server OS by the end of the year. Booh-yah!

Anyway I’ve had to admit lately though that most open source software isn’t written for FreeBSD but for Linux, and for ages I’ve been looking for a Linux distro that as a FreeBSD user I could feel comfortable using; not to replace FreeBSD but just as an alternative I could dual boot into from time to time to keep myself up to date with Tux. Plus my work and university studies require Linux, so would be useful to have a real world test bed.

SlackwareIn my search I’ve steered farily clear of distros like Fedora, Chuck Norris, openSUSE, PCLinuxOS and Ubuntu/Kubuntu/Xubuntu/KitchenSinkuntu; personally I like to have more control over the installation and prefer to set up things like the shell, X11, packages and networking myself. A few years ago I would have shuddered at the thought of doing configuration on the command line, these days I can’t see myself doing it any other way. There’s something to be said for installing a barebones system and configuring everything yourself afterwards. Or maybe I’m just a freak ;).

Just for fun I downloaded through the torrents the latest version of Slackware Linux (using the optional 2.6.18 kernel) and gave it a shot; and was pleasently surprised! As compared to FreeBSD, the Slackware installer is very similar, the directory structure is very similar and the system just feels more UNIXy which I like. Plus it just seems clean and well designed as opposed to some of the more top-heavy distros which feel slapped together, if that makes sense.

A comparison of the installers: here’s FreeBSD 6.2:

FreeBSD 6.2 Installer

And here’s Slackware 11.0:

Slackware 11.0 Installer

As you can see, it’s no wonder I felt right at home installing :).

As for documentation, the Slackbook is fantastic and easy to follow, and the man pages are well put together.

So far I’ve tried Gentoo, Debian and now Slackware and I feel as if I’m more inclined to use the latter! Installing dependencies on packages myself will take some getting used to (I’ve been spoilt by the FreeBSD ports system!) but I’m sure it will be a great learning experience. Or I could chicken out and use NetBSD’s pkgsrc for it ;).