Audio Passthrough Issues - USB and PCIe

dizzydre21

Member
Apr 10, 2023
34
0
6
Hello,

I am struggling to get audio passthrough working well on one of my Proxmox machines. I have tried USB and PCIe passthrough and in either case I get minor crackles on occasion, but it's a bit better when using PCIe passthrough although still not acceptable to me. I believe the devices are in separate PCIe groups. Also, I am familiar with audio production and recording. I do not think this is a sample rate or buffer issue, as it happens on all settings with both ASIO and WASAPI. I have noticed that the issue is worse if the buffer rate is really low, like if I was trying to monitor myself while recording. I do intend to try that at some point, but I'd like to get it working for normal playback at the moment.

Hardware:
Motherboard - H13sae-f
CPU - 7950x
RAM - 64GB 5200hz ECC
OS Drive - 250GB SATA Micron?
VM NVMe Drives - 2x 2TB Samsung 980 Pro LVM
VM Storage - 2x 4TB WD Red ZFS
GPU1 - Sapphire Pulse 7900xtx
GPU2 - Sapphire Pulse 7700xt

VM config w/ PCie Passthrough. The controller(s) are on 13.00.3 and 13.00.4. I've tried each and both at the same time.
Code:
agent: 1
args: -cpu 'host,-hypervisor,kvm=off'
balloon: 0
bios: ovmf
boot: order=scsi0
cores: 12
cpu: host
efidisk0: Samsung_2TB_2:vm-102-disk-1,efitype=4m,pre-enrolled-keys=1,size=4M
hostpci0: 0000:13:00.0,pcie=1,romfile=vbios_164E.dat,x-vga=1
hostpci1: 0000:13:00.1,pcie=1,romfile=AMDGopDriver.rom
hostpci2: 0000:13:00.4,pcie=1
hostpci3: 0000:13:00.3,pcie=1
ide0: local:iso/virtio-win.iso,media=cdrom,size=707456K
machine: pc-q35-9.0
memory: 12288
meta: creation-qemu=9.0.2,ctime=1732748150
name: Win11-AMD2
net0: virtio=BC:24:11:0F:B6:22,bridge=vmbr2,firewall=1
numa: 0
ostype: win11
scsi0: Samsung_2TB_2:vm-102-disk-0,discard=on,iothread=1,size=128G,ssd=1
scsi1: Samsung_2TB:vm-102-disk-0,backup=0,discard=on,iothread=1,size=256G,ssd=1
scsihw: virtio-scsi-single
smbios1: uuid=6d5cf138-726b-4d04-9bb9-ca9b49d79069
sockets: 1
tpmstate0: Samsung_2TB_2:vm-102-disk-2,size=4M,version=v2.0
vga: none
vmgenid: 819bad82-b5dc-42ef-b0d3-46442625b1f8


Snippet of lspci that includes all the USB controllers. Note, that I am passing through the AMD iGPU and audio controller as well. I have also tried passing through all of the separate 13.00 devices. I can't passthrough 13.00.2 though because the host will crash, despite it being in it's own group below.
Code:
10:00.0 USB controller: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset USB 3.2 Controller (rev 01)
11:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset SATA Controller (rev 01)
12:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller PM9A1/PM9A3/980PRO
13:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Raphael (rev c1)
13:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Rembrandt Radeon High Definition Audio Controller
13:00.2 Encryption controller: Advanced Micro Devices, Inc. [AMD] VanGogh PSP/CCP
13:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Device 15b6
13:00.4 USB controller: Advanced Micro Devices, Inc. [AMD] Device 15b7
13:00.5 Multimedia controller: Advanced Micro Devices, Inc. [AMD] ACP/ACP3X/ACP6x Audio Coprocessor (rev 62)
13:00.6 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h/19h HD Audio Controller
14:00.0 USB controller: Advanced Micro Devices, Inc. [AMD] Device 15b8

Output of find /sys/kernel/iommu_groups/ -type l
Code:
/sys/kernel/iommu_groups/17/devices/0000:03:00.1
/sys/kernel/iommu_groups/35/devices/0000:13:00.3
/sys/kernel/iommu_groups/7/devices/0000:00:03.0
/sys/kernel/iommu_groups/25/devices/0000:0b:00.0
/sys/kernel/iommu_groups/25/devices/0000:09:08.0
/sys/kernel/iommu_groups/15/devices/0000:02:00.0
/sys/kernel/iommu_groups/33/devices/0000:13:00.1
/sys/kernel/iommu_groups/5/devices/0000:00:02.1
/sys/kernel/iommu_groups/23/devices/0000:08:00.0
/sys/kernel/iommu_groups/13/devices/0000:00:18.3
/sys/kernel/iommu_groups/13/devices/0000:00:18.1
/sys/kernel/iommu_groups/13/devices/0000:00:18.6
/sys/kernel/iommu_groups/13/devices/0000:00:18.4
/sys/kernel/iommu_groups/13/devices/0000:00:18.2
/sys/kernel/iommu_groups/13/devices/0000:00:18.0
/sys/kernel/iommu_groups/13/devices/0000:00:18.7
/sys/kernel/iommu_groups/13/devices/0000:00:18.5
/sys/kernel/iommu_groups/31/devices/0000:12:00.0
/sys/kernel/iommu_groups/3/devices/0000:00:01.5
/sys/kernel/iommu_groups/21/devices/0000:06:00.1
/sys/kernel/iommu_groups/11/devices/0000:00:08.3
/sys/kernel/iommu_groups/1/devices/0000:00:01.1
/sys/kernel/iommu_groups/38/devices/0000:13:00.6
/sys/kernel/iommu_groups/28/devices/0000:09:0b.0
/sys/kernel/iommu_groups/18/devices/0000:04:00.0
/sys/kernel/iommu_groups/36/devices/0000:13:00.4
/sys/kernel/iommu_groups/8/devices/0000:00:04.0
/sys/kernel/iommu_groups/26/devices/0000:0c:00.0
/sys/kernel/iommu_groups/26/devices/0000:09:09.0
/sys/kernel/iommu_groups/16/devices/0000:03:00.0
/sys/kernel/iommu_groups/34/devices/0000:13:00.2
/sys/kernel/iommu_groups/6/devices/0000:00:02.2
/sys/kernel/iommu_groups/24/devices/0000:09:00.0
/sys/kernel/iommu_groups/24/devices/0000:0a:00.0
/sys/kernel/iommu_groups/24/devices/0000:0a:00.1
/sys/kernel/iommu_groups/14/devices/0000:01:00.0
/sys/kernel/iommu_groups/32/devices/0000:13:00.0
/sys/kernel/iommu_groups/4/devices/0000:00:02.0
/sys/kernel/iommu_groups/22/devices/0000:07:00.0
/sys/kernel/iommu_groups/12/devices/0000:00:14.3
/sys/kernel/iommu_groups/12/devices/0000:00:14.0
/sys/kernel/iommu_groups/30/devices/0000:11:00.0
/sys/kernel/iommu_groups/30/devices/0000:09:0d.0
/sys/kernel/iommu_groups/2/devices/0000:00:01.3
/sys/kernel/iommu_groups/20/devices/0000:06:00.0
/sys/kernel/iommu_groups/10/devices/0000:00:08.1
/sys/kernel/iommu_groups/39/devices/0000:14:00.0
/sys/kernel/iommu_groups/29/devices/0000:10:00.0
/sys/kernel/iommu_groups/29/devices/0000:09:0c.0
/sys/kernel/iommu_groups/0/devices/0000:00:01.0
/sys/kernel/iommu_groups/19/devices/0000:05:00.0
/sys/kernel/iommu_groups/37/devices/0000:13:00.5
/sys/kernel/iommu_groups/9/devices/0000:00:08.0
/sys/kernel/iommu_groups/27/devices/0000:09:0a.0
/sys/kernel/iommu_groups/27/devices/0000:0e:00.0
/sys/kernel/iommu_groups/27/devices/0000:0d:00.0


Anyone have ideas on what to try? I tried to use device 14.00.0, which looks to also be in it's own group, but it crashes the host machine every time.
 

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!