
On 28/03/17 16:22 +0800, yimao wrote:
Thanks for your suggestions, I have tried that but problems still exist. Yes, I used Nvidia GTX 750Ti.
I found the qemu's arguments have changed.
7210 ? SLl 0:31 /usr/libexec/qemu-kvm -name guest=win7_1,debug-threads=on -S -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-16-win7_1/master-key.aes -machine pc-i440fx-rhel7.3.0,accel=kvm,usb=off -cpu Broadwell,+rtm,+hle,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1fff,hv_vendor_id=whatever,kvm=off -m size=1048576k,slots=16,maxmem=4194304k -realtime mlock=off -smp 1,maxcpus=16,sockets=16,cores=1,threads=1 -numa node,nodeid=0,cpus=0,mem=1024 -uuid 1fba3bd6-0659-4463-92ea-8efa43411082 -smbios type=1,manufacturer=oVirt,product=oVirt Node,version=7-3.1611.el7.centos,serial=031B021C-040D-050E-D806-900700080009,uuid=1fba3bd6-0659-4463-92ea-8efa43411082 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-16-win7_1/monitor.sock,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=2017-03-28T08:54:41,driftfix=slew -global kvm-pit.lost_tick_policy=discard -no-hpet -no-shutdown -boot strict=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x8 -device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x4 -drive if=none,id=drive-ide0-1-0,readonly=on -device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -drive file=/rhev/data-center/00000001-0001-0001-0001-000000000311/c053a0c0-45ad-4f7a-b9ce-c1ac90c900d4/images/082d4d4c-3aae-4369-9cbb-e6a7b31c3204/63da97f3-7b1f-406b-905f-b12eeb96d55f,format=raw,if=none,id=drive-scsi0-0-0-0,serial=082d4d4c-3aae-4369-9cbb-e6a7b31c3204,cache=none,werror=stop,rerror=stop,aio=threads -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=1 -netdev tap,fd=33,id=hostnet0,vhost=on,vhostfd=35 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:1a:4a:16:01:51,bus=pci.0,addr=0x3 -chardev socket,id=charchannel0,path=/var/lib/libvirt/qemu/channels/1fba3bd6-0659-4463-92ea-8efa43411082.com.redhat.rhevm.vdsm,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.rhevm.vdsm -chardev socket,id=charchannel1,path=/var/lib/libvirt/qemu/channels/1fba3bd6-0659-4463-92ea-8efa43411082.org.qemu.guest_agent.0,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=2,chardev=charchannel1,id=channel1,name=org.qemu.guest_agent.0 -device usb-tablet,id=input0,bus=usb.0,port=1 -vnc 192.168.120.235:0,password -k en-us -device qxl-vga,id=video0,ram_size=67108864,vram_size=8388608,vram64_size_mb=0,vgamem_mb=16,bus=pci.0,addr=0x2 -device vfio-pci,host=01:00.0,id=hostdev0,bus=pci.0,addr=0x6 -device vfio-pci,host=01:00.1,id=hostdev1,bus=pci.0,addr=0x7 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 -object rng-random,id=objrng0,filename=/dev/urandom -device virtio-rng-pci,rng=objrng0,id=rng0,bus=pci.0,addr=0x9 -msg timestamp=on
Does ovirt use vga passthrough or gpu passthrough? Should I install EDK2 OVMF?
It uses secondary GPU passthrough; the VGA is still occupied by the spice QXL. No OVMF necessary at all. That being said, if you still have the problem, I'd try to maybe work with the hook to also disable hyperv and whatever you find around the internet. It looks like everyone's card needs something different. To be on the safe side, quadro k2200 seem to work fine.
Thanks in advance.
2017-03-28 15:17 GMT+08:00 Martin Polednik <mpolednik@redhat.com>:
On 28/03/17 02:12 +0800, yimao wrote:
Hi,
I'm trying to passthrough gpu card to windows 7 guest, but I got the error code 43. I use ovirt node: ovirt-node-ng-installer-ovirt-4.1-2017032304.iso and ovirt-engine-appliance-4.1-20170322.1.el7.centos.noarch.rpm I have added options "intel_iommu=on rdblacklist=nouveau pci-stub.ids=10de:1380,10de:0fbc" to the grub.conf and attached these devices to the guest. After I have installed the gpu's driver, I got the error code 43. Did I miss something? Any pointers or suggestions would be greatly appreciated.
You are most likely using consumer grade GPU that errors out in Windows if it's running under virtualized environment. You could try using the following hook (make sure it's in /usr/libexec/vdsm/hooks/before_vm_start and it's executable bit is set (chmod +x ...)).
Just copy paste the following block to a bash and try to start the VM again.
cd /usr/libexec/vdsm/hooks/before_vm_start cat << EOF >> 99_mask_kvm #!/usr/bin/python2
import hooking domxml = hooking.read_domxml()
hyperv = domxml.getElementsByTagName('hyperv')[0] smm = domxml.createElement('vendor_id') smm.setAttribute('state', 'on') smm.setAttribute('value', 'whatever') hyperv.appendChild(smm)
features = domxml.getElementsByTagName('features')[0] kvm = domxml.createElement('kvm') hidden = domxml.createElement('hidden') hidden.setAttribute('state', 'on') kvm.appendChild(hidden) features.appendChild(kvm)
hooking.write_domxml(domxml) EOF chmod +x 99_mask_kvm
Thanks in advance. Yiimao Yang.