[vfio-users] KVM Nvidia Passtrough Code 43 and freezes
Jon Panozzo
jonp at lime-technology.com
Fri Aug 28 16:10:32 UTC 2015
Will,
Just a quick reply on #5, we are using modern OVMF builds, but we don’t boot the install media over SATA. Instead, we use the IDE bus for the install media and virtio drivers. I don’t notice any performance issues and it’s just for installing the initial OS anyway. I do have issues with Q35 + OVMF, but that’s because of an outstanding issue where the IDE isn’t supported and SATA is kind of broken on Q35. Using USB as the bus should work, but for Windows guests, I’ve never had success (only Linux guests). I have an e-mail out to Laszlo on that subject.
I’m not too sure what benefits Q35 has brought to the table yet that warrant its use. We include it in our OS as an option for those that are struggling with GPU pass through. A year ago, some cases where i440fx wouldn’t work, Q35 would, but in the past year, guys like Alex Williamson and other maintainers have done a phenomenal job of improving this to the point where I have no VMs reliant on Q35 anymore, and I don’t recommend it to our users unless they are struggling to get GPU pass through to work with i440fx.
- Jon
> On Aug 28, 2015, at 11:03 AM, Will Marler <will at wmarler.com> wrote:
>
> I also have an nVidia GTX 750 Ti.
>
> Suggestions to make it work:
>
> 1) use virt-manager rather than a direct call to qemu-system-x86_64. It's much easier to maintain, and much less error prone. Also ...
> 2) ... you have to make several specific configuration changes to the VM in order for nVidia cards to work properly. See the end of http://vfio.blogspot.com/2015/05/vfio-gpu-how-to-series-part-4-our-first.html <http://vfio.blogspot.com/2015/05/vfio-gpu-how-to-series-part-4-our-first.html> for details. The instructions use virt-manager; I'm not sure what the direct arguments to qemu-system-x86_64 would be for these changes (part of the reason for suggesting that you use virt-manager).
> 3) Use fx440
> 4) Use Windows 10 (I got both Windows 7 & Windows 10 working; performance in Windows 10 was much better).
> 5) I used UEFI mode. I had to use old binaries to get Windows to boot: https://bbs.archlinux.org/viewtopic.php?pid=1518188#p1518188 <https://bbs.archlinux.org/viewtopic.php?pid=1518188#p1518188> . Others folks at vfio-users; are these still necessary?
> 6) as Jonathan Panozzo said, there is no need (at least there wasn't for me) to pass in a custom ROM.
>
> wam
>
> On Fri, Aug 28, 2015 at 9:49 AM, Jon Panozzo <jonp at lime-technology.com <mailto:jonp at lime-technology.com>> wrote:
> Hi Marco,
>
> A few suggestions:
>
> In your motherboard BIOS, do you have an option for primary graphics to be toggled between on-board and PCIe? If so, please make sure that it’s set to NOT utilize the graphics device you’re trying to use with the VM. I’ve seen issues with that consistently (most result in no GPU pass through at all, but with some hardware, it may result in what you’re experiencing).
>
> Also, are you using pci-stub to prevent the GPU from having a nouveau driver loaded before starting your VM? If not, this may also impact your experience.
>
> I know we have several users passing through a GTX 750 without difficulty, and without needing to load the rom file as you are below.
>
> Hope this helps!
>
> Best Regards,
>
> Jonathan Panozzo
>
> > On Aug 28, 2015, at 10:42 AM, Marco Stagge <spiritblackdiamont at gmail.com <mailto:spiritblackdiamont at gmail.com>> wrote:
> >
> > Hello @all,
> >
> > at first, my english is not that good :/ so sorry for wrong spelling etc :o
> >
> > I've tried bunches of configs and hardware with kvm and passtrough, with Radeon Cards there are no problems but with Nvidia ...
> > it look like its nearly impossible ... it works to Display TianoCore bootscreen and Windows Install etc, but after installing the driver the whole machine freezes and on the console i got the message "kernel: disabling irq #20" wich is my GTX 750 Ti.
> >
> > the strange thingy is "x-vga=off" is the only way to see something on the monitor(i thought it should be "on" for this)....
> >
> > I've tried this with q35 chipset and the fx440, with seabios and TianoCore EFI, Windows 7 and Windows 10(dont have Win8 or want it ..)
> >
> > Here my config and specs
> >
> > /root/qemu-2.4.0/x86_64-softmmu/qemu-system-x86_64 -enable-kvm -M q35 -m 8G -cpu host,kvm=off \
> > -smp 8,sockets=1,cores=8,threads=1 \
> > -vga none -k de -rtc base=localtime -realtime mlock=on \
> > -drive if=pflash,format=raw,file=/root/OVMF-pure-efi.fd \
> > -monitor stdio \
> > -debugcon file:/dev/stderr -global isa-debugcon.iobase=0x402 \
> > -device virtio-scsi-pci,id=scsi \
> > -device vfio-pci,host=02:00.0,rombar=1,x-vga=off,romfile=/root/GTX-750Ti.rom \
> > -device vfio-pci,host=02:00.1 \
> > -device vfio-pci,host=04:00.0 \
> > -device vfio-pci,host=00:13.0 \
> > -device vfio-pci,host=00:13.2 \
> > -drive file=/dev/sdb,if=virtio,cache=none,discard=on \
> > -drive file=/media/syno/Programme/windows/Windows_7_SP1_DE_AIO_X64.iso,id=isocd,if=none \
> > -device scsi-cd,drive=isocd \
> > -cdrom /media/syno/Programme/Linux/virtio-win-0.1-100.iso \
> > -usbdevice host:04b4:8328 \
> > -global isa-fdc.driveA=
> >
> > AMD FX8350
> > ASUS M5A99X EVO
> > 32GB Kingston Value RAM
> > AMD Radeon HD6670(guest) + Nvidia GTX 750 Ti(guest) + GT520(Host)
> > SSD now 120GB(guest) + Mushkin Chronos Deluxe 60GB(guest)
> >
> > interrupts:
> > CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
> > 0: 47 0 0 0 0 0 0 0 IR-IO-APIC-edge timer
> > 1: 1 0 0 0 0 0 0 1 IR-IO-APIC-edge i8042
> > 8: 0 0 0 0 0 0 1 0 IR-IO-APIC-edge rtc0
> > 9: 0 0 0 0 0 0 0 0 IR-IO-APIC-fasteoi acpi
> > 12: 0 1 0 1 0 2 0 0 IR-IO-APIC-edge i8042
> > 17: 97731 573202 44343 68863 449791 278946 766521 145166 IR-IO-APIC 17-fasteoi ehci_hcd:usb1, vfio-intx(0000:0a:00.1)
> > 18: 6667 21540 5559 6748 24441 16748 4959 8611 IR-IO-APIC 18-fasteoi ohci_hcd:usb8, ohci_hcd:usb10
> > 19: 22052 93315 44652 67664 119162 75922 85567 23549 IR-IO-APIC 19-fasteoi 0000:00:11.0
> > 22: 0 3 1 8 2 1 1 1 IR-IO-APIC 22-fasteoi vfio-intx(0000:00:16.0)
> > 23: 10599 70971 15651 26344 78321 47939 232415 36216 IR-IO-APIC 23-fasteoi vfio-intx(0000:00:16.2)
> > 27: 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge AMD-Vi
> > 30: 859 2247 3874003 745023 1000 739 1462 145680 IR-PCI-MSI-edge eth0
> > 33: 627986 4106418 3829 6174 1615 953 140 156 IR-PCI-MSI-edge vfio-msi[0](0000:0a:00.0)
> > 34: 43 740 54 294 43 4483073 43 1708 IR-PCI-MSI-edge vfio-msix[0](0000:07:00.0)
> > 35: 2 1 1 70 6 66 1 22716 IR-PCI-MSI-edge vfio-msix[1](0000:07:00.0)
> > 36: 41 1 0 6 3685144 2 118 2 IR-PCI-MSI-edge vfio-msix[2](0000:07:00.0)
> > 37: 1 1 20027 0 39 0 257 1 IR-PCI-MSI-edge vfio-msix[3](0000:07:00.0)
> > 38: 2617 16082 450 755 123855 75581 72374 11818 IR-PCI-MSI-edge vfio-msix[0](0000:06:00.0)
> > 39: 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge vfio-msix[1](0000:06:00.0)
> > 40: 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge vfio-msix[2](0000:06:00.0)
> > 41: 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge vfio-msix[3](0000:06:00.0)
> > 42: 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge vfio-msix[4](0000:06:00.0)
> > 43: 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge vfio-msix[5](0000:06:00.0)
> > 44: 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge vfio-msix[6](0000:06:00.0)
> > 45: 0 0 0 0 0 0 0 0 IR-PCI-MSI-edge vfio-msix[7](0000:06:00.0)
> > 51: 4115 5167 5148 5828 7122 5740 20944 7389 IR-IO-APIC 27-fasteoi 0000:05:00.0
> > 52: 0 0 0 0 0 0 0 0 IR-IO-APIC 23-fasteoi 0000:08:00.0
> > 54: 70872 71659 71958 71508 71437 72232 75968 115521 IR-PCI-MSI-edge nouveau
> > 56: 5738 5576 5715 5605 5551 5403 5792 10014 IR-PCI-MSI-edge nouveau
> > NMI: 535 629 505 409 474 508 457 388 Non-maskable interrupts
> > LOC: 7873279 2105376 6840648 3347764 5748321 2139094 7856471 3305521 Local timer interrupts
> > SPU: 0 0 0 0 0 0 0 0 Spurious interrupts
> > PMI: 535 629 505 409 474 508 457 388 Performance monitoring interrupts
> > IWI: 0 0 0 0 0 1 0 0 IRQ work interrupts
> > RTR: 0 0 0 0 0 0 0 0 APIC ICR read retries
> > RES: 31834176 46456464 40752536 13038581 29382846 31897150 34234584 16740944 Rescheduling interrupts
> > CAL: 2026 1990 2018 2081 2046 1441 2141 2063 Function call interrupts
> > TLB: 3857 3712 3424 6321 4082 4559 3763 6583 TLB shootdowns
> > TRM: 0 0 0 0 0 0 0 0 Thermal event interrupts
> > THR: 0 0 0 0 0 0 0 0 Threshold APIC interrupts
> > MCE: 0 0 0 0 0 0 0 0 Machine check exceptions
> > MCP: 83 83 83 83 83 83 83 83 Machine check polls
> > HYP: 0 0 0 0 0 0 0 0 Hypervisor callback interrupts
> > ERR: 0
> > MIS: 0
> >
> > any ideas?
> >
> > greetings
> > Spirit
> >
> > _______________________________________________
> > vfio-users mailing list
> > vfio-users at redhat.com <mailto:vfio-users at redhat.com>
> > https://www.redhat.com/mailman/listinfo/vfio-users <https://www.redhat.com/mailman/listinfo/vfio-users>
>
>
> _______________________________________________
> vfio-users mailing list
> vfio-users at redhat.com <mailto:vfio-users at redhat.com>
> https://www.redhat.com/mailman/listinfo/vfio-users <https://www.redhat.com/mailman/listinfo/vfio-users>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20150828/6c3e99a0/attachment.htm>
More information about the vfio-users
mailing list