[vfio-users] Windows 10 guest refuses to boot when passed my NVIDIA graphics card

Abdulla Bubshait darkstego at gmail.com
Thu Sep 17 13:41:11 UTC 2015


Hi Okky,

Thanks for the script. I wanted to ask what kernel and qemu version you
were running and if there were any patches involved in your setup as I am
having trouble replicating a working game on windows 10.

Many thanks,
Abdulla

On Tue, Sep 15, 2015, 19:30 Okky Hendriansyah <okky at nostratech.com> wrote:

> Hi Abdulla,
>
> Sorry I just woke up, here’s the script that I use:
> http://pastebin.com/e0xvN8cG
> Just ask for any further details that you want.
>
> Best regards,
>
> --
> *Okky Hendriansyah*
>
> On September 16, 2015 at 01:08:45, Abdulla Bubshait (darkstego at gmail.com)
> wrote:
>
> Could you please send me your config or script. Because mine would always
> crash on startup. I tried a win10 upgrade, fresh install and multiple video
> cards. So I am guessing maybe some config is causing the game to crash.
>
> On Tue, Sep 15, 2015 at 1:41 PM Okky Hendriansyah <okky at nostratech.com>
> wrote:
>
>> Seems pretty normal in my Windows 10 VM. Ran silky smooth. Still in
>> tutorial though. Here’s a picture of it.
>> https://www.dropbox.com/s/6avpiyxoedp5v4s/2015-09-16%2000.31.20.jpg?dl=0
>>
>> <https://www.dropbox.com/s/6avpiyxoedp5v4s/2015-09-16%2000.31.20.jpg?dl=0>
>> --
>> *Okky Hendriansyah*
>>
>> On September 15, 2015 at 23:31:54, Okky Hendriansyah (okky at nostratech.com)
>> wrote:
>>
>> OK, let me try to install Heroes of the Storm first.
>>
>> --
>> *Okky Hendriansyah*
>>
>> On September 15, 2015 at 23:28:09, Abdulla Bubshait (darkstego at gmail.com)
>> wrote:
>>
>> I experience instant guest crash on Starcraft2 and Heroes of the Storm
>> (both use the same engine). The guest would just shutdown and reboot as
>> soon as you start the games. Same result whether using Nvidia GTX 770 or
>> AMD R9 Fury X.
>>
>> Games work fine if I boot Windows 10 on the same HW (non virtual). I
>> would assume it will take a few months to get these things sorted out.
>>
>> On Tue, Sep 15, 2015 at 12:18 PM Okky Hendriansyah <okky at nostratech.com>
>> wrote:
>>
>>> Hmm, weird, I have my Windows 10 work very smooth on my setup using the
>>> latest NVIDIA driver. Although I didn’t install it fresh like Jasen did, I
>>> upgraded mine from a Windows 8.1. What games are you experiencing the
>>> contant crash?
>>>
>>> --
>>> *Okky Hendriansyah*
>>>
>>> On September 15, 2015 at 23:15:51, Abdulla Bubshait (darkstego at gmail.com)
>>> wrote:
>>>
>>> I stopped trying to get win10 running due to constant crashing in
>>> certain games with VFIO with all different kinds of GPU. Something about
>>> win10 isn't working well in virtualized environment.
>>>
>>> On Tue, Sep 15, 2015 at 11:58 AM Blank Field <ihatethisfield at gmail.com>
>>> wrote:
>>>
>>>> All i can say about this problem: try another OS.
>>>> I've ran into that kind of problem exceptionally on win10.
>>>> And i have a radeon card, go figure why the new OS is upset again.
>>>> On Sep 15, 2015 6:33 PM, "Jasen Borisov" <tajjada at gmail.com> wrote:
>>>>
>>>>> Hello everyone,
>>>>>
>>>>> I have been following the guides on the vfio blogspot for setting up a
>>>>> Windows guest for gaming by passing it my NVIDIA GeForce GTX 980 graphics
>>>>> card. I have an AMD Radeon R7 250 graphics card for my Linux host. I have
>>>>> ran into a strange problem and have not managed to find a solution to it
>>>>> online, so I decided to come here and see if anyone knows anything about it.
>>>>>
>>>>> Here is the problem I am facing:
>>>>>
>>>>> I installed the Windows guest (Windows 10 Pro) in a kvm virtual
>>>>> machine made with virt-manager, using the default qxl/spice setup during
>>>>> the installation, as instructed here
>>>>> <http://vfio.blogspot.bg/2015/05/vfio-gpu-how-to-series-part-4-our-first.html>.
>>>>> After the installation completed, I removed any extra virtual devices and
>>>>> added the PCI host/vfio device for my NVIDIA graphics card. I also edited
>>>>> the XML to hide the kvm virtualization, in preparation for installing the
>>>>> NVIDIA drivers on Windows, when I boot with my actual graphics card. I have
>>>>> made no attempt to configure hugepages yet.
>>>>>
>>>>> However, when starting up the VM, Windows no longer booted
>>>>> successfully. I saw the Tianocore splash on my physical monitor, followed
>>>>> by the Windows logo. The Windows logo stayed frozen (without the spinning
>>>>> loading indicator under it) for a few minutes, and then the spinning-dots
>>>>> loading indicator appeared for a few seconds and the machine *reset*. It
>>>>> kept resetting again and again, never getting past the Windows boot screen.
>>>>>
>>>>> I would assume that my PCI passthrough worked successfully, since my
>>>>> physical monitor turned on and I saw the video output from the virtual
>>>>> machine on it. However, I can't figure out why Windows cannot finish
>>>>> booting successfully. Any help with this issue would be greatly appreciated.
>>>>>
>>>>> The same copy of Windows (or rather, installed from the same
>>>>> installation ISO) works fine with my NVIDIA card on my actual hardware /
>>>>> when not in a virtual machine, so I am sure this is not a hardware problem.
>>>>>
>>>>>
>>>>> Here is some relevant information about my system:
>>>>>
>>>>> /proc/cmdline:
>>>>> ... intel_iommu=on iommu=pt vfio-pci.ids=10de:13c0,10de:0fbb,8086:8d26
>>>>> vfio.disable_vga=1 ...
>>>>> (I omitted my rootfs and other irrelevant kernel options)
>>>>> The PCI IDs listed in my kernel commandline are my GPU, its audio, and
>>>>> an EHCI controller on my system for USB, in that order.
>>>>>
>>>>> I did not need to use any "hacks" like the ACS override patch or the
>>>>> enable_unsafe_interrupts option, since I did not experience the relevant
>>>>> issues that they were made to fix. Each one of the PCI IDs above is in its
>>>>> own IOMMU group. My system has no integrated graphics (Core i7 Extreme
>>>>> 5960X CPU).
>>>>>
>>>>>
>>>>> These lines appeared in dmesg when the VM started:
>>>>>
>>>>> [  582.886435] kvm: SMP vm created on host with unstable TSC; guest
>>>>> TSC will not be reliable
>>>>> [  584.200023] vfio-pci 0000:02:00.0: enabling device (0100 -> 0103)
>>>>> [  584.200114] vfio_ecap_init: 0000:02:00.0 hiding ecap 0x1e at 0x258
>>>>> [  584.200120] vfio_ecap_init: 0000:02:00.0 hiding ecap 0x19 at 0x900
>>>>> [  584.223041] vfio-pci 0000:00:1d.0: enabling device (0000 -> 0002)
>>>>> [  584.324093] vfio_cap_init: 0000:00:1d.0 hiding cap 0xa
>>>>> [  589.132151] kvm: zapping shadow pages for mmio generation wraparound
>>>>> [  589.133051] kvm: zapping shadow pages for mmio generation wraparound
>>>>>
>>>>>
>>>>> The libvirt domain XML of the virtual machine (yes, I called my VM
>>>>> "nouveideo" = "nouveau" + "video" :) ):
>>>>>
>>>>> <domain type='kvm'>
>>>>>  <name>nouveideo</name>
>>>>>  <uuid>849fe365-1dfe-44f6-9755-9b48eb325400</uuid>
>>>>>  <memory unit='KiB'>12345344</memory>
>>>>>  <currentMemory unit='KiB'>12345344</currentMemory>
>>>>>  <memoryBacking>
>>>>>    <nosharepages/>
>>>>>  </memoryBacking>
>>>>>  <vcpu placement='static'>16</vcpu>
>>>>>  <cputune>
>>>>>    <vcpupin vcpu='0' cpuset='0'/>
>>>>>    <vcpupin vcpu='1' cpuset='1'/>
>>>>>    <vcpupin vcpu='2' cpuset='2'/>
>>>>>    <vcpupin vcpu='3' cpuset='3'/>
>>>>>    <vcpupin vcpu='4' cpuset='4'/>
>>>>>    <vcpupin vcpu='5' cpuset='5'/>
>>>>>    <vcpupin vcpu='6' cpuset='6'/>
>>>>>    <vcpupin vcpu='7' cpuset='7'/>
>>>>>    <vcpupin vcpu='8' cpuset='8'/>
>>>>>    <vcpupin vcpu='9' cpuset='9'/>
>>>>>    <vcpupin vcpu='10' cpuset='10'/>
>>>>>    <vcpupin vcpu='11' cpuset='11'/>
>>>>>    <vcpupin vcpu='12' cpuset='12'/>
>>>>>    <vcpupin vcpu='13' cpuset='13'/>
>>>>>    <vcpupin vcpu='14' cpuset='14'/>
>>>>>    <vcpupin vcpu='15' cpuset='15'/>
>>>>>  </cputune>
>>>>>  <os>
>>>>>    <type arch='x86_64' machine='pc-i440fx-2.4'>hvm</type>
>>>>>    <loader
>>>>> type='pflash'>/btrfs/VirtualMachines/OVMF_nouveideo.fd</loader>
>>>>>  </os>
>>>>>  <features>
>>>>>    <acpi/>
>>>>>    <apic/>
>>>>>    <pae/>
>>>>>    <kvm>
>>>>>      <hidden state='on'/>
>>>>>    </kvm>
>>>>>    <vmport state='off'/>
>>>>>  </features>
>>>>>  <cpu mode='host-passthrough'>
>>>>>    <topology sockets='1' cores='8' threads='2'/>
>>>>>  </cpu>
>>>>>  <clock offset='utc'>
>>>>>    <timer name='rtc' tickpolicy='catchup'/>
>>>>>    <timer name='pit' tickpolicy='delay'/>
>>>>>    <timer name='hpet' present='no'/>
>>>>>  </clock>
>>>>>  <on_poweroff>destroy</on_poweroff>
>>>>>  <on_reboot>restart</on_reboot>
>>>>>  <on_crash>restart</on_crash>
>>>>>  <pm>
>>>>>    <suspend-to-mem enabled='no'/>
>>>>>    <suspend-to-disk enabled='no'/>
>>>>>  </pm>
>>>>>  <devices>
>>>>>    <emulator>/usr/bin/qemu-system-x86_64</emulator>
>>>>>    <disk type='file' device='disk'>
>>>>>      <driver name='qemu' type='raw'/>
>>>>>      <source file='/btrfs/VirtualMachines/Win10NOUVEIDEO.img'/>
>>>>>      <target dev='vda' bus='virtio'/>
>>>>>      <boot order='1'/>
>>>>>      <address type='pci' domain='0x0000' bus='0x00' slot='0x07'
>>>>> function='0x0'/>
>>>>>    </disk>
>>>>>    <disk type='block' device='cdrom'>
>>>>>      <driver name='qemu' type='raw'/>
>>>>>      <target dev='hdb' bus='ide'/>
>>>>>      <readonly/>
>>>>>      <boot order='2'/>
>>>>>      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
>>>>>    </disk>
>>>>>    <disk type='file' device='cdrom'>
>>>>>      <driver name='qemu' type='raw'/>
>>>>>      <source file='/btrfs/VirtualMachines/virtio-win-0.1.109.iso'/>
>>>>>      <target dev='hdc' bus='ide'/>
>>>>>      <readonly/>
>>>>>      <address type='drive' controller='0' bus='1' target='0' unit='0'/>
>>>>>    </disk>
>>>>>    <controller type='pci' index='0' model='pci-root'/>
>>>>>    <controller type='ide' index='0'>
>>>>>      <address type='pci' domain='0x0000' bus='0x00' slot='0x01'
>>>>> function='0x1'/>
>>>>>    </controller>
>>>>>    <controller type='usb' index='0' model='nec-xhci'>
>>>>>      <address type='pci' domain='0x0000' bus='0x00' slot='0x02'
>>>>> function='0x0'/>
>>>>>    </controller>
>>>>>    <interface type='bridge'>
>>>>>      <mac address='52:54:00:b3:71:21'/>
>>>>>      <source bridge='br0'/>
>>>>>      <model type='virtio'/>
>>>>>      <address type='pci' domain='0x0000' bus='0x00' slot='0x03'
>>>>> function='0x0'/>
>>>>>    </interface>
>>>>>    <sound model='ich6'>
>>>>>      <address type='pci' domain='0x0000' bus='0x00' slot='0x04'
>>>>> function='0x0'/>
>>>>>    </sound>
>>>>>    <hostdev mode='subsystem' type='pci' managed='yes'>
>>>>>      <source>
>>>>>        <address domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
>>>>>      </source>
>>>>>      <address type='pci' domain='0x0000' bus='0x00' slot='0x0a'
>>>>> function='0x0' multifunction='on'/>
>>>>>    </hostdev>
>>>>>    <hostdev mode='subsystem' type='pci' managed='yes'>
>>>>>      <source>
>>>>>        <address domain='0x0000' bus='0x02' slot='0x00' function='0x1'/>
>>>>>      </source>
>>>>>      <address type='pci' domain='0x0000' bus='0x00' slot='0x0a'
>>>>> function='0x1'/>
>>>>>    </hostdev>
>>>>>    <hostdev mode='subsystem' type='pci' managed='yes'>
>>>>>      <source>
>>>>>        <address domain='0x0000' bus='0x00' slot='0x1d' function='0x0'/>
>>>>>      </source>
>>>>>      <address type='pci' domain='0x0000' bus='0x00' slot='0x1d'
>>>>> function='0x0'/>
>>>>>    </hostdev>
>>>>>    <memballoon model='virtio'>
>>>>>      <address type='pci' domain='0x0000' bus='0x00' slot='0x08'
>>>>> function='0x0'/>
>>>>>    </memballoon>
>>>>>  </devices>
>>>>> </domain>
>>>>>
>>>>> Let me know if there is any other information I could provide which
>>>>> could help identify and correct the problem.
>>>>>
>>>>> _______________________________________________
>>>>> 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
>>>>
>>> _______________________________________________
>>> 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/20150917/eb7fc56d/attachment.htm>


More information about the vfio-users mailing list