[vfio-users] GPU passthrough with Intel KVMGT, Nvidia card gets subsystem id 00000000 when passed through

János Horváth hjanos95 at gmail.com
Tue Jul 12 00:47:28 UTC 2016


Hi Jack,

Thanks for your reply.

I have a native Windows 8.1 64bit system in dual boot currently, so I
didn't need the bootable USB trick.
The problem is that I have already tried dumping the VBIOS with GPU-Z and
it has failed. Apparently this GTX860M Maxwell GPU is somewhat different
and GPU-Z can't save the VBIOS. I have also read that the VBIOS in this
case is not in the card itself, rather it is included in the main BIOS of
the laptop.

Regards,
János

On Tue, Jul 12, 2016 at 2:40 AM Jack Coulter <jscinoz at jscinoz.so> wrote:

> Hi János,
>
> I had problems myself when trying to extract a card's firmware via
> Nouveau - the resulting VBIOS images gave me the same issue in the VM -
> a subsystem ID of all zeros. On a hunch, I made a bootable Windows USB
> and dumped the VBIOS with GPU-Z - this resulting binary then worked with
> VFIO. You could give this a try and see if it resolves your issue. You
> can use rufus (https://github.com/pbatard/rufus) to create a live
> Windows environment ("Windows to Go" is the option you're after).
>
> Curious to hear how this goes, as I've recently acquired an Optimus
> system myself and have been wondering if KVMGT + VFIO would finally
> allow for Optimus to work in a VM.
>
>
> Kind regards,
> Jack
>
> On 11/07/16 06:26, János Horváth wrote:
> > Hi all,
> >
> > I'm trying to get native Windows gaming performance while running
> > Linux on my Optimus laptop (Lenovo Y50).
> > Hardware:
> > CPU: Intel Core i7-4710HQ
> > RAM: 16GB DDR3 1600MHz
> > GPU: Nvidia GeForce GTX860M & Intel HD 4600
> > It supports IOMMU and all the requirements for the pci passthrough.
> >
> > I have found a project by Intel, KVMGT
> > (
> https://01.org/igvt-g/blogs/wangbo85/2016/intel-gvt-g-kvmgt-public-release-q12016
> )
> > which lets me share the Intel Integrated Graphics (HD 4600) between
> > the host and the guest, so I thought that I could replicate the
> > Optimus feature inside the VM, while the host would be running on the
> > Intel HD 4600. I installed Intel's test release to the laptop (Ubuntu
> > 14.04 64bit with kernel 4.3.0 patched with support for KVMGT, and a
> > patched QEMU and SeaBios) and created a Windows 8.1 64bit VM.
> > It works great, the VM recognizes the Intel HD 4600 and I am able to
> > choose which machine's (host or guest) screen to show on my display.
> > (By the way this (Intel's) solution is by far the best for this
> > purpose as I am able to switch between which OS to show on the
> > displays not having to only rely on which monitor is plugged to which
> > output)
> > The problem is (as expected) with the Nvidia GTX860M. I am able to
> > pass through the device, but in Windows Device Manager, it shows the
> > vendor and device ID correctly, but the subsystem shows as 00000000,
> > so I am of course unable to install any driver.
> > I have tried to use the vBIOS of the Nvidia card with the romfile
> > option of QEMU, but it does not help (I extracted the vBIOS, which is
> > not UEFI capable btw, with nouveau driver from a live system).
> >
> > Here is the command I use to start QEMU:
> > sudo /usr/bin/qemu-system-x86_64 -m 2048 -smp 2 -M pc -name kvmgt
> > -drive
> >
> file=/media/hjanos/Hjanos2TB/VM/GPU/GPU-intel.img,format=raw,index=0,media=disk
> > -cdrom
> >
> /media/hjanos/Hjanos2TB/ISO/en_windows_8.1_with_update_x64_dvd_4065090.iso
> > -bios /usr/bin/bios.bin -enable-kvm -vgt -vga vgt -display sdl
> > -machine kernel_irqchip=on -vgt_high_gm_sz 384 -vgt_low_gm_sz 128
> >  -vgt_fence_sz 4 -cpu
> >
> host,kvm=off,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1fff,hv_vendor_id=Nvidia43FIX
> > -usb -usbdevice tablet -net nic -net tap,script=/home/hjanos/qemu-ifup
> > -net user,smb=/home/hjanos -device
> > vfio-pci,host=01:00.0,romfile=/media/hjanos/Hjanos2TB/VM/GPU/vbios.rom
> >
> > I need help to figure out why does the subsystem id gets changed to
> > 00000000 when I pass through the Nvidia card, as I beleive that makes
> > the driver unable to install. (it is not code 43 as usual, rather it
> > is code 28)
> >
> > Please let me know if you need any additional details.
> >
> > Thanks,
> > Janos
> >
> >
> > _______________________________________________
> > vfio-users mailing list
> > vfio-users at redhat.com
> > https://www.redhat.com/mailman/listinfo/vfio-users
>
>
> _______________________________________________
> vfio-users mailing list
> vfio-users at redhat.com
> https://www.redhat.com/mailman/listinfo/vfio-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20160712/3d5c29f8/attachment.htm>


More information about the vfio-users mailing list