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.
Umm, yeah. Did you get the memo?
but yeah, in the last few months, it's seen some polishing (particularly the Macintosh features).
Do you even lift?
These aren't the 'roids you're looking for.
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.
The best virtualization I've found for windows hosts. Works great - I run Vista Ultimate host & Ubuntu guest in seamless mode on my laptop and everything is still fast as hell!
I'm happy.
Free, GPL AND open source? All in one package? However do they do it?!
It looks like a viable candidate for a VM, but still a bit behind the leaders. VMWare and Parallels seem to be better choices if you can afford them, but hopefully being free as in beer and GPL will allow it to catch up rapidly and make the ongoing competition even better. If they can get 3D graphics card support running, I will be looking really hard at VirtualBox.
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.
The weird thing is that the boot time for XP in the virtual machine is shorter than on the real one.
I find this to be an excellent VM that continues to make a lot of progress. After using VMWare server, Bochs, and QEmu, this one really takes the cake on both performance and usability. Virtual machines are easy to set up using a nice graphical interface, and all of the bells and whistles require no extensive configuration (sound, mouse integration). Running a Gentoo hardened Linux on amd64? No problem. Some of the features that really put VirtualBox above the rest for me:
Best of all, it's FOSS.
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)
I checked the site and it says that the OS X version is still in beta. Any 10.5 users tried this yet? Specifically with XP?
So, can I run my xbox through it? I need to be able to run simultaneously:
1) xbox halo
2) mac for screen grabs and skype
3) red hat terminals for server access
4) windows for outlook and skype
Plus, I need to be able to take screen grabs in any one of these virtual environments and save them into one or more of the others.
Bonus points if it has 'arrange by penis' for the desktop environments.
davejenkins.com |
That bussiness model seems pretty fair to me. Release the code GPL, free binaries for non commerical use, and sell the binaries for corporate clients. They are essentially charging companies for the time and expertise it takes to compile it. And presumably it means they only have to offer support to paying corprorate customers.
A nice thing about that model is that it caps the price at the value added. Think sun is charging too much? compile it yourself and support it yourself. The value contained in the code itself, and value added to the code by unpaid GPL contributors, is not part of the price this way.
And that's a very nice way to make money off GPL. You're not cheating the contributors at all. And anyone can go into competition with sun for the compiling. So it comes down to charging for the value added by sun in compiling and servicing it.
Not quite the same as RedHat's model but highly simmilar
Some drink at the fountain of knowledge. Others just gargle.
Does it emulate whatever Apple hardware OS X checks for, or will it still need a patched OS?
Visual IRC: Fast. Powerful. Free.
No 64-bit support in released versions. No libvirt driver (yes, there's a fancy C++ API; libvirt is simpler and easier and has bindings for everything).
It's fantastic for running a Windows desktop VM -- particularly with the seamless-mode support -- but has no place anywhere near my QA lab.
for benchmark information about virtualbox vs kvm vs vmware workstation, you might be interested in http://dipconsultants.com/press/24508-1/
It's not odd if you look at it from a contribution standpoint.
The FOSS community contributes to VirtualBox directly through help with development, testing and bug fixing on the project, as well as indirectly through their efforts on all the other FOSS projects upon which VirtualBox depends, including toolchains and mountains of utilities. Availability of source code is clearly not optional for this.
Windows binary users get a bit of a free ride on the back of all that hard work, so instead they contribute to VirtualBox by providing a bit of cash. They don't need access to the source code nor a build environment for this, and what's more, in the Windows environment it's very normal and expected to pay for your packages.
So, the VirtualBox product offering seems quite well adjusted to its two communities, and quite fair as well.
They lose a little on each sale, but they make up for it in volume.
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.
not yet, maybe in the future. You can run virtualbox in a 32bit or 64bit host, but can't run a 64bit guest OS.
Better get crackin... VMWare supports DirectX 9 (on appropriate hardware).
I said no... but I missed and it came out yes.
VirtualBox's greatest failing is that in using QEMU's I/O and networking code, they've made it a royal pain to set up bridged-mode networking on Linux hosts. You get to write two scripts, to add and remove a TAP device from a host-side bridge, and get to set up said bridge on the host yourself. Not only this, since the 2.6.18 kernel you need to run VirtualBox VMs as root (or set up sudo with /etc/sudoers not to prompt for a password and use it within your scripts), because only the superuser can manipulate the TAP/TUN devices; chmodding them writable by a particular privileged group is insufficient.
Compare to VMware, which handles all the bridging etc. by itself—much more convenient to use.
Then there are VirtualBox's "Guru meditations", obscure ERROR_MESSAGES_THAT_LOOK_LIKE_THIS and provide minimal information, often requiring perusal of the source code to figure out what's wrong. This is entirely unsuitable for end users as well as people whose time is valuable.
Finally, I tend to run a 64-bit kernel with 32-bit userspace. VirtualBox does not support this combination—it's either 32-bit kernel with 32-bit userspace or 64-bit kernel with 64-bit userspace. (VMware on the other hand does support 64-bit kernel with 32-bit userspace; its failing is that [as far as I know] there is no non-beta 64-bit userspace for VMware yet, though this will change with the release of VMware Server 2.0 and VMware Workstation 6.5.) This is only really a problem on Debian and Debian-derived distributions like Ubuntu, whose package manager (dpkg) is too incompetent to handle multiarch properly, despite work ongoing for about four years now, so the user has to set up a 64-bit chroot environment. (Fedora, RHEL and CentOS get this right; rpm can handle multiarch properly, so it's only a matter of installing the appropriate libraries there.)
VMware also supports 64-bit guests on certain processors. VirtualBox doesn't support 64-bit guests at all.
So in my view, between the two, VMware still wins, open source or no open source.
I spent a lot of time trying to get VirtualBox to play nice with FreeBSD. I'm much more familiar with BSD-flavored *nix (esp re: creating jailed environments), so I run a FreeBSD box as a cvs server for the programming classes I teach. I planned on migrating this function to a virtual machine this year. Unfortunately, VirtualBox would go down in flames every time I did a build-world. Web searches availed little.
I tried using OpenBSD instead, but that ended up being worse. The install looked something like
I eventually had to migrate my partially-finished FreeBSD disk to VMWare and finish my work there. It's a bit of a bummer, because VirtualBox does appear to have some really neat features, especially for XP guests. Still, I gotta use what meets my needs.
I swore by VMware for the longest time until I stumbled across VirtualBox.
It is much, much faster on my machine. Damn near the same as if it was installed on the hardware.
If I ever actually needed Windows for more than Photoshop (CS2 now runs fine under WINE).
One feature I am looking for (and have not found yet via reading the net) is if it's possible to use a physical disk instead of a virtual disc.
It's really handy trying to install pfSense on a flash drive (the dd method doesn't work)... although there are other uses I could use it for, too.
Binaries from Sun itself will be more "trusted" by corporate types than some random binary off the net. You're not thinking CYA enough - in a business large enough where the individuals don't feel the cost of the binaries and may benefit from support, going official for $$ is a no brainer. In fact, the LACK of this option is sometimes an issue for free software.
Qemu is the best of VirtualBox, which is why I'd pick Qemu *over* VirtualBox any day.
Networking is simple with user-mode networking. Most people don't *need* bridge-mode. If you do use bridge mode, it works using standard Linux networking stuff, not some proprietary mess like VMWare. Regular users can do TUN/TAP devices just fine, BTW.
Luke-Jr
hookups to scanners and printers. Except for OpenSolaris and W98SE (explicitly not supported), I've had working scanner and printer support on every OS (Kubuntu/Ubuntu V7 and V8, OpenSuse11, XP) I've tried Sun Virtualbox v1.6.2 with. I've been using it to review operating systems for publication. If I'd had a scanner and printer that worked with OpenSolaris, I think it would have worked just fine there, too.
Linux webcam support is problematic whether you're trying to get it on a real or a virtual machine. Has your webcam worked on any Linux physical box you've tried it on?
I'm planning to replace VMware Server with VirtualBox completely on this box. (Debian Lenny host)
Tech Public Policy stuff
No, your point does NOT stand.
Removing stuff that you don't use or ever want to use is not exactly going to screw up your box. In real open source stuff, source code is edited ALL the time.
Or are you a case of bitching about "GPL this and that" for the sake of bitching? Don't like it, don't use it. This is their first supposed release, so what do you expect? Linux 0.1 didn't exactly compile everywhere.
And complaining about "does not compile on Visual C++" is kind of dumb. Visual C++ is not the same compiler as GCC. GCC has different extensions, has better support for lots of C++ crap. The world does not revolve around MSVS.NET 2008.