[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