[vfio-users] VM doesn't boot if I use GPU passthrough

Ruben Felgenhauer 4felgenh at informatik.uni-hamburg.de
Thu Jan 28 20:43:14 UTC 2016


Hi,

I dug out the box and it says E17505U-C GTX750TI-PH-2GD5
You can find the model here: 
https://www.asus.com/Graphics-Cards/GTX750TIPH2GD5/

$ virsh --version
1.3.0

Best regards,
Ruben

Am 28.01.2016 um 21:35 schrieb Ryan Flagler:
> Couple more questions.
>
> Do you have the exact model of your video card? Ideally we want to 
> know if it has UEFI support.
>
> What does the following output?
> virsh --version
>
> Thanks
>
> On Thu, Jan 28, 2016 at 2:32 PM Ruben Felgenhauer 
> <4felgenh at informatik.uni-hamburg.de 
> <mailto:4felgenh at informatik.uni-hamburg.de>> wrote:
>
>     Hi,
>
>     These are the last few lines:
>
>     01:00.0 VGA compatible controller: NVIDIA Corporation GM107
>     [GeForce GTX 750 Ti] (rev a2)
>         Kernel driver in use: pci-stub
>         Kernel modules: nvidia
>     01:00.1 Audio device: NVIDIA Corporation Device 0fbc (rev a1)
>         Kernel driver in use: pci-stub
>         Kernel driver in use: ahci
>
>     Best regards,
>     Ruben
>
>
>     Am 28.01.2016 um 21:28 schrieb Ryan Flagler:
>>     Ruben,
>>
>>     What is your output from this?
>>
>>     lspci -k | egrep -i '(nvidia|driver)'
>>
>>     Just need the lines with your video card and the driver line
>>     below each one of those.
>>
>>     On Thu, Jan 28, 2016 at 2:18 PM Ruben Felgenhauer
>>     <4felgenh at informatik.uni-hamburg.de
>>     <mailto:4felgenh at informatik.uni-hamburg.de>> wrote:
>>
>>         Hi again, Will!
>>
>>         I had removed the hypervclock tag back then, but forgot to
>>         mention it, sorry.
>>         In the meantime I played around with the config quite a lot,
>>         but nothing helps, always Code 43.
>>         I tried to compare your xml file with mine, but nothing
>>         really stuck out.
>>
>>         Can you remember having done anything special to get the
>>         750ti to work?
>>         Did you ever have problems with Code 43 aswell?
>>         Is it maybe a problem with other devices or is the gpu simply
>>         still noticing the hypervisor?
>>         Config is here: http://pastebin.com/fL6PGrM0
>>
>>         Best regards,
>>         Ruben
>>
>>
>>         Am 25.01.2016 um 17:01 schrieb Will Marler:
>>>         This is discussed in
>>>         http://vfio.blogspot.com/2015/05/vfio-gpu-how-to-series-part-4-our-first.html.
>>>         You have to do more than <kvm><hidden state='on'/></kvm>:
>>>
>>>         "The GeForce card is nearly as easy, but we first need to
>>>         work around some of the roadblocks Nvidia has put in place
>>>         to prevent you from using the hardware you've purchased in
>>>         the way that you desire (and by my reading conforms to the
>>>         EULA for their software, but IANAL).  For this step we again
>>>         need to run virsh edit on the VM. Within the <features>
>>>         section, remove everything between the <hyperv> tags,
>>>         including the tags themselves.  In their place add the
>>>         following tags:
>>>
>>>             <kvm>
>>>               <hidden state='on'/>
>>>             </kvm>
>>>
>>>         Additionally, within the <clock> tag, find the timer named
>>>         hypervclock, remove the line containing this tag
>>>         completely.  Save and exit the edit session."
>>>
>>>         I can confirm it works, I've been getting a lot of mileage
>>>         from my passed-through 750Ti lately since getting a Steam
>>>         Link :-D.
>>>
>>>         On Sun, Jan 24, 2016 at 7:32 AM, Ruben Felgenhauer
>>>         <4felgenh at informatik.uni-hamburg.de
>>>         <mailto:4felgenh at informatik.uni-hamburg.de>> wrote:
>>>
>>>             Hi,
>>>
>>>             finally I had time to this again. I tried out
>>>             virt-manager and after a bit of playing around with it,
>>>             it /somewhat/ worked:
>>>
>>>             The machine is at least booting. I still have a standard
>>>             vga card enabled in the virt-manager config window.
>>>             After the machine has booted, I can see that the device
>>>             gets recognized as 750ti.
>>>             However, the gpu doesn't get used, because of 'Code 43'.
>>>             Code 43 is a generic error, so any idea what it could
>>>             mean in this case?
>>>
>>>             Of course I added the <kvm><hidden state='on'/></kvm>
>>>             lines at the associated position.
>>>
>>>             Best regards,
>>>             Ruben
>>>
>>>
>>>             Am 18.01.2016 um 22:27 schrieb Will Marler:
>>>>             I'm not sure what correct command-line syntax is. Have
>>>>             you tried using libvirt and VirtManager to handle your
>>>>             VM rather than command line, and modifying the XML
>>>>             rather than the command line? I think that's generally
>>>>             the preferred method these days (it's certainly easier
>>>>             from my point of view, and the way I got my 750 Ti to
>>>>             pass through).
>>>>
>>>>             On Mon, Jan 18, 2016 at 11:04 AM, Ruben Felgenhauer
>>>>             <4felgenh at informatik.uni-hamburg.de
>>>>             <mailto:4felgenh at informatik.uni-hamburg.de>> wrote:
>>>>
>>>>                 Hi, Alex!
>>>>
>>>>                 Thanks for your reply!
>>>>                 My GPU indeed has a seperate audio device located
>>>>                 at 01:00.1.
>>>>
>>>>                 However, just adding -device vfio-pci,host=01:00.1
>>>>                 doesn't seem to do the trick.
>>>>                 Of course the corresponding device is already
>>>>                 blacklisted and bound to vfio.
>>>>
>>>>                 The Debian Wiki entry about VGA passthrough
>>>>                 (https://wiki.debian.org/VGAPassthrough) mentions
>>>>                 QEMU arguments like "-device
>>>>                 vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on,romfile=...
>>>>                 -device vfio-pci,host=01:00.1,bus=pcie.0" which
>>>>                 seems to address GPUs with audio devices, but if I
>>>>                 try to do something similar, the buses 'root' and
>>>>                 'pcie' couldn't be found. Maybe I missed something
>>>>                 very important?
>>>>
>>>>                 On the same article, it says that the "HDMI
>>>>                 soundcard [...] needs to be unbound from its driver":
>>>>                 # echo '0000:01:00.1' | sudo tee
>>>>                 /sys/bus/pci/devices/0000:01:00.1/driver/unbind
>>>>                 I figured the vfio-bind script from the Arch Linux
>>>>                 Forum thread
>>>>                 (https://bbs.archlinux.org/viewtopic.php?id=162768)
>>>>                 would do exactly this thing, so I didn't explicitly
>>>>                 do so for the audio device. Is that okay?
>>>>
>>>>                 Best regards,
>>>>                 Ruben
>>>>
>>>>
>>>>                 Am 18.01.2016 um 08:31 schrieb Alexander Petrenz:
>>>>>                 Hi Ruben,
>>>>>
>>>>>                 I guess your 750ti also has some audio device. You
>>>>>                 should pass through this too. It should be
>>>>>                 something like 01:00.1. There are many command
>>>>>                 line examples you can find about that.
>>>>>                 Also I´m not quite sure, if you should remove the
>>>>>                 x-vga=on.
>>>>>
>>>>>                 Regards
>>>>>                 Alex
>>>>>
>>>>>                 On Sun, Jan 17, 2016 at 11:12 PM, Ruben
>>>>>                 Felgenhauer <4felgenh at informatik.uni-hamburg.de
>>>>>                 <mailto:4felgenh at informatik.uni-hamburg.de>> wrote:
>>>>>
>>>>>                     Hi,
>>>>>
>>>>>                     I am trying to pass my nVidia GTX 750ti to my
>>>>>                     QEMU guest.
>>>>>
>>>>>                     Problem is: After the QEMU monitor pops up,
>>>>>                     nothing happens. The GPU's output is dead, and
>>>>>                     the vm won't be accessible via SSH anymore, so
>>>>>                     it's very likely that the VM isn't booting up
>>>>>                     at all. Also, there are no error messages from
>>>>>                     QEMU on the console whatsoever which makes
>>>>>                     debugging it especially hard.
>>>>>
>>>>>                     This is how I start the vm with normal vga
>>>>>                     emulation:
>>>>>                     qemu-system-x86_64 -hda vm.ovl -boot c
>>>>>                     -enable-kvm -m 1024 -cpu host,kvm=off -smp
>>>>>                     cores=4,threads=2 -redir tcp:5022::22
>>>>>                     Everything runs fine in this case. To do the
>>>>>                     passthrough, I add this:
>>>>>                     -device
>>>>>                     vfio-pci,host=01:00.0,multifunction=on,x-vga=on -vga
>>>>>                     none
>>>>>                     This brings said problems with it. I also
>>>>>                     tried out multiple different combinations of
>>>>>                     -device's arguments or even adding a romfile
>>>>>                     for the GPU, but none of these steps changed
>>>>>                     anything at all.
>>>>>
>>>>>                     Obviously, I am using a BIOS installation and
>>>>>                     I'm well-aware with this bug:
>>>>>                     https://bugzilla.kernel.org/show_bug.cgi?id=107561,
>>>>>                     but neither using less RAM (as you can see I
>>>>>                     am using 1GB now) nor switching to an older
>>>>>                     Kernel changed anything about the problem. I
>>>>>                     have tried Kernel 4.1.0 and 4.3.0.
>>>>>
>>>>>                     Host is Debian testing with QEMU 2.5.0.
>>>>>                     I tried both Debian and Windows 7 as a guest,
>>>>>                     but both are showing exactly the same behaviour.
>>>>>                     Mainboard is an ASUS Z87-PLUS. The 750ti is
>>>>>                     produced by ASUS aswell.
>>>>>
>>>>>                     Any idea how I could get passthrough running?
>>>>>
>>>>>                     _______________________________________________
>>>>>                     vfio-users mailing list
>>>>>                     vfio-users at redhat.com
>>>>>                     <mailto:vfio-users at redhat.com>
>>>>>                     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
>>>>
>>>>
>>>
>>>
>>
>>         _______________________________________________
>>         vfio-users mailing list
>>         vfio-users at redhat.com <mailto:vfio-users at redhat.com>
>>         https://www.redhat.com/mailman/listinfo/vfio-users
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20160128/0acf6249/attachment.htm>


More information about the vfio-users mailing list