PCIe Passthrough Xonar Sound Card

Gungan

New Member
Sep 27, 2022
8
2
3
Hi all,

I've got a couple of problems converting my old computer (Ivy Bridge Xeon) to a shared box for my young kids (just don't see the need to buy them each a new computer).

I've got two GTX960s in it (same model) with the idea to assign one per VM.

The problem is when one VM is running, the other fails to start (QEMU exited with code 1).

I also have 2 sound cards in it. The motherboard onboard audio passes through no problem. The Asus Xonar I have in there won't allow a VM to start (QEMU exited with code 1).

I have no idea why the Xonar crashes the VM on start, but I'm pretty sure the GTX960s crash the second VM because they're in the same IOMMU group. Video cards are 01:00 and 02:00, Xonar is 09:00. HD Audio is 00:1b.

I thought the Xonar needed 08:00 passed through as well since it shares a group. It's a PCIe to PCI bridge but adding it to the .conf file didn't help.

I've tried pcie_acr_override=downstream,multifunction but it doesn't help.

Is there any way to solve these problems?

/sys/kernel/iommu_groups/7/devices/0000:00:1c.4
/sys/kernel/iommu_groups/15/devices/0000:09:00.0
/sys/kernel/iommu_groups/15/devices/0000:08:00.0
/sys/kernel/iommu_groups/5/devices/0000:00:1c.0
/sys/kernel/iommu_groups/13/devices/0000:06:00.0
/sys/kernel/iommu_groups/3/devices/0000:00:1a.0
/sys/kernel/iommu_groups/11/devices/0000:00:1f.2
/sys/kernel/iommu_groups/11/devices/0000:00:1f.0
/sys/kernel/iommu_groups/11/devices/0000:00:1f.3
/sys/kernel/iommu_groups/1/devices/0000:02:00.0
/sys/kernel/iommu_groups/1/devices/0000:00:01.0
/sys/kernel/iommu_groups/1/devices/0000:01:00.0
/sys/kernel/iommu_groups/1/devices/0000:02:00.1
/sys/kernel/iommu_groups/1/devices/0000:00:01.1
/sys/kernel/iommu_groups/1/devices/0000:01:00.1
/sys/kernel/iommu_groups/8/devices/0000:00:1c.5
/sys/kernel/iommu_groups/6/devices/0000:00:1c.3
/sys/kernel/iommu_groups/14/devices/0000:07:00.0
/sys/kernel/iommu_groups/4/devices/0000:00:1b.0
/sys/kernel/iommu_groups/12/devices/0000:04:00.0
/sys/kernel/iommu_groups/2/devices/0000:00:16.0
/sys/kernel/iommu_groups/10/devices/0000:00:1d.0
/sys/kernel/iommu_groups/0/devices/0000:00:00.0
/sys/kernel/iommu_groups/9/devices/0000:00:1c.6

Thanks
 
Last edited:
Is there any way to solve these problems?

If you have free PCIe-slots (questionable how they are wired regarding lanes), you can try swapping one GPU around and/or try different bios versions, but chances might be really small.
If this does not help and since you already tried with the ACS override; I do not think so.

What is the exact mainboard- and CPU-model?

Maybe @leesteken has an idea.
 
Hi all,

I've got a couple of problems converting my old computer (Ivy Bridge Xeon) to a shared box for my young kids (just don't see the need to buy them each a new computer).

I've got two GTX960s in it (same model) with the idea to assign one per VM.

The problem is when one VM is running, the other fails to start (QEMU exited with code 1).
Does it show an actual (error) message in the Start Task (in the bottom of the GUI) or in Syslog (in the GUI) or journalctl (console command)?
Knowing what we need to fix or work-around would help a lot.
I also have 2 sound cards in it. The motherboard onboard audio passes through no problem. The Asus Xonar I have in there won't allow a VM to start (QEMU exited with code 1).

I have no idea why the Xonar crashes the VM on start, but I'm pretty sure the GTX960s crash the second VM because they're in the same IOMMU group. Video cards are 01:00 and 02:00, Xonar is 09:00. HD Audio is 00:1b.
Please attach the VM configuration files (from /etc/pve/qemu-server/) as you would like them to be (with passthrough of the devices).
Also, how much memory does your Proxmox host have and how much is available before starting the VMs (and do you use ZFS)?
I thought the Xonar needed 08:00 passed through as well since it shares a group. It's a PCIe to PCI bridge but adding it to the .conf file didn't help.
You don't need to pass additional devices but the Proxmox host loses all devices in the IOMMU group when one or more devices of that group are passed through. PCI(e) bridges are filtered out in the Proxmox GUI, because they are handled automatically by vfio-pci (and no VM can do anything with just a PCI(e) bridge).
I've tried pcie_acr_override=downstream,multifunction but it doesn't help.
It makes Proxmox ignore the actual groups but it does not change your hardware. I don't think the IOMMU groups the problem.
Please show the groups using this command which gives more information and is more readable: for d in /sys/kernel/iommu_groups/*/devices/*; do n=${d#*/iommu_groups/*}; n=${n%%/*}; printf 'IOMMU group %s ' "$n"; lspci -nns "${d##*/}"; done. (And please use the code formatting style provided by this forum for readability.)
Is there any way to solve these problems?
Have you tried early binding the devices, so rule out reset issues?
 
What is the exact mainboard- and CPU-model?

Intel Xeon E3 1270v2 on an Asrock Z68 Extreme3 Gen3. VT-x and VT-d enabled in the BIOS.

Does it show an actual (error) message in the Start Task (in the bottom of the GUI) or in Syslog (in the GUI) or journalctl (console command)?
Knowing what we need to fix or work-around would help a lot.

It shows error: start failed: QEMU exited with code 1 in the Start Task (bottom of the GUI).

Please attach the VM configuration files (from /etc/pve/qemu-server/) as you would like them to be (with passthrough of the devices).
Also, how much memory does your Proxmox host have and how much is available before starting the VMs (and do you use ZFS)?

Included conf files as txt. VM 100 runs fine on its own unless 101 is already running first. 101 doesn't start at all unless 100 is off and hostpci: 09:00 is removed. I've got 7GB of RAM reserved for each VM (not sure if it's best to leave ballooning on), and 2GB reserved for the host. I'm not using ZFS.

Ran the script as requested.

Code:
IOMMU group 0 00:00.0 Host bridge [0600]: Intel Corporation Xeon E3-1200 v2/Ivy Bridge DRAM Controller [8086:0158] (rev 09)
IOMMU group 10 00:1d.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 [8086:1c26] (rev 05)
IOMMU group 11 00:1f.0 ISA bridge [0601]: Intel Corporation Z68 Express Chipset LPC Controller [8086:1c44] (rev 05)
IOMMU group 11 00:1f.2 SATA controller [0106]: Intel Corporation 6 Series/C200 Series Chipset Family 6 port Desktop SATA AHCI Controller [8086:1c02] (rev 05)
IOMMU group 11 00:1f.3 SMBus [0c05]: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller [8086:1c22] (rev 05)
IOMMU group 12 04:00.0 PCI bridge [0604]: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge [1b21:1080] (rev 01)
IOMMU group 13 06:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 06)
IOMMU group 14 07:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller [1b21:1042]
IOMMU group 15 08:00.0 PCI bridge [0604]: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge [1b21:1080] (rev 03)
IOMMU group 15 09:00.0 Multimedia audio controller [0401]: C-Media Electronics Inc CMI8788 [Oxygen HD Audio] [13f6:8788]
IOMMU group 1 00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port [8086:0151] (rev 09)
IOMMU group 1 00:01.1 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port [8086:0155] (rev 09)
IOMMU group 1 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM206 [GeForce GTX 960] [10de:1401] (rev a1)
IOMMU group 1 01:00.1 Audio device [0403]: NVIDIA Corporation GM206 High Definition Audio Controller [10de:0fba] (rev a1)
IOMMU group 1 02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM206 [GeForce GTX 960] [10de:1401] (rev a1)
IOMMU group 1 02:00.1 Audio device [0403]: NVIDIA Corporation GM206 High Definition Audio Controller [10de:0fba] (rev a1)
IOMMU group 2 00:16.0 Communication controller [0780]: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 [8086:1c3a] (rev 04)
IOMMU group 3 00:1a.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 [8086:1c2d] (rev 05)
IOMMU group 4 00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 05)
IOMMU group 5 00:1c.0 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 [8086:1c10] (rev b5)
IOMMU group 6 00:1c.3 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 [8086:1c16] (rev b5)
IOMMU group 7 00:1c.4 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 [8086:1c18] (rev b5)
IOMMU group 8 00:1c.5 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 6 [8086:1c1a] (rev b5)
IOMMU group 9 00:1c.6 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 7 [8086:1c1c] (rev b5)

Have you tried early binding the devices, so rule out reset issues?

If you mean adding the vendor ids to vfio.conf, yes. However, both GPUs share the same ids, so it's not clear to me if I need to add them twice or if there's a less specific id I can implement.

I'm wondering if the host is claiming the Xonar and second GPU for itself or something.
 

Attachments

  • 100.txt
    613 bytes · Views: 3
  • 101.txt
    589 bytes · Views: 1
Last edited:
Ok... Random... Weird... I guess there must have been a typo in my grub file because I cleared the command line and rewrote it, and now the 2 GPUs are on separate IOMMUs.

Code:
IOMMU group 13 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM206 [GeForce GTX 960] [10de:1401] (rev a1)
IOMMU group 13 01:00.1 Audio device [0403]: NVIDIA Corporation GM206 High Definition Audio Controller [10de:0fba] (rev a1)
IOMMU group 14 02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM206 [GeForce GTX 960] [10de:1401] (rev a1)
IOMMU group 14 02:00.1 Audio device [0403]: NVIDIA Corporation GM206 High Definition Audio Controller [10de:0fba] (rev a1)

So both VMs now run with their own GPUs.

However, the Xonar card still won't let the second VM start. Ideas?

Code:
00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 05)
        Subsystem: ASRock Incorporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [1849:8892]
        Flags: bus master, fast devsel, latency 0, IRQ 43, IOMMU group 5
        Memory at f5100000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: [50] Power Management version 2
        Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
        Capabilities: [100] Virtual Channel
        Capabilities: [130] Root Complex Link
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel

^ Works.

Code:
09:00.0 Multimedia audio controller [0401]: C-Media Electronics Inc CMI8788 [Oxygen HD Audio] [13f6:8788]
        Subsystem: ASUSTeK Computer Inc. Xonar DSX [1043:8522]
        Flags: bus master, medium devsel, latency 32, IRQ 18, IOMMU group 18
        I/O ports at b000 [size=256]
        Capabilities: [c0] Power Management version 2
        Kernel driver in use: snd_virtuoso
        Kernel modules: snd_virtuoso

^ Doesn't work.
 
Last edited:
Intel Xeon E3 1270v2 on an Asrock Z68 Extreme3 Gen3. VT-x and VT-d enabled in the BIOS.

It shows error: start failed: QEMU exited with code 1 in the Start Task (bottom of the GUI).
No more information when double clicking the task? Is there anything in the SysLog (in the GUI) or journalctl from around that time?
Included conf files as txt. VM 100 runs fine on its own unless 101 is already running first. 101 doesn't start at all unless 100 is off and hostpci: 09:00 is removed. I've got 7GB of RAM reserved for each VM (not sure if it's best to leave ballooning on), and 2GB reserved for the host. I'm not using ZFS.
Ballooning does not work for VMs with passthrough because all memory must be pinned into actual RAM because PCI(e) devices can do DMA to any part of the memory at any time. That's why there is IOMMU group isolation: to prevent one device reading all VM or host memory and passing that via another device in the same group to another VM.

If there are no additional errors and just a time-out, then it's probably a memory issues and the system cannot get enough continuous free memory. Please try running the VMs with 4GB each to test this. And keep them at 4GB until they both work at the same time to prevent having two issues at once.
Code:
IOMMU group 10 00:1d.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 [8086:1c26] (rev 05)
IOMMU group 11 00:1f.2 SATA controller [0106]: Intel Corporation 6 Series/C200 Series Chipset Family 6 port Desktop SATA AHCI Controller [8086:1c02] (rev 05)
IOMMU group 11 00:1f.3 SMBus [0c05]: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller [8086:1c22] (rev 05)
IOMMU group 13 06:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 06)
IOMMU group 14 07:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller [1b21:1042]
IOMMU group 15 09:00.0 Multimedia audio controller [0401]: C-Media Electronics Inc CMI8788 [Oxygen HD Audio] [13f6:8788]
IOMMU group 1 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM206 [GeForce GTX 960] [10de:1401] (rev a1)
IOMMU group 1 01:00.1 Audio device [0403]: NVIDIA Corporation GM206 High Definition Audio Controller [10de:0fba] (rev a1)
IOMMU group 1 02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM206 [GeForce GTX 960] [10de:1401] (rev a1)
IOMMU group 1 02:00.1 Audio device [0403]: NVIDIA Corporation GM206 High Definition Audio Controller [10de:0fba] (rev a1)
IOMMU group 2 00:16.0 Communication controller [0780]: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 [8086:1c3a] (rev 04)
IOMMU group 3 00:1a.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 [8086:1c2d] (rev 05)
IOMMU group 4 00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 05)
(I remove the non-relevant Bridges for readability.) Note that both GPUs are in the same group. You later wrote that fixing something in GRUB fixed that. Did you add/fix pcie_acs_override=...? That breaks the groups but does not guarantee that it works. See also my remark about IOMMU isolation and the security issue it introduces,
If you mean adding the vendor ids to vfio.conf, yes. However, both GPUs share the same ids, so it's not clear to me if I need to add them twice or if there's a less specific id I can implement.
You only need to add them once and it works for all devices with the same ID (which can be a problem for some). You can check whether it works with lspci -nnk, it should already show vfio-pci before starting the VMs.
Did you also add (both) GPU audio devices and the sound cards? I think you did not but you really should, especially the Xonar.
I'm wondering if the host is claiming the Xonar and second GPU for itself or something.
I thought you said the VM works with the GPU but not with the GPU and Xonar? Then the GPU cannot be the problem.
Maybe the Xonar just doesn't reset properly (which can only be worked around once for each Proxmox host reboot by early binding to vfio-pci) or it just doesn't work with passthrough (but I would expect errors in Syslog and journalctl). Do you know of anyone on the internet that had success with passthrough of such a Xonar?
 
I had pcie_acs_override=downstream,multifunction in my grub already, but it didn't split the groups.

I rewrote the whole line with just pcie_acs=downstream and the GPUs were split. Seems like a user error. Maybe I forgot to update-grub the first time, I can't remember. In any case, both VMs now run simultaneously with their own GPU as long as I'm not trying to pass the Xonar to the second VM.

I tried early binding the Xonar and blacklisting the snd_virtuoso driver, but it still fails to start the VM. The onboard sound card is passed to the first VM without either early binding or blacklisting the snd_hda_intel driver, but if you say it's a good idea, I'll do that too.

I'll double check if there's any extra info in the task error when I get home.

I don't get any hits online searching for proxmox + xonar. Usually people are passing onboard audio. I found one guy who passed a Creative Sound Blaster no problem.

Maybe early bind in grub instead of vfio.conf?
 
Last edited:
This is the full error I get when starting the VM with the Xonar.

Code:
swtpm_setup: Not overwriting existing state file.
kvm: -device vfio-pci,host=0000:09:00.0,id=hostpci1,bus=ich9-pcie-port-2,addr=0x0: vfio 0000:09:00.0: Failed to set up TRIGGER eventfd signaling for interrupt INTX-0: VFIO_DEVICE_SET_IRQS failure: Device or resource busy
stopping swtpm instance (pid 1210) due to QEMU startup error
TASK ERROR: start failed: QEMU exited with code 1
 
Maybe you can search the internet for Failed to set up TRIGGER eventfd signaling for interrupt INTX-0: VFIO_DEVICE_SET_IRQS failure: Device or resource busy?
Please try early binding that device to prevent Proxmox from using it before the VM starts. Do you know of anyone having success with passthrough of that device?
 
Maybe you can search the internet for Failed to set up TRIGGER eventfd signaling for interrupt INTX-0: VFIO_DEVICE_SET_IRQS failure: Device or resource busy?
Please try early binding that device to prevent Proxmox from using it before the VM starts. Do you know of anyone having success with passthrough of that device?
It's already identified in vfio.conf and the grub file. Looks like it's bound early. I don't know if there's any earlier I can bind it.

Code:
09:00.0 Multimedia audio controller [0401]: C-Media Electronics Inc CMI8788 [Oxygen HD Audio] [13f6:8788]
        Subsystem: ASUSTeK Computer Inc. Xonar DSX [1043:8522]
        Flags: bus master, medium devsel, latency 32, IRQ 5, IOMMU group 18
        I/O ports at b000 [size=256]
        Capabilities: [c0] Power Management version 2
        Kernel driver in use: vfio-pci <----
        Kernel modules: snd_virtuoso

I'm leaning towards an IRQ conflict... but with what?
 
I've been looking at lspci -knnv looking for clues.

Code:
lspci -knnv
00:00.0 Host bridge [0600]: Intel Corporation Xeon E3-1200 v2/Ivy Bridge DRAM Controller [8086:0158] (rev 09)
        Subsystem: ASRock Incorporation Xeon E3-1200 v2/Ivy Bridge DRAM Controller [1849:0158]
        Flags: bus master, fast devsel, latency 0, IOMMU group 0
        Capabilities: [e0] Vendor Specific Information: Len=0c <?>
        Kernel modules: ie31200_edac

00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port [8086:0151] (rev 09) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0, IRQ 25, IOMMU group 1
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
        I/O behind bridge: 0000e000-0000efff [size=4K]
        Memory behind bridge: f6000000-f70fffff [size=17M]
        Prefetchable memory behind bridge: 00000000e0000000-00000000f1ffffff [size=288M]
        Capabilities: [88] Subsystem: ASRock Incorporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port [1849:0151]
        Capabilities: [80] Power Management version 3
        Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
        Capabilities: [a0] Express Root Port (Slot+), MSI 00
        Capabilities: [100] Virtual Channel
        Capabilities: [140] Root Complex Link
        Capabilities: [d94] Secondary PCI Express
        Kernel driver in use: pcieport

00:01.1 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port [8086:0155] (rev 09) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0, IRQ 26, IOMMU group 2
        Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
        I/O behind bridge: 0000d000-0000dfff [size=4K]
        Memory behind bridge: f4000000-f50fffff [size=17M]
        Prefetchable memory behind bridge: 00000000c0000000-00000000d1ffffff [size=288M]
        Capabilities: [88] Subsystem: ASRock Incorporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port [1849:0155]
        Capabilities: [80] Power Management version 3
        Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit-
        Capabilities: [a0] Express Root Port (Slot+), MSI 00
        Capabilities: [100] Virtual Channel
        Capabilities: [140] Root Complex Link
        Capabilities: [d94] Secondary PCI Express
        Kernel driver in use: pcieport

00:16.0 Communication controller [0780]: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 [8086:1c3a] (rev 04)
        Subsystem: ASRock Incorporation 6 Series/C200 Series Chipset Family MEI Controller [1849:1c3a]
        Flags: bus master, fast devsel, latency 0, IRQ 42, IOMMU group 3
        Memory at f510b000 (64-bit, non-prefetchable) [size=16]
        Capabilities: [50] Power Management version 3
        Capabilities: [8c] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Kernel driver in use: mei_me
        Kernel modules: mei_me

00:1a.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 [8086:1c2d] (rev 05) (prog-if 20 [EHCI])
        Subsystem: ASRock Incorporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller [1849:1c2d]
        Flags: bus master, medium devsel, latency 0, IRQ 16, IOMMU group 4
        Memory at f5108000 (32-bit, non-prefetchable) [size=1K]
        Capabilities: [50] Power Management version 2
        Capabilities: [58] Debug port: BAR=1 offset=00a0
        Capabilities: [98] PCI Advanced Features
        Kernel driver in use: ehci-pci
        Kernel modules: ehci_pci

00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 05)
        Subsystem: ASRock Incorporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [1849:8892]
        Flags: bus master, fast devsel, latency 0, IRQ 11, IOMMU group 5
        Memory at f5100000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: [50] Power Management version 2
        Capabilities: [60] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
        Capabilities: [100] Virtual Channel
        Capabilities: [130] Root Complex Link
        Kernel driver in use: vfio-pci
        Kernel modules: snd_hda_intel

00:1c.0 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 [8086:1c10] (rev b5) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0, IRQ 27, IOMMU group 6
        Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
        I/O behind bridge: 00002000-00002fff [size=4K]
        Memory behind bridge: d2000000-d21fffff [size=2M]
        Prefetchable memory behind bridge: 00000000d2200000-00000000d23fffff [size=2M]
        Capabilities: [40] Express Root Port (Slot+), MSI 00
        Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
        Capabilities: [90] Subsystem: ASRock Incorporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 [1849:1c10]
        Capabilities: [a0] Power Management version 2
        Kernel driver in use: pcieport

00:1c.3 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 [8086:1c16] (rev b5) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0, IRQ 28, IOMMU group 7
        Bus: primary=00, secondary=04, subordinate=05, sec-latency=0
        I/O behind bridge: [disabled]
        Memory behind bridge: [disabled]
        Prefetchable memory behind bridge: [disabled]
        Capabilities: [40] Express Root Port (Slot+), MSI 00
        Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
        Capabilities: [90] Subsystem: ASRock Incorporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 [1849:1c16]
        Capabilities: [a0] Power Management version 2
        Kernel driver in use: pcieport

00:1c.4 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 [8086:1c18] (rev b5) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0, IRQ 29, IOMMU group 8
        Bus: primary=00, secondary=06, subordinate=06, sec-latency=0
        I/O behind bridge: 0000c000-0000cfff [size=4K]
        Memory behind bridge: [disabled]
        Prefetchable memory behind bridge: 00000000f2100000-00000000f21fffff [size=1M]
        Capabilities: [40] Express Root Port (Slot+), MSI 00
        Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
        Capabilities: [90] Subsystem: ASRock Incorporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 [1849:1c18]
        Capabilities: [a0] Power Management version 2
        Kernel driver in use: pcieport

00:1c.5 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 6 [8086:1c1a] (rev b5) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0, IRQ 30, IOMMU group 9
        Bus: primary=00, secondary=07, subordinate=07, sec-latency=0
        I/O behind bridge: [disabled]
        Memory behind bridge: f7200000-f72fffff [size=1M]
        Prefetchable memory behind bridge: [disabled]
        Capabilities: [40] Express Root Port (Slot+), MSI 00
        Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
        Capabilities: [90] Subsystem: ASRock Incorporation 6 Series/C200 Series Chipset Family PCI Express Root Port 6 [1849:1c1a]
        Capabilities: [a0] Power Management version 2
        Kernel driver in use: pcieport

00:1c.6 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 7 [8086:1c1c] (rev b5) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0, IRQ 31, IOMMU group 10
        Bus: primary=00, secondary=08, subordinate=09, sec-latency=0
        I/O behind bridge: 0000b000-0000bfff [size=4K]
        Memory behind bridge: [disabled]
        Prefetchable memory behind bridge: [disabled]
        Capabilities: [40] Express Root Port (Slot+), MSI 00
        Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
        Capabilities: [90] Subsystem: ASRock Incorporation 6 Series/C200 Series Chipset Family PCI Express Root Port 7 [1849:1c1c]
        Capabilities: [a0] Power Management version 2
        Kernel driver in use: pcieport

00:1d.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 [8086:1c26] (rev 05) (prog-if 20 [EHCI])
        Subsystem: ASRock Incorporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller [1849:1c26]
        Flags: bus master, medium devsel, latency 0, IRQ 23, IOMMU group 11
        Memory at f5107000 (32-bit, non-prefetchable) [size=1K]
        Capabilities: [50] Power Management version 2
        Capabilities: [58] Debug port: BAR=1 offset=00a0
        Capabilities: [98] PCI Advanced Features
        Kernel driver in use: ehci-pci
        Kernel modules: ehci_pci

00:1f.0 ISA bridge [0601]: Intel Corporation Z68 Express Chipset LPC Controller [8086:1c44] (rev 05)
        Subsystem: ASRock Incorporation Z68 Express Chipset LPC Controller [1849:1c44]
        Flags: bus master, medium devsel, latency 0, IOMMU group 12
        Capabilities: [e0] Vendor Specific Information: Len=0c <?>
        Kernel driver in use: lpc_ich
        Kernel modules: lpc_ich

00:1f.2 SATA controller [0106]: Intel Corporation 6 Series/C200 Series Chipset Family 6 port Desktop SATA AHCI Controller [8086:1c02] (rev 05) (prog-if 01 [AHCI 1.0])
        Subsystem: ASRock Incorporation 6 Series/C200 Series Chipset Family 6 port Desktop SATA AHCI Controller [1849:1c02]
        Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 33, IOMMU group 12
        I/O ports at f070 [size=8]
        I/O ports at f060 [size=4]
        I/O ports at f050 [size=8]
        I/O ports at f040 [size=4]
        I/O ports at f020 [size=32]
        Memory at f5106000 (32-bit, non-prefetchable) [size=2K]
        Capabilities: [80] MSI: Enable+ Count=1/1 Maskable- 64bit-
        Capabilities: [70] Power Management version 3
        Capabilities: [a8] SATA HBA v1.0
        Capabilities: [b0] PCI Advanced Features
        Kernel driver in use: ahci
        Kernel modules: ahci

00:1f.3 SMBus [0c05]: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller [8086:1c22] (rev 05)
        Subsystem: ASRock Incorporation 6 Series/C200 Series Chipset Family SMBus Controller [1849:1c22]
        Flags: medium devsel, IRQ 18, IOMMU group 12
        Memory at f5105000 (64-bit, non-prefetchable) [size=256]
        I/O ports at f000 [size=32]
        Kernel driver in use: i801_smbus
        Kernel modules: i2c_i801

01:00.1 Audio device [0403]: NVIDIA Corporation GM206 High Definition Audio Controller [10de:0fba] (rev a1)
        Subsystem: ASUSTeK Computer Inc. GM206 High Definition Audio Controller [1043:8528]
        Flags: bus master, fast devsel, latency 0, IRQ 10, IOMMU group 13
        Memory at f7080000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: [60] Power Management version 3
        Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [78] Express Endpoint, MSI 00
        Kernel driver in use: vfio-pci
        Kernel modules: snd_hda_intel

02:00.1 Audio device [0403]: NVIDIA Corporation GM206 High Definition Audio Controller [10de:0fba] (rev a1)
        Subsystem: ASUSTeK Computer Inc. GM206 High Definition Audio Controller [1043:8528]
        Flags: bus master, fast devsel, latency 0, IRQ 5, IOMMU group 14
        Memory at f5080000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: [60] Power Management version 3
        Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [78] Express Endpoint, MSI 00
        Kernel driver in use: vfio-pci
        Kernel modules: snd_hda_intel

04:00.0 PCI bridge [0604]: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge [1b21:1080] (rev 01) (prog-if 01 [Subtractive decode])
        Flags: bus master, fast devsel, latency 0, IRQ 3, IOMMU group 15
        Bus: primary=04, secondary=05, subordinate=05, sec-latency=32
        I/O behind bridge: [disabled]
        Memory behind bridge: [disabled]
        Prefetchable memory behind bridge: [disabled]
        Capabilities: [c0] Subsystem: Device [0000:0000]

06:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 06)
        Subsystem: ASRock Incorporation Motherboard (one of many) [1849:8168]
        Flags: bus master, fast devsel, latency 0, IRQ 16, IOMMU group 16
        I/O ports at c000 [size=256]
        Memory at f2104000 (64-bit, prefetchable) [size=4K]
        Memory at f2100000 (64-bit, prefetchable) [size=16K]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [70] Express Endpoint, MSI 01
        Capabilities: [b0] MSI-X: Enable+ Count=4 Masked-
        Capabilities: [d0] Vital Product Data
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [140] Virtual Channel
        Capabilities: [160] Device Serial Number 01-00-00-00-68-4c-e0-00
        Kernel driver in use: r8169
        Kernel modules: r8169

07:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller [1b21:1042] (prog-if 30 [XHCI])
        Subsystem: ASRock Incorporation Motherboard [1849:1042]
        Flags: bus master, fast devsel, latency 0, IRQ 17, IOMMU group 17
        Memory at f7200000 (64-bit, non-prefetchable) [size=32K]
        Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+
        Capabilities: [68] MSI-X: Enable+ Count=8 Masked-
        Capabilities: [78] Power Management version 3
        Capabilities: [80] Express Legacy Endpoint, MSI 00
        Capabilities: [100] Virtual Channel
        Kernel driver in use: xhci_hcd
        Kernel modules: xhci_pci

08:00.0 PCI bridge [0604]: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge [1b21:1080] (rev 03) (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0, IRQ 5, IOMMU group 18
        Bus: primary=08, secondary=09, subordinate=09, sec-latency=32
        I/O behind bridge: 0000b000-0000bfff [size=4K]
        Memory behind bridge: [disabled]
        Prefetchable memory behind bridge: [disabled]
        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

09:00.0 Multimedia audio controller [0401]: C-Media Electronics Inc CMI8788 [Oxygen HD Audio] [13f6:8788]
        Subsystem: ASUSTeK Computer Inc. Xonar DSX [1043:8522]
        Flags: bus master, medium devsel, latency 32, IRQ 5, IOMMU group 18
        I/O ports at b000 [size=256]
        Capabilities: [c0] Power Management version 2
        Kernel driver in use: vfio-pci
        Kernel modules: snd_virtuoso

I'm curious. Why is it that only the ASMedia ASM1083/1085 don't have any kernel drivers in use, nor any kernel modules. ISA bridge has lpc_ich. PCIe bridges have pcieport. In fact, the only devices on the entire system that don't show any kernel info are the ASM1083/1085. One of these bridges is on the sound card itself. I don't know where the other is.

Maybe that's the problem? I've noticed a few people online complaining about this bridge in virtual environments.
 
Last edited:
Ok, I've given up.

I put the Xonar in my own machine and bought a Creative Sound Blaster for this machine. Passthrough works.

Either the C-Media chip specifically or the ASMedia Bridge on the sound card do not play well with passthrough, I guess.

The Sound Blaster uses the snd_hda_intel driver as well so it's already covered with the onboard audio.
 
I'm sorry it did not work out for you. Thank you for reporting back on this, as it can warn others about passthrough of the Asus Xonar.
Passthrough (of consumer hardware) is such an niche case that no manufacturer supports or tests for it (and often they don't even support Linux).
 
  • Like
Reactions: Gungan

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!