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

christopher at padarom.io christopher at padarom.io
Sat May 14 00:02:56 UTC 2016


Hello Okky,
 
I removed the PCI bridge from my vfio configuration and regenerated the
image. I already used the Hyper-V ID, but had yet to hide KVM. I also
changed the CPU to *host-passthrough *and booted my VM up again.
 
This time the driver installed without any issues and my resolution is
now at a full 1920x1080.
 
Thanks a lot for your help!
 
Regards,
Christopher Mühl
 
Am Sa, 14. Mai 2016, um 01:16, schrieb Okky Hendriansyah:
> 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!
>>
> Best regards,
> Okky Hendriansyah
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20160514/6a432360/attachment.htm>


More information about the vfio-users mailing list