Hyper-V and slow graphics?

When I first switched to Hyper-V for desktop VM use, I discovered horrible graphics performance.  The reason boils down to how the new WDDM driver model used in Vista and later interacts with the hypervisor.  Apparently, many people have reported this problem, and some have complained that this hasn’t been fixed in Hyper-V R2.  However, that’s not exactly true.

Windows Server 2008 R2 has added support for Second Level Address Translation (SLAT); Intel calls this feature Extended Page Tables (EPT), while AMD calls it Nested Page Tables (NPT) or Rapid Virtualization Indexing (RVI).  On hardware that supports this, and with Server 2008 R2 Hyper-V for your VM solution, modern graphics cards (and their associated WDDM 1.0/1.1 drivers) work fine.  The catch is that you need an Intel i7 (Nehalem) processor or a recent AMD processor to have that support — Intel Core 2 Duos and Quads don’t support EPT.  This prompted me to switch from my C2D E8400 to an i7 920 for my desktop VM machine while keeping the same nVidia 9600GT for video; with 2008 R2, Hyper-V no longer suffers from the horrible slowdown despite using the latest 190.62 drivers. Hooray!

Advertisements

12 Responses to “Hyper-V and slow graphics?”

  1. Mick Says:

    Unfortunately we can’t upgrade laptop hardware that easily, Scott.
    It is a bit of a cop out that if Hyper-V has issues, then upgrade the h/w and you *should* be fine – till another dodgy interrupt/driver issue is found.
    Alot of us run Hyper-V 2008 R2 on laptop etc, for consulting (being able to run 64 bit VMs etc) and having the client environment on which we may be developing on.

    After suffering terribly while presenting @ TechEd a couple of weeks ago, I’ve now removed Hyper-V off my machine with *instant* success.

    A colleague at work is on the VMWare band wagon….thinking about taking him up now.

    • Scott Havens Says:

      Mick, I totally agree that this doesn’t help much for notebooks. I spent quite a while just the other day discussing the virtualization situation on laptops with a colleague; my recommendation was VMWare Workstation, or possibly VirtualBox, as Virtual PC simply doesn’t provide utterly necessary features and the downfalls of Hyper-V that can be worked around on a desktop are crippling in a mobile environment. In fact, that discussion probably merits its own blog post.

  2. Virtualization in a mobile environment « Scott Havens's Blog Says:

    […] get on the desktop today. While it won’t fix the Hyper-V sleep mode problem, it will at least solve the Hyper-V graphics performance problem. Posted in Uncategorized. Leave a Comment […]

  3. Archimatic Infostructure » Hyper-V graphics performance is in on the way… if you need a new laptop Says:

    […] is that this solves the Hyper-V graphics performance problem for new laptops.  Scott Havens summed up the graphics issue nicely. Actually it was his comments on the Virtual PC Guy blog entries that first drew my attention to […]

  4. CypherBit Says:

    Thank you for this post.

    I’m on R2 and unfortunately Intel Core 2 Quad (no way I can afford to upgrade…I just recently did so 🙂 ) with a Nvidia 8500GT graphics card.

    All I need is a card that supports my 30″ monitor resolution…are there any out there, that work with Hyper-V without issues? It’s much easier for me to upgrade the card as opposed to motherboard, CPU and possibly even RAM.

    • Scott Havens Says:

      Unfortunately, it’s not an issue related to particular card you’re using, but to the WDDM driver model. As far as I know, any WDDM driver will have this issue.

      For your situation, however, you can try a couple things. One option would be using the standard VGA driver instead of the nVidia-specific one. The other, which is probably better, is to use the XP64 driver, available at http://www.nvidia.com/object/winxp64_190.62_whql.html. WDDM was introduced with Vista, so the XP64 driver won’t exhibit the same problems. Server 2008 R2 should support XP64 video drivers without a problem. The downside to this approach is that you’ll lose Aero, as it requires a WDDM driver.

      • CypherBit Says:

        While using the XP64 driver with Windows Server 2008 worked it doesn’t with R2. I get: “The driver selected for this device does not support this version of Windows” (I’ve read about that elsewhere when it comes to R2).

        If I use the standard driver I get 1600×1200…my monitor supports 2560×1600.

        I really don’t know what to do, but I *need* to use R2 with Hyper-V on a large monitor (don’t care for Aero). I’m also willing to replace my GF card…if they are any out there that have drivers that don’t have these issue.

        Any additional suggestions would be greatly appreciated.

      • Scott Havens Says:

        CypherBit, have you tried setting the compatibility settings on the setup file before running it? I haven’t tried stepping all the way through the installation, since I shouldn’t really reboot my Win2K8 R2 boxes at the moment, but you might want to try this. I tried extracting the contents of the 190.62_desktop_winxp_64bit_english_whql.exe file to a folder, then running the setup.exe inside; the first time, I got the error message you got, but after setting the compatibility mode to Windows Server 2003 (Service Pack 1) I was able to get past that error message.

        If that still runs into an error on your system, you can probably expand the driver files (specifically, all the ones that end in an underscore) that were included in that zip and then manually install the driver via the .inf file. I haven’t tried this myself, so I provide no guarantee that your system won’t melt or explode.

        Another thing to try would be a previous driver version. I’m pretty sure the only-runs-on-XP-and-2003 error in the setup.exe is a relatively recent edition, so I suspect a previous version may suit your needs. I don’t know off the top of my head when that was added.

        Barring that, other graphics card manufacturers may not include the limitation on installing XP64 drivers. You’ll see a problem with any WDDM video driver that I know of, however, and I don’t know off the top of my head which graphics card manufacturers support XP64 drivers on Win2K8 R2.

        Finally, you could go the last resort route of separating your Hyper-V server from your workstation — have the VMs on one box, and run your large monitor and up-to-date drivers on another. It’s best to RDP into the VMs, anyway, so you won’t see much (if any) difference accessing them locally versus over the network. Neither system would need to support SLAT in this case. If you have spare hardware sitting around, this may work great; if you don’t, it might cost as much to do this as it would to build a new system that supports SLAT. I thought I’d mention it for the sake of completeness; it’s at least something to consider.

  5. CypherBit Says:

    Scott, I have tried installing by unzipping and going to Device Manager and pointing at the extracted folder.

    Others are also reporting that installing the x64 XP driver under R2 does not work:

    http://social.technet.microsoft.com/Forums/en-US/winserverhyperv/thread/4e1c53f5-0400-4ca9-8819-f942c10881c1

    Thank you for suggesting additional options, but using an additional machine to RDP into definitely isn’t the route I’m willing to take. Space, money, energy are all reasons this won’t happen.

    • Scott Havens Says:

      With all that failing, I don’t know what to say except Hyper-V in Win2K8 R2 simply won’t work for you. It’s a pretty sad situation, and one I hope Microsoft rectifies. In the meantime, the best suggestion I have is one I mentioned in a recent blog post, and just use VMware Workstation or VirtualBox instead.

      • CypherBit Says:

        Scott,

        thank you for all your suggestions, effort.

        It is indeed sad, and I also hope this gets a fix one way or another, since I’ll have to continue using R2 (it has unique features and I need .vhd’s).

  6. Mobile Core i7 and graphics Says:

    Has anyone gotten Win 2008 R2 Hyper-V working w/ a core i7 mobile and a graphics driver? All posts say that Core i7 was supposed to support SLAT/EPT. But I have two different i7 laptops, one w/ ATI, the other NVidia, and they both crash when Hyper-V role and graphics driver is installed. Anyone have any luck? answers?


Comments are closed.

%d bloggers like this: