[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-users] Re: VGA passthrough success (with doubts)

  • To: xen-users@xxxxxxxxxxxxxxxxxxx
  • From: Jason Sonnek <jsonnek@xxxxxxxxx>
  • Date: Tue, 15 Feb 2011 07:32:16 -0600
  • Delivery-date: Tue, 15 Feb 2011 05:33:31 -0800
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=SbL68+O1taKFGCIuREgI+xny8MAjd7Edq5kr/a4Hi27eeVre4DVAeYAqpjcZ9ZJ8SQ SOPupuOnYTKxw98VHubJCxtpWAncjTAuStQOCFlT5qqKujCnuyed3Ba1q4NsuMFcJmfp lyF41fSe27BG8RcScEYY981vLUNclyhLoo8xw=
  • List-id: Xen user discussion <xen-users.lists.xensource.com>


Message: 12
Date: Mon, 14 Feb 2011 20:22:09 -0800
From: Leonardo Prosperi <leo.prosperi@xxxxxxxxx>
Subject: [Xen-users] VGA passthrough success (with doubts)
To: xen-users@xxxxxxxxxxxxxxxxxxx
Content-Type: text/plain; charset="iso-8859-1"

I have got VGA passthrough to work in my computer with Windows7 HVM guest.

I pass the 3 available pci controllers to the HVM guest and the system boots
Windows 7 without problems.
I don't see the BIOS messages and the Windows 7 loading screen, but I see
only the login screen (there is a patch for this, but I will test it later)
I can see the Windows 7 loading screen, if I have use SSH+VNC from another

It is working but I have some questions for the experts:
I don't use: gfx_passthru=1 , if I enable it, VGA passthrough doesn't work
and VNC will connect to the QEMU console.
Why does it work without gfx_passthru=1?

That's not VGA passthrough. You're doing PCI passthrough of a VGA controller, and when the operating system detects and recognizes the card on the PCI bus, it starts using it. Specifying gfx_passthru=1 in the guest configuration file causes QEMU to (1) disable the emulated VGA adapter and (2) copy the VGA BIOS for the physical VGA controller from host memory into guest memory. If this flag is not set, the VGA BIOS for the emulated graphics adapter is used, not the VGA BIOS from the card. This is why you can see the BIOS messages and early boot messages using VNC, but they don't appear on the display attached to the physical VGA controller.

I too have had success passing through VGA adapters that don't work with true VGA passthrough by using gfx_passthru=0. However, this solution is only semi-functional because the emulated graphics adapter will be used until the OS detects and loads a driver for the adapter, and the response of the OS to the presence of the card is very OS-dependent (some OSes automatically detect and load a driver, others have to be coerced).

I used GPU-Z to detect the video card in Windows 7 HVM, and it reported that
it is using boch vgabios.
Is there a way to know if the real BIOS is loaded?

One way would be to look at 0xc00000 in guest memory and see if the VGA BIOS image that's loaded there matches the VGA BIOS image that you think should be loaded. As I said above, if gfx_passthru=0, we would expect to see QEMU/BOCHS VGA BIOS, not the bios of the card.

I cannot pass the keyboard as USB device, I had to pass the USB controller.
How can I pass the keyboard as usb device?

Xen supports USB passthrough as well as PCI passthrough. See http://wiki.xensource.com/xenwiki/XenUSBPassthrough. I've never had much luck with it, YMMV.

Hope this helps,

Xen-users mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.