[vfio-users] Bluescreen on Guest OS graphics driver installation
Nicolas Roy-Renaud
nicolas.roy-renaud.1 at ens.etsmtl.ca
Fri May 13 23:59:22 UTC 2016
Ah, great! I was waiting for someone to test those instructions.
Looks like adding the PCI root port is a common mistake here, I really
should mention it somewhere. Same thing about the CPU model, I should
probably reccomand that people use host-passthrough before they scroll
down further and go with core2duo instead right at the start.
Looks like it all went pretty well aside from that, though, which is great!
- Nicolas
On 2016-05-13 19:16, Okky Hendriansyah wrote:
> On Sat, May 14, 2016 at 3:32 AM, <christopher at padarom.io
> <mailto: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!
>
>
> Best regards,
> Okky Hendriansyah
>
>
> _______________________________________________
> 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/20160513/82d8b9a8/attachment.htm>
More information about the vfio-users
mailing list