Re: VGA passthrough of GTX 660 to KVM guest

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2013-08-28 at 15:11 +0200, Gustav Sorenson wrote:
> Hello everyone,
> 
> I started a thread on this list on July 12, named "AMD integrated
> graphics passthrough to KVM guest," so if you should have a deja-vu,
> that's probably why, since the heart of the problem is still the same.
> 
> I've got an AMD A10 6800 APU with integrated graphics, running on aan
> ASRock FM2A75 Pro4 mainboard with the latest firmware. Since my last
> thread, I've acquired an EVGA GTX 660 graphics card, which I'd like to
> pass through to a KVM guest.
> 
> I'm following this guide to achieve my goal, including compiling the
> suggested patched versions of the kernel, seabios and qemu:
> https://bbs.archlinux.org/viewtopic.php?id=162768
> 
> The integrated graphics adapter is the primary one, and the only one
> that is used by the host system. nouveau and nvidia modules are
> blacklisted and not in lsmod.
> lspci -vvv output: http://pastebin.com/S6znCLK7
> lspci -t output: http://pastebin.com/YH01atEy
> 
> Contrary to what I hoped, invoking
> qemu-system-x86_64 -enable-kvm -M q35 -m 1024 -cpu host -smp
> 2,sockets=1,cores=2,threads=1 -bios /usr/share/qemu/bios.bin -vga none
> -device ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1
> -device vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on
> -device vfio-pci,host=01:00.1,bus=root.1,addr=00.1
> after assigning the devices to vfio as suggested in the guide, does
> not show anything on the display attached to the GTX 660, or even wake
> the display up from standby, but instead gives this output on the
> console:
> qemu-system-x86_64: -device
> vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on:
> Warning, device 0000:01:00.0 does not support reset
> qemu-system-x86_64: -device
> vfio-pci,host=01:00.1,bus=root.1,addr=00.1: Warning, device
> 0000:01:00.1 does not support reset
> More often than not, this also completely freezes the host system.
> 
> Later in the forum I linked, it is suggested to pass the graphics card
> not as the guest's primary, but use pci-assign instead:
> qemu-system-x86_64 -enable-kvm -m 2048 -cpu host -smp
> 2,sockets=1,cores=2,threads=1 -bios /usr/share/qemu/bios.bin -vga std
> -vnc :0 -drive file=/mnt/orthowin/current-new.img,format=qcow2
> -usbdevice tablet -net user,restrict=y -usb -device
> pci-assign,host=01:00.0 -device pci-assign,host=01:00.1
> 
> This allows me to boot the Windows 7 64bit guest. After installing the
> nVidia drivers, shutting the guest down, rebooting the host and
> booting the guest again, the Windows device manager shows "Code 43"
> for the graphics card (which even is correctly labelled as GTX 660),
> and the nVidia user interface doesn't show any GPU at all.


I've beaten my head against Code 43 as well, in fact with the same card.
I'm using vfio and on and AMD 990fx system (no APU), the card works
great as an assigned VGA device and the nvidia driver works in the
guest.  When I move the gtx660 to a Haswell-based IGD based system, I
get stuck with a Code 43.  I am able to get VGA working to the card, but
it required fixes to i915 in the host to get VGA arbitration to work.
The radeon driver may not be doing VGA arbitration correctly either if
you couldn't get VGA with vfio.

The only thing I can think might be causing problems is that the gtx660
is a PCIe gen3 card and the 990fx is only capable of gen2.  The mismatch
between our QEMU root ports and the physical device may be too great
when the card is running gen3.  However, if I set my BIOS to force gen2,
it doesn't make any difference.  I also get the same Code 43 when I
attach the GPU to a QEMU 440fx configuration, so PCIe spec revisions may
be a red herring.  The nouveau driver seems to work though.  Thanks,

Alex

> What could I try to resolve this issue?
> I realize that I might have omitted some information that may be
> important for troubleshooting, but I'm afraid I'm not experienced
> enough to even know what may be relevant. Please let me know if you'd
> like to have some further information.
> Please also note that I'm not running the latest kernel/qemu/seabios,
> so maybe some changes made since I compiled 3.10.1 might help me? If
> so, please suggest a commit or release to try. I'm not afraid of
> messing up my operating system install, but if anything suggested
> might brick the hardware, I'd like to know in advance. :)
> 
> I'm very grateful for any kind of input!
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html



--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux