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

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

  • To: xen-users@xxxxxxxxxxxxxxxxxxx
  • From: Jason Sonnek <jsonnek@xxxxxxxxx>
  • Date: Tue, 15 Feb 2011 07:56:02 -0600
  • Delivery-date: Tue, 15 Feb 2011 05:56:52 -0800
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=v12JkMiq/39Sk4+X3rQRpF3l77Lf4CN/dnqmmOlcMRP1XHYqrGkAA0h2vbU0reSIUq 1mT4IUH2OlDvhd2AgzOu3bT+WVgZdftxKrY1JCg3uVglB2ZFIx4+xhBiyFYh/X61DFaA 5AAptF0WxEHqTBuxtz+euR/piTUbv7bu4D2yg=
  • List-id: Xen user discussion <xen-users.lists.xensource.com>

Sorry if this is a duplicate, just realized I trounced the [Xen-users]
tag in the subject line in my previous attempt so I'm not sure it will
go through.

> ------------------------------
> 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
> Message-ID:
>        <AANLkTim5kezXp65NTCm0Ppxk6vR837hdXFrv7gd=OkK-@xxxxxxxxxxxxxx>
> Content-Type: text/plain; charset="iso-8859-1"
> Hi,
> 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
> computer.
> 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®.