<div dir="ltr"><div><div>Thanks Alex, for your kind and detailed response: please keep up with the good work!<br><br></div>I'm interested in learning more about this and I have access to Quadro 4000 and 5000 cards, so please tell me if I can help with testing. I do not mind compiling from sources or doing some debug, but I have almost zero practical knowledge on GPU cards so I'll need some pointers :)<br>
<br></div><div>Best,<br><br></div><div>Mario<br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 20 June 2013 23:19, Alex Williamson <span dir="ltr"><<a href="mailto:alex.williamson@redhat.com" target="_blank">alex.williamson@redhat.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Thu, 2013-06-20 at 09:30 +0200, Mario Ceresa wrote:<br>
> Dear all,<br>
> does anybody know if it is currently possible to do GPU passthrough in kvm?<br>
> I have access to a dual Quadro 4000 setup and I would like to pass the<br>
> second one to kvm for use in a VM.<br>
><br>
> I read a lot on internet and it seems feasible [1, 2, 3] and there is even<br>
> a reported success case [5].<br>
><br>
> However when I start the VM the host reboots with PCIe error 928:<br>
> Completion timeout.<br>
><br>
> My current setup is:<br>
><br>
> * Fedora 18 with 3.9.4-200 x86_64<br>
> * dmesg | grep -e DMAR -e IOMMU shows that they are both enabled<br>
> * nvidia driver installed from rpmfusion<br>
> * I use vfio assignment as per [4]<br>
<br>
</div>GPUs are not well supported yet and you're probably not going to get<br>
very far unless you're willing to compile a kernel and qemu and use qemu<br>
from the commandline instead of through libvirt. Some people have luck<br>
assigning a GPU as a secondary graphics device to the emulated video,<br>
others do not. Sometimes I suspect this has more to do with addresses<br>
assigned to the physical device possibly matching the virtual device...<br>
so it really is luck.<br>
<br>
I've posted branches of qemu and kernel that seem to work well for<br>
several people (this is what was pointed to in the Arch Linux thread you<br>
footnoted). That code attempts to use the assigned GPU as the primary<br>
graphics head for the guest. I have one Quadro card on hand and it<br>
never works as well as the GeForce cards, YMMV. Graphics cards have all<br>
sorts of interesting backdoors to get to PCI config space and I suspect<br>
the Quadro cards are not as well supported by the Nouveau project, which<br>
we've used for reverse engineered documentation of some of these quirks.<br>
<br>
There's still some work to do before that code can be posted upstream,<br>
in particular I've seen cases where a PCI bus won't come back from reset<br>
without resetting the host system. We need to make it more stable<br>
before pushing to get it upstream. Thanks,<br>
<br>
Alex<br>
<br>
</blockquote></div><br></div>