Review of Sun's Free Open Source Virtual Machine
goombah99 writes "After snapping up virtualization company InnoTek at the beginning of the year, Sun has recently released VirtualBox as a fully functional and highly polished free GPL open source x86 Virtual Machine. It can host 32- or 64-bit Linux, Windows XP Vista and 98, OpenSolaris and DOS. It runs on Mac OS X, Windows, and Unix platforms. The download is just 27MB. A review of it on MacWorld, showing HD movies playing inside windows XP on a mac, demonstrates performance visually indistinguishable from VMware. Like its competition, it can run other OSes in rootless, rooted, or seamless modes display modes (where all the applications have their windows mixed at the same time). Each VM instance can only run single core (though I/O is multi-core), and it does not yet support advanced windows graphics libraries however, so some gamers may be disappointed. Slashdot discussed the InnoTek acquisition earlier.
In my experience, I've actually found VirtualBox to be much faster than VMware, and coupled with the far less demanding system requirements (at least for the VM software itself, it doesn't do much to reduce guest sys requirements, of course :P), I haven't used VMware for over a year and half now.
Sun has consistently appeared to be one of the largest corporate supporters of OSS, and their hardware is rock solid, yet they seem to get bashed every time they come up. It seems like they've been busy giving away the keys to the castle so to speak, but it never seems to be enough. What does everybody have against Sun?
You don't make the poor richer by making the rich poorer. - Winston Churchill
"demonstrates performance visually indistinguishable from VMware"
what? i have been running vmware on my linux workstation at work for years and recently switched to virtualbox and realized that virtualbox is in orders of magnitude snappier, faster and less ressource-intensive than vmware.
just the fact that mouse support works absolutely flawless in vb is an enormous advantage over vmware. i am not even going into how much i/o wait vmware seemed to cause all the time which vb simply doesn't (yes the settings are comparable:>)
NEVER will i go back to vmware again (at least not on the desktop)
The binaries are not Free for corporate use. The source is free (GPL) but good fucking luck compiling it on a windows machine. Maybe you could compile it on a linux machine but on windows it assumes a development environment complete with every freakin' thing under the Sun (no pun intended). I gave up after two days of trying to get it to work.
:-)
Go recursive / self-hosted build. You could always set up a VirtualBox VM with the appropriate development environment to build VirtualBox
Does it emulate whatever Apple hardware OS X checks for, or will it still need a patched OS?
Visual IRC: Fast. Powerful. Free.
I too ran into this problem where I wanted the OSE (Open Source Edition) GPL binaries on Windows. I already had Visual Studio installed, so that wasn't a big deal, but one of the requirements to build is having the MinGW g++ compiler, so now you have a situation where you need two seperate c++ compilers to compile the thing, which is kind of wierd. On top of that you need to download and install the DirectX SDK and the Windows Driver Kit, along with several open source libraries (ok, needing various library dependencies is kind of of par for the course though).
After finally getting everything downloaded and unpacked into a build tree, and getting all the command line arguments for their configure script (so it would know where to find all the libraries), the build process ran for about 1/2 hour then died with a type casting error related to the USB device driver. Now, according to the VirtualBox website, the USB wasn't even supposed to be part of the Open Source Edition (and I suspect that might be part of why I got the errors - because it was expecting it and it wasn't there).
I asked on the VirtualBox forums and developer mailing list, and after a week someone said that they got it to build by commenting out the 2 lines that generated the build error. But now I'm *very afraid*. A Debian developer who 'got rid of build errors' by commenting out 2 very critical lines of source code put hundreds of thousands or millions of users in jeopardy (because of weak SSL keys generated with insufficient randomness). I have no idea what the long term effects of commenting out those two lines of code are, so I wouldn't be comfortable distributing the OSE binaries I built to anyone anyhow.
On that topic - I'm not sure whether *any* binaries built of VirtualBox could legally be distributed under the GPL, anyhow - I'm worried about the fact that it depends on the DirectX SDK and Windows Driver Kit - would the terms of either of those 'poison' the binaries?
I should, I suppose, mention that it's possible that since the version of the source that I downloaded, the VBox developers may have fixed the compile issue, but the whole thing just reeks of trying to appear to be GPL, while making it practically impossible for most users (on Windows, at least) to get it working from source, starting with the fact that you can't compile it on Windows without Visual C++, and continuing on to the un-compilability of the source code version which was released at the time I tried to build the binaries ( about a month ago ).
Does this thing run the VM as some sort of hypervisor underneath the OS or does it piggyback the other OS's on a parent OS.
If It's a hypervisor like thing where all the OS's' are symmetric then I guess it must be getting in the way of my "normal" OS and limiting it to single core?
If it's not a hypervisor/symmetric VM and one OS is the master, Do all the OS's have full access to the hardware functions. So for example if I my mac is the master OS, and I set up a firewall set, does the windows OS have to go through the mac's firewall (and thus be protected better) or does it have direct access to the ports itself. If the latter who negotiates the conflicts when both want the CD or audio port.
Finally, are the VMs portabel from machine to machine. Or even platform to platform.
So If I create a VM on one machine, save it's state and open it on another machine, does it just run? (even the network settings?) What if the second machine was say an AMD and the first an Intel. What if the first host was a mac and the second host a linux machine?
Some drink at the fountain of knowledge. Others just gargle.