Hi everyone. I am new to proxmox and I think I have definitely drunk the Koolaid after someone recommended it over 'XXware'. I am trying to passthrough a PCIe soundcard to a linux guest. Basically things look like they successfully passthrough and are working fine with the guest on initial bootup. After a little bit of activity with the guest, the sound on it becomes choppy and/or stuck like it is having interrupt issues. I have done a bit of research, but nothing really seems to fix the issue. Here are the details of the setup:
Host
Hardware:
Optimized defaults with these changes:
/etc/default/grub file:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream"
/etc/modules file:
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
/etc/modprobe.d/iommu_unsafe_interrupts.conf file:
options vfio_iommu_type1 allow_unsafe_interrupts=1
/etc/modprobe.d/kvm.conf file:
options kvm ignore_msrs=1
/etc/modprobe.d/blacklist.conf file:
blacklist nouveau
blacklist nvidia
blacklist snd_ctxfi
/etc/modprobe.d/vfio.conf file:
options vfio-pci ids=10de:1430,10de:0fba,1102:000b disable_vga=1 # first two ids are the nvidia gpu and third is the sb card
lspci output( narrowed down ):
03:00.0 RAID bus controller: Broadcom / LSI MegaRAID SAS-3 3108 [Invader] (rev 02)
04:00.0 USB controller: ASMedia Technology Inc. ASM2142 USB 3.1 Host Controller
05:00.0 Ethernet controller: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01)
05:00.1 Ethernet controller: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01)
08:00.0 PCI bridge: ASPEED Technology, Inc. AST1150 PCI-to-PCI Bridge (rev 03)
09:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 30)
81:00.0 Audio device: Creative Labs EMU20k2 [Sound Blaster X-Fi Titanium Series] (rev 04)
82:00.0 PCI bridge: Microsemi / PMC / IDT PES12N3A 12-lane 3-Port PCI Express Switch (rev 0e)
86:00.0 VGA compatible controller: NVIDIA Corporation GM206GL [Quadro M2000] (rev a1)
86:00.1 Audio device: NVIDIA Corporation GM206 High Definition Audio Controller (rev a1)
Guest
Fedora 33
lspci output:
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
00:01.2 USB controller: Intel Corporation 82371SB PIIX3 USB [Natoma/Triton II] (rev 01)
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
00:02.0 VGA compatible controller: Device 1234:1111 (rev 02)
00:03.0 Unclassified device [00ff]: Red Hat, Inc. Virtio memory balloon
00:05.0 SCSI storage controller: Red Hat, Inc. Virtio SCSI
00:10.0 Audio device: Creative Labs EMU20k2 [Sound Blaster X-Fi Titanium Series] (rev 04)
00:11.0 USB controller: ASMedia Technology Inc. ASM2142 USB 3.1 Host Controller
00:12.0 Ethernet controller: Red Hat, Inc. Virtio network device
00:13.0 Ethernet controller: Red Hat, Inc. Virtio network device
00:14.0 Ethernet controller: Red Hat, Inc. Virtio network device
00:15.0 Ethernet controller: Red Hat, Inc. Virtio network device
00:1b.0 VGA compatible controller: NVIDIA Corporation GM206GL [Quadro M2000] (rev a1)
00:1c.0 Audio device: NVIDIA Corporation GM206 High Definition Audio Controller (rev a1)
00:1e.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
00:1f.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
01:1b.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03)
The kernel does have the CONFIG_PCI_MSI flags enabled and/or set to 'Y'.
I am a little stumped on things here. The GPU and USB3 cards work perfectly fine with the passthrough behavior. Are there any other settings that might need to be set? Or is it just the card?
Host
Hardware:
- Supermicro X10DRH-iT
- (2) E5-2680v3 CPUs
- 128GB DDR4-2133
- Sound Blaster X-Fi Titanium
- Quadro M2000
Optimized defaults with these changes:
- Direct Cache Access "enable"
- Enable IOAH "enable"
- No Snoop "enable"
- Relaxed Ordering "enable"
- Above 4GB Decoding "enable"
- Maximum Payload "4096"
- Maximum Read Request "4096"
/etc/default/grub file:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream"
/etc/modules file:
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
/etc/modprobe.d/iommu_unsafe_interrupts.conf file:
options vfio_iommu_type1 allow_unsafe_interrupts=1
/etc/modprobe.d/kvm.conf file:
options kvm ignore_msrs=1
/etc/modprobe.d/blacklist.conf file:
blacklist nouveau
blacklist nvidia
blacklist snd_ctxfi
/etc/modprobe.d/vfio.conf file:
options vfio-pci ids=10de:1430,10de:0fba,1102:000b disable_vga=1 # first two ids are the nvidia gpu and third is the sb card
lspci output( narrowed down ):
03:00.0 RAID bus controller: Broadcom / LSI MegaRAID SAS-3 3108 [Invader] (rev 02)
04:00.0 USB controller: ASMedia Technology Inc. ASM2142 USB 3.1 Host Controller
05:00.0 Ethernet controller: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01)
05:00.1 Ethernet controller: Intel Corporation Ethernet Controller 10-Gigabit X540-AT2 (rev 01)
08:00.0 PCI bridge: ASPEED Technology, Inc. AST1150 PCI-to-PCI Bridge (rev 03)
09:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 30)
81:00.0 Audio device: Creative Labs EMU20k2 [Sound Blaster X-Fi Titanium Series] (rev 04)
82:00.0 PCI bridge: Microsemi / PMC / IDT PES12N3A 12-lane 3-Port PCI Express Switch (rev 0e)
86:00.0 VGA compatible controller: NVIDIA Corporation GM206GL [Quadro M2000] (rev a1)
86:00.1 Audio device: NVIDIA Corporation GM206 High Definition Audio Controller (rev a1)
Guest
Fedora 33
lspci output:
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
00:01.2 USB controller: Intel Corporation 82371SB PIIX3 USB [Natoma/Triton II] (rev 01)
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
00:02.0 VGA compatible controller: Device 1234:1111 (rev 02)
00:03.0 Unclassified device [00ff]: Red Hat, Inc. Virtio memory balloon
00:05.0 SCSI storage controller: Red Hat, Inc. Virtio SCSI
00:10.0 Audio device: Creative Labs EMU20k2 [Sound Blaster X-Fi Titanium Series] (rev 04)
00:11.0 USB controller: ASMedia Technology Inc. ASM2142 USB 3.1 Host Controller
00:12.0 Ethernet controller: Red Hat, Inc. Virtio network device
00:13.0 Ethernet controller: Red Hat, Inc. Virtio network device
00:14.0 Ethernet controller: Red Hat, Inc. Virtio network device
00:15.0 Ethernet controller: Red Hat, Inc. Virtio network device
00:1b.0 VGA compatible controller: NVIDIA Corporation GM206GL [Quadro M2000] (rev a1)
00:1c.0 Audio device: NVIDIA Corporation GM206 High Definition Audio Controller (rev a1)
00:1e.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
00:1f.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
01:1b.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03)
The kernel does have the CONFIG_PCI_MSI flags enabled and/or set to 'Y'.
I am a little stumped on things here. The GPU and USB3 cards work perfectly fine with the passthrough behavior. Are there any other settings that might need to be set? Or is it just the card?