I am attempting to passthrough an NVIDIA GPU on an optimus-enabled laptop and use it in conjuction with Intel GVT-g. The host system is Ubuntu, guest is Windows 7.
After setting up Intel GVT-g according to the iGVT setup guide, the Intel card is successfully shared between the guest and host.
The GTX 960M vBIOS was obtained as follows: AFUWIN was used to dump the Aptio BIOS on the laptop, then the GTX 960M vBIOS was extracted using MMTool. The BIOS seems valid, but does not appear to have EFI support.
The GPU was passed through as follows:
qemu-system-x86_64 \ -m 2048 -smp 2 \ -bios /usr/bin/bios.bin \ -enable-kvm -M pc -cpu host \ -machine kernel_irqchip=on \ -hda /home/user/VM/win7.img \ -net nic -net tap,script=/home/user/VM/qemu-ifup \ -vgt -vga vgt -vgt_low_gm_sz 128 -vgt_high_gm_sz 384 -vgt_fence_sz 4 \ -device vfio-pci,host=02:00.0,romfile=/home/user/VM/optionrom_nvidia.rom
This seems to pass the NVIDIA GPU through to the guest, where it shows up as a 3D Video Controller in the device manager. The vendor and device ID show up fine in the device manager, but the subsystem shows as 00000000, making it impossible to install the NVIDIA drivers.
The question here is, why is the subsystem not showing up correctly, and how can it be fixed?