[vfio-users] Nvidia Error 43 and vendor_id state='on'

Nicolas Roy-Renaud nicolas.roy-renaud.1 at ens.etsmtl.ca
Sun Jun 12 17:36:57 UTC 2016


On 2016-06-11 18:25, David wrote:
> OK, here we go.  Understand my XML is a little in pieces right now, as
> i am trying to re-add the
> <hyperv> settings and the one under <clock offset='localtime'>.  In
> order to get the VM to boot i
> had to remove the Nvidia card.  I first tried putting back all 3
> hyperv settings and the clock setting,
> but that didnt work.  So then i took out the clock setting and tried,
> still not luck.  The last thing i
> tried was just the clock setting and took out the 3 hyperv.  Still
> nothing.  All this without the video
> card in.
>> Kernel command line =
>> rd.lvm.lv=Linux1/root
>> rd.luks.uuid=luks-03d2bed8-deb5-414c-88aa-3c09178447ff
>> rd.lvm.lv=Linux1/swap
>> pci-stub.ids=8086:1d2d,8086:1d26
>> rd.driver.pre=vfio-pci
>> hugepages=6144
>> rhgb quiet intel_iommu=on"
>
>    * Passing the Nvidia card because its a MUCH better gaming card. The 2
> pci-stub devices are 2 Intel USB controllers.  Those are working fine
> in the VM.  For some reason the USB controllers would not work with
> vfio-pci, but worked fine with pci-stub*
>
You shouldn't need to bind vfio-pci or pci-stub to your USB controllers 
at boot, those can be detached and reattached dynamically at runtime.

>> IOMMU group 23
>>      01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] [1002:6779]
>>      01:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Caicos HDMI Audio [Radeon HD 6400 Series] [1002:aa98]
>> IOMMU group 24
>>      02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK104 [GeForce GTX 760] [10de:1187] (rev a1)
>>      02:00.1 Audio device [0403]: NVIDIA Corporation GK104 HDMI Audio Controller [10de:0e0a] (rev a1)
> /etc/modprobe.d/local.conf =
> options vfio-pci ids=10de:1187,10de:0e0a
>
> The XML lines i have currently removed =
> <hyperv>
> <relaxed state='on'/>
> <vapic state='on'/>
> <spinlocks state='on' retries='8191'/>
> </hyperv>
>> <domain type='kvm'>
>>    <name>win7</name>
>>    <uuid>5e650e04-d3f4-459d-a853-eb211e8af1ed</uuid>
>>    <memory unit='KiB'>12582912</memory>
>>    <currentMemory unit='KiB'>12582912</currentMemory>
>>    <memoryBacking>
>>      <hugepages/>
>>    </memoryBacking>
>>    <vcpu placement='static'>4</vcpu>
>>    <cputune>
>>      <vcpupin vcpu='0' cpuset='2'/>
>>      <vcpupin vcpu='1' cpuset='3'/>
>>      <vcpupin vcpu='2' cpuset='8'/>
>>      <vcpupin vcpu='3' cpuset='9'/>
>>    </cputune>
>>    <os>
>>      <type arch='x86_64' machine='pc-i440fx-2.6'>hvm</type>
>>      <loader readonly='yes' type='pflash'>/usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
>>      <nvram>/var/lib/libvirt/qemu/nvram/win7_VARS.fd</nvram>
>>      <bootmenu enable='no'/>
>>    </os>
>>    <features>
>>      <acpi/>
>>      <apic/>
>>      <hyperv>
>>        <vendor_id state='on' value='abcdefg'/>
>>      </hyperv>
>>      <kvm>
>>        <hidden state='on'/>
>>      </kvm>
>>      <vmport state='off'/>
>>    </features>
>>    <cpu mode='host-passthrough'>
>>      <topology sockets='1' cores='2' threads='2'/>
>>    </cpu>
>>    <clock offset='localtime'>
>>      <timer name='hypervclock' present='yes'/>
>>      <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-kvm</emulator>
>>      <disk type='file' device='disk'>
>>        <driver name='qemu' type='raw' cache='none' io='native'/>
>>        <source file='/var/lib/libvirt/images/win7gaming.img'/>
>>        <target dev='vda' bus='virtio'/>
>>        <boot order='1'/>
>>        <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
>>      </disk>
>>      <disk type='file' device='cdrom'>
>>        <driver name='qemu' type='raw'/>
>>        <source file='/home/david283/Downloads/virtio-win-0.1.117.iso'/>
>>        <target dev='hdb' bus='ide'/>
>>        <readonly/>
>>        <address type='drive' controller='0' bus='0' target='0' unit='1'/>
>>      </disk>
>>     <controller type='usb' index='0' model='ich9-ehci1'>
>>        <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x7'/>
>>      </controller>
>>      <controller type='usb' index='0' model='ich9-uhci1'>
>>        <master startport='0'/>
>>        <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0' multifunction='on'/>
>>      </controller>
>>      <controller type='usb' index='0' model='ich9-uhci2'>
>>        <master startport='2'/>
>>        <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x1'/>
>>      </controller>
>>      <controller type='usb' index='0' model='ich9-uhci3'>
>>        <master startport='4'/>
>>        <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x2'/>
>>      </controller>
>>      <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>
>>      <interface type='direct'>
>>        <mac address='52:54:00:56:fb:87'/>
>>        <source dev='eno1' mode='bridge'/>
>>       <model type='virtio'/>
>>        <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
>>      </interface>
>>      <input type='mouse' bus='ps2'/>
>>      <input type='keyboard' bus='ps2'/>
>>      <graphics type='vnc' port='-1' autoport='yes' keymap='en-us'/>
>>      <video>
>>        <model type='vga' vram='16384' heads='1' primary='yes'/>
>>        <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
>>      </video>
>>      <hostdev mode='subsystem' type='pci' managed='yes'>
>>        <source>
>>          <address domain='0x0000' bus='0x00' slot='0x1a' function='0x0'/>
>>        </source>
>>        <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
>>      </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='0x09' function='0x0'/>
>>      </hostdev>
>>      <memballoon model='virtio'>
>>        <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
>>      </memballoon>
>>    </devices>
>> </domain>
>>
Your config looks pretty good, aside from the fact that you still have a 
virtual VGA adapter and that I'm not seeing your guest GPU (02:00.00) in 
your VM config. You're saying your VM can't boot when it's attached, do 
you mean that you're actually just getting an Error 43 or tht your GPU 
is simply not outputting anything?

> I have tried putting each of the below settings back into the XML, one
> at a time.  Any one of these lines will cause the VM to fail to boot,
> and then reboot in windows repair mode.  Not sure what i can do about
> that.  Again, i don't use “-cpu
> host,kvm=off” anywhere.  I was never really clear on where to put that
> setting at anyway.   Does anyone think i should be using it?
Don't mind those command line arguments, those are if you're using qemu 
without libvirt. You're already passing them to qemu by having 
<kvm><hidden state='on'/></kvm> in your guest config.

> My next problem i want to tackle is my audio issues.  I am using the
> HDMI audio from the Nvidia card.  It will sometimes cut out for a
> split second for no reason, maybe once every 5 to 10 seconds.  Also
> sometimes during games I will hear a quick "tearing" noise.
You'll want to enable MSI interrupts 
<http://vfio.blogspot.ca/2014/09/vfio-interrupts-and-how-to-coax-windows.html> 
for that. The Arch wiki article doesn't mention it yet (I was planning 
to add it sometime soon), but it's a requirement to get HDMI audio to 
work properly.

-Nicolas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20160612/098870e7/attachment.htm>


More information about the vfio-users mailing list