Kepler GPU passthrough

I am trying to make a GTX 770 work in a Windows 10 VM on Dragonfish and EE beta. The card has the right IOMMU group, has been isolated from the host OS, properly binds to vfio-pci and gives a working fallback video output when the VM is booted up. But it gives a constant error 43 in Windows, despite installing the latest Nvidia drivers on the guest OS.

Here’s what I’ve found so far:

  • Someone tried to pass through a GTX 780 Ti, but gave up after finding TNS has no legacy Nvidia driver support.
  • Several people tried passing a GTX 760 in this thread only to be told by iX that it’s not supported.
  • Some have suggested installing the legacy Nvidia drivers, but because TNS apparently locks the /boot partition even in developer mode, the install script fails at update-initramfs -u.
  • Other KVM guides suggest adding hidden_state=on and specifying a patched VBIOS to inject inside the VM XML, which TNS cannot do because it stores every setting in a database and not in a XML file.
  • VM documentation for the websocket API remains quite sparse and appears to confirm that it doesn’t expose more advanced VM configuration options.
  • I tried setting the machine type to q35 through midclt, but it didn’t really do anything.
  • I haven’t noticed any particular errors in the logs when the VM is booting up, so maybe it’s a card initialization issue?

I am at my wit’s end. Has anyone succeeded in passing a Kepler-series card? All I need is this VM to have accelerated video — any accelerated output would be welcome. Ideally I would like to keep TNS on bare metal while reusing as many old parts as possible. Thanks!