Windows 8, Macbook Retinas and VMWare Fusion

I recently switched to a new 15" Macbook Pro retina as my primary development machine as I need to do some iOS  stuff. The screen on the retina is fantastic! Everything is super-crisp and clear. I have the Macbook connected to two external 24" 1080p monitors as well and the difference in sharpness is very obvious when moving a window from the retina screen to one of these.

Anyhow, that's not the point of this blog. I also develop a number of windows applications in C#, including using the Microsoft Kinect SDK and some Microsoft Store Apps. The plan was to use a Windows 8 virtual machine in VMWare Fusion for these. There's a 30 day trial of VMWare Fusion readily available so I downloaded it and gave it a go.

I actually had some existing Windows 7 and Windows 8 virtual machines that I previously created in VMWare Player. So I copied these across to the Macbook SSD and loaded them in VMWare Fusion. Player and Fusion both use the same VMDK format, so you can share the virtual vmdk disk files between the two applications.

However, it seems the settings file (vmx) is different, so you actually need to create a new VM in Fusion and choose to use an existing disk. Also, by default Fusion would not let me select the vmdk file. I had to use Finder to right-click the file and select open-with Fusion. This seemed to create a file association and after this the Fusion wizard to create a new VM using an existing disk allowed me to select the vmdk. Once this is done, you can just play the VM in Fusion and all is good.

One more annoyance was that if I moved the Windows 8 VM to one of the two external monitors and entered full-screen mode, there seemed to be no easy way to minimize the VM. The Fusion bar usually appears when you move the mouse cursor to the top of the screen, but this does not work on a second display. The easiest trick is to hit Control+Command+F to toggle full-screen mode back to single-window mode, and then suspend or do whatever you want to the VM.

Another issue is with Kinect development. The Microsoft Kinect SDK 1.6 finally introduced support for virtual machines. That is, prior to 1.6, the Kinect drivers would not work in a VM and development had to be done natively on a bare-bones Windows machine. However, it seems that MS Kinect SDK 1.6 only supports the Windows Kinect in virtualized environments. I tried with an Xbox 360 Kinect and even though all the drivers appear to install fine, it does not get recognised by any of the Toolkit sample apps.

So if you are stuck with an Xbox Kinect for development purposes, it seems your only option on a macbook is Bootcamp at the moment. Although Bootcamp does not officially support Windows 8 yet, so you need to either install Windows 7, or risk a whole lot of driver problems...

The only viable solution in my case appears to be a Windows Kinect, which supposedly works fine in Fusion, although I haven't had a chance to test it yet.


Popular posts from this blog

Wkhtmltopdf font and sizing issues

Import Google Contacts to Nokia PC Suite

Can't delete last blank page from Word