[vfio-users] Bluescreen on Guest OS graphics driver installation

Okky Hendriansyah okky.htf at gmail.com
Fri May 13 23:16:06 UTC 2016


On Sat, May 14, 2016 at 3:32 AM, <christopher at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20160514/affd5ae3/attachment.htm>


More information about the vfio-users mailing list