I am attempting to set up VGA Passthrough. Currently attempting this under Ubuntu 16.04 (but am close to rolling back to vanilla Debian out of mostly unrelated frustration). I've mostly been attempting to follow along with this guide, but am stuck at making sense of IOMMU grouping, because apparently my machine doesn't want to group.
I set intel_iommu=on on the kernel command line, and can verify that via 'cat /prod/cmdline'. However, 'find /sys/kernel/iommu_groups/ -type l' finds nothing, and 'ls /sys/kernel/iommu_groups' shows an empty directory. Despite googling about, I'm not finding much guidance on how to sort this out from here, and before now, haven't tried that many goofy hardware tricks along these lines, so troubleshooting the PCI bus is new to me.
As far as hardware, this machine has an Intel E5-1650 v3 on an Asus X99 E-WS motherboard with one Nvidia Quadro K4000 and one GTX 970. I'm attempting to leave the 970 for host use and dedicate the K4000 to a VM. Happy to provide lspci or virsh ondedev-list output, if that would help, but not initially putting it here because it is long, and I don't think I'm even at the point yet where that is helpful; as far as I can tell, something is lying about the iommu being turned on.
Edit: So it is being reported as on:
$ dmesg | grep -e DMAR -e IOMMU
[ 0.000000] DMAR: IOMMU enabled
[ 0.000000] DMAR: IOMMU enabled
And I'm even more lost; if it hadn't been enabled, it could have been some dumb grub or kernel module mistake on my part. But I'm really unclear on what to do about it being on but not doing what other resources say it should.