[vfio-users] Nvidia Error 43 and vendor_id state='on'
David
david283 at gmail.com
Sun Jun 12 18:57:33 UTC 2016
Thank you for the Reply Nicolas.
Thanks for the info on the USB controllers, i may in the future play
with that and try to bind them only when the VM is running.
As for my XML config, at the time I copied it, there was an issue with
the Nvidia card giving an error 43 in device manager after boot. I
reattached the virtual VGA and console to gain access and
troubleshoot. I then remove the nvidia 760 and was was playing with
the XML to restore the <hyperv> and <clock> settings.
I have since resolved the nvidia card error 43 issue (it was a card
seating or cable issue) and removed the 3 <hyperv> and one <clock>
setting. I have given up on those 4 settings for now, as any one of
the 4 will prevent boot.
Thank you for the tip on the MSI interrupts, i will read that and
follow it to see if it resolves my audio issues.
On Sun, Jun 12, 2016 at 12:36 PM, Nicolas Roy-Renaud
<nicolas.roy-renaud.1 at ens.etsmtl.ca> wrote:
> 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 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
--
David
david283 at gmail.com
More information about the vfio-users
mailing list