On Sat, May 14, 2016 at 3:32 AM, <christop...@padarom.io> wrote: > Hello guys, >
Hi Christopher, > > I'm pretty new to VFIO and GPU passthrough. I have set everything up now > according to the "PCI Passthrough via OVMF" guide on the ArchLinux wiki, > but have run into some issues that I couldn't get a solution for anywhere. > > The relevant part of my setup is as follows: > Intel i5 4690K > WindForce GTX 660 Ti > AsRock Z97M Anniversary Mainboard > > Host OS: Arch Linux (Linux 4.5.4-1-ARCH) > Guest OS: Windows 10 64-Bit Home > > I have set up the VM via virt-manager and installed it onto a RAW image > that's on one of my SSDs (50GB). > > The IOMMU group that's relevant for VFIO is this one: > IOMMU group 1 > 00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v3/4th Gen Core > Processor PCI Express x16 Controller [8086:0c01] (rev 06) > 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK104 > [GeForce GTX 660 Ti] [10de:1183] (rev a1) > 01:00.1 Audio device [0403]: NVIDIA Corporation GK104 HDMI Audio > Controller [10de:0e0a] (rev a1) > > I set up my vfio.conf accordingly: > # cat /etc/modprobe.d/vfio.conf > options vfio-pci ids=10de:1183,10de:0e0a,8086:0c01 > You just have to pass your GPU PCI IDs here, do not attempt to pass the PCI bridge! So skip the *8086:0c01* and just pass *options vfio-pci ids=10de:1183,10de:0e0a*. After updating this config, make sure to regenerate kernel image by issuing *sudo mkinitcpio -p linux*, assuming that you already put all VFIO modules in */etc/mkinitcpio.conf* as per Arch Linux Wiki. > > And it initialized correctly: > # dmesg | grep -i vfio > [ 0.309866] VFIO - User Level meta-driver version: 0.3 > [ 0.323490] vfio_pci: add [10de:1183[ffff:ffff]] class 0x000000/00000000 > [ 0.336838] vfio_pci: add [10de:0e0a[ffff:ffff]] class 0x000000/00000000 > [ 0.336845] vfio_pci: add [8086:0c01[ffff:ffff]] class 0x000000/00000000 > > I passed both 01:00.0 and 01:00.1 to my VM and when booting it up it shows > up on my secondary monitor that's connected to my graphics card. As a CPU I > used the "core2duo" model. > If you do not have issues using *host* model in plain QEMU script or *host-passthrough* if using *virt-manager*, I think it is preferrable to use that instead of *core2duo*. Since the guest can see your exact CPU model on the host. Side question: I can't start my VM with 00:01.0 attached, but thought I had > to as it's in the same IOMMU group. Do I even have to add it to my > vfio.conf then? > No, you just have to passthrough your GPU PCI IDs, not the PCI Bridge. The problem I'm having is installing the driver for the graphics card. My > display resolution is stuck at something like 640x480. I have tried > installing 365.19 and 364.72, after about 5% progress my windows crashes > into a bluescreen with the error "SYSTEM_THREAD_EXCEPTION_NOT_HANDLED > (nvlddmkm.sys)", no matter whether I install it in GeForce Experience, > directly through the installer or the device manager. > I have also tried uninstalling the original driver with DDU, which didn't > help either. > Please try to skip the PCI Bridge first and use the host or host-passthrogh model in your CPU config. Oh and do not forget to hide KVM CPUID and use Hyper-V Vendor ID to hide virtualization from NVIDIA driver. I have encountered that kind of exception message when upgrading to Windows 10 and to Windows 10 Threshold 2 and I worked around it by switching the CPU model temporarily to *core2duo*, apply DDU and revert it back to *host* again. > GPU-Z correctly identifies my GPU as a GK104, but it (and my device > manager) both only show "Device" as it's name. I don't know whether that is > problematic or not. > > Does anyone have any ideas how to fix this? > > Sorry for the lengthy post, but looking forward to any and all answers, > thanks! > <https://www.redhat.com/mailman/listinfo/vfio-users> Best regards, Okky Hendriansyah
_______________________________________________ vfio-users mailing list vfio-users@redhat.com https://www.redhat.com/mailman/listinfo/vfio-users