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.* 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*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=6144rhgb quiet intel_iommu=on"
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 : Advanced Micro Devices, Inc. [AMD/ATI] Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] [1002:6779] 01:00.1 Audio device : Advanced Micro Devices, Inc. [AMD/ATI] Caicos HDMI Audio [Radeon HD 6400 Series] [1002:aa98] IOMMU group 24 02:00.0 VGA compatible controller : NVIDIA Corporation GK104 [GeForce GTX 760] [10de:1187] (rev a1) 02:00.1 Audio device : 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>
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?<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>
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.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?
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.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.