[vfio-users] Windows 10 guest refuses to boot when passed my NVIDIA graphics card
Blank Field
ihatethisfield at gmail.com
Tue Sep 15 16:19:32 UTC 2015
You know, if the darn calculator starts on the second launch only and draws
a loading screen - that's not the environment to blame.
Although my cards do support directX 12, is there any benchmarks or games i
can use to test it?
On Sep 15, 2015 7:15 PM, "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
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20150915/8a308266/attachment.htm>
More information about the vfio-users
mailing list