DesktopBSD day 14 – Emulation and virtualization
I believe that in the current time frame any migration strategy to an open source desktop should also include emulation and virtualization options. At least in this way migration to an open source desktop can not be halted by one or two applications that require Windows as a platform. The Wine project is expanding it’s support for applications rapidly and the Wine website should be a first stop to see whether the needed software can be run via this compatibility layer.
Wine is an Open Source implementation of the Windows API on top of X, OpenGL, and Unix.
Think of Wine as a compatibility layer for running Windows programs. Wine does not require Microsoft Windows, as it is a completely free alternative implementation of the Windows API consisting of 100% non-Microsoft code, however Wine can optionally use native Windows DLLs if they are available. Wine provides both a development toolkit for porting Windows source code to Unix as well as a program loader, allowing many unmodified Windows programs to run on x86-based Unixes, including Linux, FreeBSD, Mac OS X, and Solaris.
If this doesn’t work for you it is a matter of going down the road of virtualization and installing Windows in a virtual machine. I have dealt with this in the PC-BSD series, but for completeness sake I will deal with various possibilities for DesktopBSD as well. First two options that aren’t really for novice users: Qemu and Xen
What is Qemu? I think the developers have answered that question pretty clear:
QEMU is a generic and open source machine emulator and virtualizer.
When used as a machine emulator, QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a different machine (e.g. your own PC). By using dynamic translation, it achieves very good performances.
When used as a virtualizer, QEMU achieves near native performances by executing the guest code directly on the host CPU. A host driver called the QEMU accelerator (also known as KQEMU) is needed in this case. The virtualizer mode requires that both the host and guest machine use x86 compatible processors.
You can install the packages for Qemu, Qemu-launcher – a graphical front-end- Â and Kqemu via the Package Manager. Once installed the Qemu-launcher can be found under Utilities -> Qemu-launcher. This is easy enough.
It becomes more complicated when you wish to create a virtual machine and install the operating system. At the Qemu website you can download some prepared disk images, though obviously not for Windows.
If you want to give installing Windows a try, checking this thread at BSDNexus is almost compulsory.
If you want to know whether virtualization is a hot issue just check the stock price for the recently published Vmware or consider the fact that Citrix bought XenSource . Xen is also supported on Red Hat and Novell’s OpenSuse 10. No support for FreeBSD as a host operating system yet I am afraid. Even instaling FreeBSD as a guest OS is a challenge. Another howto can be found here.
VirtualBox has been released as open source virtualization software and I am getting more and more impressed. It’s performance is getting better and better, especially when I compare it to Vmware Server that is running on the same laptop. You can download the tarball here.
There isn’t a package or port for FreeBSD yet, but according to the wiki it is work in progress. It should be a matter of time.
Vmware has been mentioned above and it is one of the virtualization options with it’s own port (/usr/ports/emulators/vmware3). The available version is somewhat dated, but it might do the trick for you.
Win4BSD was discussed in the PC-BSD series already, but then we had the luxury of installing it via a PBI. That won’t work under DesktopBSD. The good news is that Win4BSD is available in the ports collection. Make sure you enable the option to use source in the Package Manager and it will be installed without a problem. You can then find the program under Utilities -> More applications -> Win4BSD Pro.
From experience I know that Win4BSD does it’s job and is the easiest to install and use of the current set of options. The downside is that it isn’t free, but you can get a license for $ 29,99 now (against $ 69,99 about a year ago). Strange enough Win4BSD wouldn’t launch on my regular PC, so i will have to spend some time later this month to find the cause of this.