As you'll recall from a previous post, I've moved (lock, stock and barrel) to Windows Vista using VPC 2007 for development purposes. This has brought to light an issue that I never experienced in Windows XP using VPC 2004. It seems that certain Intel chipsets (such as the Centrino 915 used in my Dell D810 notebook) use a power management technique (SpeedStep) which adversely affects the mouse, keyboard and other things in the "guest" operating system. To date, Microsoft has issued a hotfix which (according to some) only partially addresses this issue in VPC 2004 but so far, I haven't been able to find an answer to this issue in VPC 2007 running on Windows Vista. A work-around exists as part of this hot fix where adding a certain <enable_idle_threads> key to the options.xml file used by VPC 2004 and VPC 2007 "should" alleviate the issue. It does, by maxing out the CPU at 100%, which creates a whole range of other issues for the "host" operating system. This is not what I'd call a very "robust" solution, and quite frankly, I'm very surprised that this is the best Microsoft can offer after knowing about the issue for over eighteen months. I realize that this is a "hardware" related issue but for VPC 2007 (and VPC 2004 for that matter) to be successful, it must be compatible with widely used and very popular Intel chipsets.
As most of you know, I'm a very (VERY) strong supporter of Microsoft technologies and Microsoft in general, so this isn't just another "bash MSFT" post. I consider this bug to be a "blocking issue" to the quick adoption of Windows Vista and VPC 2007 by serious developers.
If anyone reading this post knows of a solution to this issue, PLEASE post a comment or ping me via my blog. I'll update this post as I (hopefully) get additional information about a solution to this issue.
UPDATE:
I've spoken with several folks from MSFT in the newsgroups and via email and this is the best work-around right now.
Add the <enable_idle_threads> element to the Options.xml file found in the Users > username > AppData > Roaming > Microsoft > Virtual PC folder in Vista. See below for an example. Please keep in mind that this will cause your host (Vista) to run at 100% cpu and host application performance may suffer. I really dislike this work-around but it does work.
<virtual_machines>
<enable_idle_thread type="boolean">true</enable_idle_thread>
</virtual_machines>
I hope this helps till RTM.
Technorati Tags: Virtual PC, Vista