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

Re: [Xen-users] Primary VGA Passthrough Status



On Tue, 8 Oct 2013 09:20:51 -0700, David Erickson <halcyon1981@xxxxxxxxx> wrote:
On Tue, Oct 8, 2013 at 5:42 AM, Gordan Bobic  wrote:
 On Tue, 8 Oct 2013 00:04:33 -0700, David Erickson  wrote:
  On Mon, Oct 7, 2013 at 11:29 PM, Gordan Bobic Âwrote:

 On 10/07/2013 09:33 PM, David Erickson wrote:
 Â Hi All-
 ÂIs it possible yet to pass through a ATI or Nvidia GPU as the
primary
 ÂVGA card to a Win 7/8 VM, and have it fully functional there (DXVA
 etc),

 ÂWhy exactly do you need the card to be primary in domU? IME this
 doesn't gain you anything other than being able to see the BIOS
splash
 screen and boot animation on the external monitor (which in itself
 isn't worth the extra effort).

Primarily it is for htpc functionality like Blu-ray playback software
 and Digital Cablecard based playback using devices like a HDHR
 Prime. I believe the code that tests for playready (or equivalent)
 compatibility always looks at the primary video card and finds it
 totally missing any of these features and refuses to play back
 properly. I need to verify that having a passed through card as the
 primary actually solves these issues, but I think it is a reasonable
 hunch (unless anyone else has already tried this and proved it
wrong).

 I never used it so cannot comment on it. David Techer maintains a
 patch set for Nvidia cards that include primary passthrough support.
 The one in particular you will need is the one that gives the VBIOS
 loading supprot in domU. Between that and a GTX480 modified to a
 Quadro 6000 (VBIOS editing required) you _might_ just be able
 to get it to work. I never tried primary passthrough since secondary
 passthrough has always worked for all of my requirements.

  Â without crashing the guest or the host during operation or when
 Âresetting the guest?

 ÂIt works fine with Nvidia Quadro cards (real or modified GeForce),
 provided your hardware works properly (e.g. no dodgy PCI bridges
(such
 as Nvidia NF200) bypassing the IOMMU). The latter is, it turns out,
 quite rare - an awful lot of hardware seems to have IOMMU support
 broken to some extent.

 Is there something special in the bios/firmware that is enabled when
 converting these to Quadros?

 You have to modify the strap bits. This can be done with a BIOS edit
 on cards up to GTX480, or with some soldering on a GTX680 (you will
 need good eyes, steady hands, high quality soldering paste and some
 pro grade soldering kit (hot air or oven - you might be able to
 get away with a really tiny soldering tip, but bear in mind that
 you will be looking at soldering both ends of a resistor that is 1mm
 long, without shorting it out). If you want the easy option, go
 for a GTX480 and BIOS mod it (or a GTX470 -> Quadro 5000 or a
 GTS450 (make sure you get a 1GB GDDR5 one) -> Quadro 2000 I have
 used all of the above extensively without any issues).

Thanks Gordon, I probably wasn't clear in my question, but when you
convert it from a standard Geforce => Quadro, what is changing at the
card level to make it more compatible with PCI Passthrough and Xen?

GeForce drivers don't implement support for various quirks and
side-effects of running in a VM. Quadro drivers do. You change the
PCI ID of the card by modifying the straps. That makes the card get
detected as a Quadro rather than a GeForce, and the Quadro driver
deals with the quirkyness and side-effects of running in a VM (e.g.
the fact that the physical BARs differ from the virtual BARs).

The hardware between the GeForce and the Quadro is by and large
the same. The reason for the modification is to convince the Quadro
driver the card really is a Quadro and that you paid an extra pile
of cash for the privilege of running it in VGA passthrough.

Is it some feature of the new firmware that is being flashed to the
card?

No, it's a hack to facilitate the use a driver that can handle running
in a VM.

And do Geforce cards just absolutely not work at all prior to
being converted to Quadros?

GeForce cards absolutely do not work with VGA passthrough without
modifications; at least not without an additional, unsupported patch
set which doesn't work for recent cards (4xx cards work, not sure
about the more recent ones), recent drivers (more recent than 275.xx),
and recent OS-es (more recent than XP).

And unless your time really is worthless, getting a GeForce 4xx series
card and modifying it once with no other side effects is a lot less
effort than maintaining your own build of Xen packages with the extra
patches, even if they do work for your specific use-case.

Gordan

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxx
http://lists.xen.org/xen-users

 


Rackspace

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