Possible cause for Windows instability inside Parallels

Discussion in 'Windows Virtual Machine' started by jkwuc89, Jul 18, 2007.

  1. jkwuc89

    jkwuc89 Member

    The short version: hardware and drivers

    The long version:

    Microsoft has stated publicly many times that one of the biggest causes for Windows instability (if not the biggest cause) is hardware and the device drivers used to access the hardware. If a device driver goes awry, Windows becomes a ticking time bomb waiting to explode into the infamous Blue Screen of Death. Microsoft even with its thousands of employees is unable to test the infinite set of hardware/device driver possibilities and as a result, must trust the hardware vendors to do the right thing.

    Now, let's add a virtualization layer to this. The device driver developers have a tough enough time developing their driver with the assumption that they have direct (or semi-direct) access to the hardware they are driving. I doubt very much that they take virtualization into question when they build and test their driver code. I also doubt very much that they spend a lot of time testing their hardware and their device driver with a lot of different hardware configurations. So, it is up to the virtualization developers to get hardware to work (i.e. make the device driver think that it has direct access to the hardware even though it doesn't). Considering how many different devices there are and how many device drivers there are to get those devices to work, I think Parallels and VMWare are doing an amazing job getting so much hardware to work. Unfortunately for them, their teams are much smaller than Microsoft's so it is completely unreasonable to expect them to get all of the possible hardware combinations to work inside a VM. And it is also unreasonable to expect them to get every USB 2.0 device to work. I suspect that Parallels and VMWare are developing to the most common denominator (the USB 2.0 specification) which allows the VMs to work with most USB 2.0 devices. But, if a hardware vendor bends the rules a bit with regards to the USB 2.0 spec, that vendor's device may not work inside the VM. That does not necessarily mean that there is a bug inside Parallels or VMWare.

    With that said, I don't think it is fair to immediately fault Parallels or VMWare if a particular hardware device does not work inside a VM even if it supposedly is a USB 2.0 compatible device and even if it works just fine when running on Windows natively. If one wants a particular piece of hardware to work under a VM, a post to this forum asking for help and/or a tactfully worded e-mail to Parallels is probably the best course of action. One can also try to contact the hardware vendor but I suspect in most cases that the vendor will say that virtualization is not a supported configuration. The final resolution to a particular device not working may just be that it won't work inside a VM.

Share This Page