[vfio-users] Onboard sound card to my VM

Hristo Iliev hristo at hiliev.eu
Wed Aug 16 12:29:32 UTC 2017


Am 15.08.2017 05:26, schrieb Taiidan at gmx.com:
> On 08/14/2017 11:16 PM, Alex Williamson wrote:
> 
>> On Mon, Aug 14, 2017 at 9:07 PM, Taiidan at gmx.com <Taiidan at gmx.com> 
>> wrote:
>> 
>>> I am not sure but I think there are no pci-e audio cards that support
>>> IOMMU AFAIK.
>>> 
>> False, especially for device assignment, the drivers in the guest and 
>> the
>> guest itself is completely unaware of the IOMMU.
> I heard an Asus Xonar (cmedia chipset) PCI-e (all of them are based
> off that chip AFAIK) wouldn't work and resulted in IO_PAGE_FAULT dmesg
> spam with iommu enabled.
> https://bbs.archlinux.org/viewtopic.php?id=168555
> 

The statement is definitely false. I'm currently passing the built-in 
PCIe
Intel HDA of my X99 motherboard to the VM. The HDA is nicely isolated in 
its
own IOMMU group and the VM controls it flawlessly. Furthermore, libvirt 
does
automatic unbind/rebind with the host driver upon booting up and 
shutting
down the VM. PulseAudio plays nicely along and automatically reroutes 
all
active streams to the other sound device on the host, which happens to 
be...

an Asus Xonar STX II. When it comes to Xonars, those use a PCI chip with 
an
on-card PCIe-to-PCI bridge:

07:00.0 PCI bridge [0604]: ASMedia Technology Inc. ASM1083/1085 PCIe to 
PCI Bridge [1b21:1080] (rev 04) (prog-if 00 [Normal decode])
         Flags: bus master, fast devsel, latency 0, IRQ 18, NUMA node 0
         Bus: primary=07, secondary=08, subordinate=08, sec-latency=32
         I/O behind bridge: 0000c000-0000cfff [size=4K]
         Memory behind bridge: None
         Prefetchable memory behind bridge: None
         Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
         Capabilities: [78] Power Management version 3
         Capabilities: [80] Express PCI-Express to PCI/PCI-X Bridge, MSI 
00
         Capabilities: [c0] Subsystem: Device [0000:0000]
         Capabilities: [100] Virtual Channel
         Kernel modules: shpchp

08:04.0 Multimedia audio controller [0401]: C-Media Electronics Inc 
CMI8788 [Oxygen HD Audio] [13f6:8788]
         Subsystem: ASUSTeK Computer Inc. Virtuoso 100 (Xonar Essence STX 
II) [1043:85f4]
         Flags: bus master, medium devsel, latency 32, IRQ 18, NUMA node 
0
         I/O ports at c000 [size=256]
         Capabilities: [c0] Power Management version 2
         Kernel driver in use: snd_virtuoso
         Kernel modules: snd_virtuoso

Works with iommu=pt, though I believe it also worked without it (I'm not
really sure why I added the iommu parameter). I still haven't tried 
passing
the Xonar to the VM. The two devices appear to be grouped together with 
the
PCH PCI bridge. I'll try in the future.

> I had a similar error - one of my GFX cards broke so I slotted in an
> old PCI-e Nvidia 7800gt and when booting dom0 and trying to do
> modesetting with IOMMU enabled it would spew io page faults and fail
> to modeset - I had to replace it with a newer card...I do not know why
> that occurred.
> 
> _______________________________________________
> vfio-users mailing list
> vfio-users at redhat.com
> https://www.redhat.com/mailman/listinfo/vfio-users




More information about the vfio-users mailing list