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

Re: [Xen-users] VGA Passthrough attempted with an Nvidia GTX970

From the screenshots you attached, it looks like you are trying to pass
the GTX970 to the domU. Unless something has changed very recently,
that will not work unless you do one of the following:

1) Patch QEMU to disable PCI snooping and prevent it showing to
the guest the CPU make/model is QEMU.

This will prevent the driver from detecting it is running in a
VM and it will thus agree to initialize the GPU. Yes, Nvidia
driver looks for signs of being in a VM and if it finds them,
it will refuse to initialize GPUs other than the expensive
Quadros and Teslas (cheap Quadros and GeForces won't work).

2) Modify the card so that it's PCI device ID is that of a
Quadro/Tesla. This can be done with a BIOS modification on
cards up to and including the Fermi class (up to GTX480),
or using a hardware modification (Kepler GTX 6xx/7xx series
cards). Easiest are GTX 680 (remove one resistor to turn into
a Tesla K10) or GTX780Ti (add a 1205 resistor across EEPROM
pins to turn into a K6000.

This will fool the driver into thinking the card is a suitably
expensive Quadro/Tesla, and it will thus agree to initialize it.

3) Modify the Nvidia driver to neuter the VM check.
This will void your license to use the driver, you will need
very good disassembling tools, and assming you succeeds (I'm
not good enough to have tried it), you will need to strip out
the driver signature, disable driver signature checking in
Windows, and then it might work.

On 2015-02-11 13:51, Nopey Nope wrote:
I have been trying to achieve VGA passthrough to an HVM Windows8.1 pro
subdomain (for gaming) on Xen 4.5.0 (compiled from source).
Currently, the PC has two graphics cards in slots 01:00.0 (Nvidia GTX
970) and 04:00:0 (Radeon HD6870).  When the PC first starts, BIOS and
beginning Xen chatter show on the Right monitor (which is Nvidia's)
and sometime when Xen PCI-back grabs the card, or when the kernel
realizes that the Nouveau drivers are blacklisted, the output switches
to the Left monitor (Radeon's).  Linux then behaves quite nicely.

OS/Kernel Info:
Distribution: elementaryOS Luna 0.2
toaster@toaster:~$ uname -a

Linux toaster 3.18.1 #4 SMP Sun Feb 1 21:33:33 EST 2015 x86_64 x86_64
x86_64 GNU/Linux

Motherboard: Gigabyte 990fxaUd3 rev1.1, latest firmware
IOMMU and Virtualization enabled

Image 1

VGA passthrough appears to be somewhat functional, but I can never get
Windows8.1 Pro to take over the Right monitor.  I currently have to
leave gfx_passthru disabled, and I have to vnc into the machine in
order to see anything happening:

Windows Device Manager:
Image 2
There are no extra monitors present :(
Image 3

Ejecting the devices from the taskbar appears do either do nothing, or
occasional cause the device to report no error in device manager. (no
change occurs that I can detect though) The card was known to work
when Linux was booting to it prior to this setup.  I doubt that the
physical integrity of the card has been compromised.

Squawk List:
1.) Drivers don't like being reset, but from what I read, this is
probably ignore-able.
sudo xl create win.cfg
Parsing config from win.cfg
libxl: error: libxl_pci.c:1034:libxl__device_pci_reset: The kernel
doesn't support reset from sysfs for PCI device 0000:01:00.0
libxl: error: libxl_pci.c:1034:libxl__device_pci_reset: The kernel
doesn't support reset from sysfs for PCI device 0000:01:00.1</pre>

2.) The kernel I compiled is obviously working for general use,
however I'm unsure if I need to make changes to other configuration.

I have tried a couple things, and I'm now here.
I've bumped up my kernel version, compiled xen-pciback into the
kernel, messed with my xl config, even looked into modding
(quadro-ing?) the GTX970... but that doesn't seem to be possible at
this moment.

Is there anything I can do?  Or am I out of things to try?  I'd love
to get someone else's opinion on this... however I think I shot myself
in the foot trying to do this with a 970 this early...

Relevent logs should be attached

Xen-users mailing list

Xen-users mailing list



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