Intel Arc b580 GPU/Audio passthrough Win11 VM

pdwittman

New Member
Jan 6, 2025
7
0
1
So far, I am able to pass through the GPU super easily to a Windows 11 VM, and have Intel driver software working for video just fine for high-end gaming.

However, I do not get the sound device showing up in Device manager - I am also passing it through to the VM too. So I have to use USB headset to get sound...

The Video and audio are in two different IOMMU groups... Any suggestions on what to do to resolve the sound issue?

Proxmox version: 8.3.0

Thanks!
 
Hi,

can you post the vm config? (qm config ID)
thanks!
 
Hi,

can you post the vm config? (qm config ID)
thanks!
Sure thing - VM with arc b580 - sound NOT working:

root@pve17:~# qm config 900
balloon: 0
bios: ovmf
boot: order=scsi0;ide0;ide2;net0
cores: 4
cpu: host,hidden=1
efidisk0: Samsung990pro:vm-900-disk-0,efitype=4m,pre-enrolled-keys=1,size=4M
hostpci0: 0000:08:00.0,pcie=1
hostpci2: 0000:07:00.0,pcie=1,x-vga=1
ide0: local:iso/virtio-win.iso,media=cdrom,size=707456K
ide2: local:iso/Win11_24H2_English_x64.iso,media=cdrom,size=5683090K
machine: pc-q35-9.0
memory: 14336
meta: creation-qemu=9.0.2,ctime=1736136748
name: Gamey900
net0: e1000=BC:24:11:CB:63:BF,bridge=vmbr0,firewall=1
numa: 0
ostype: win11
scsi0: Samsung990pro:vm-900-disk-1,backup=0,cache=writeback,discard=on,iothread=1,size=360G
scsihw: virtio-scsi-pci
smbios1: uuid=38ca9791-00ee-40e3-b6e6-0d514d297069
sockets: 1
tags: 910clone;arcb580;samsung990pro
tpmstate0: Samsung990pro:vm-900-disk-2,size=4M,version=v2.0
usb0: host=1-5.1,usb3=1
usb1: host=1-5.2,usb3=1
usb2: host=1-5.3,usb3=1
vga: none
vmgenid: cc3b7cae-21b4-40e2-af97-4f462c589094
root@pve17:~#

Thanks
 
thanks, can you also share the output of 'lspci' on the host?
 
thanks, can you also share the output of 'lspci' on the host?
Sure thing - keep in mind I also have a VM using that Nvidia rtx3060 GPU too - sound and video work perfectly on that Win11 VM:

root@pve17:~# lspci
00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14d8
00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Device 14d9
00:01.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14da
00:01.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 14db
00:01.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 14db
00:02.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14da
00:02.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 14db
00:03.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14da
00:04.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14da
00:08.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14da
00:08.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 14dd
00:08.3 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 14dd
00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 71)
00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 51)
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14e0
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14e1
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14e2
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14e3
00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14e4
00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14e5
00:18.6 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14e6
00:18.7 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 14e7
01:00.0 VGA compatible controller: NVIDIA Corporation GA106 [GeForce RTX 3060 Lite Hash Rate] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GA106 High Definition Audio Controller (rev a1)
02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller S4LV008[Pascal]
03:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Upstream Port (rev 01)
04:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port (rev 01)
04:01.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port (rev 01)
04:02.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port (rev 01)
04:03.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port (rev 01)
04:04.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port (rev 01)
04:05.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port (rev 01)
04:06.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port (rev 01)
04:07.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port (rev 01)
04:08.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port (rev 01)
04:0c.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port (rev 01)
04:0d.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset PCIe Switch Downstream Port (rev 01)
05:00.0 PCI bridge: Intel Corporation Device e2ff (rev 01)
06:01.0 PCI bridge: Intel Corporation Device e2f0
06:02.0 PCI bridge: Intel Corporation Device e2f1
07:00.0 VGA compatible controller: Intel Corporation Battlemage G21 [Intel Graphics]
08:00.0 Audio device: Intel Corporation Device e2f7
0a:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8852CE PCIe 802.11ax Wireless Network Controller (rev 01)
0b:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
11:00.0 USB controller: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset USB 3.2 Controller (rev 01)
12:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] 600 Series Chipset SATA Controller (rev 01)
13:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Device 13c0 (rev c5)
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
14:00.0 USB controller: Advanced Micro Devices, Inc. [AMD] Device 15b8
root@pve17:~#
 
did you already try to have the same order as on the host?

e.g.
hostpci0: 0000:07:00.0,pcie=1,x-vga=1
hostpci1: 0000:08:00.0,pcie=1

maybe the guest driver does not like it when they are out of order?
 
did you already try to have the same order as on the host?

e.g.
hostpci0: 0000:07:00.0,pcie=1,x-vga=1
hostpci1: 0000:08:00.0,pcie=1

maybe the guest driver does not like it when they are out of order?
Yes, they are only out of order as I've tried with only 1 of the items to see if that made a difference, but it didn't. I rearranged the order and tested again, still the same status. The only Audio device listed in Win11 Device Manager is the USB headset.

Here is the updated machine config:

root@pve17:~# uname -a
Linux pve17 6.8.12-4-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-4 (2024-11-06T15:04Z) x86_64 GNU/Linux
root@pve17:~# qm config 900
balloon: 0
bios: ovmf
boot: order=scsi0;ide0;ide2;net0
cores: 4
cpu: host,hidden=1
efidisk0: Samsung990pro:vm-900-disk-0,efitype=4m,pre-enrolled-keys=1,size=4M
hostpci0: 0000:07:00.0,pcie=1,x-vga=1
hostpci1: 0000:08:00.0,pcie=1
ide0: local:iso/virtio-win.iso,media=cdrom,size=707456K
ide2: local:iso/Win11_24H2_English_x64.iso,media=cdrom,size=5683090K
machine: pc-q35-9.0
memory: 14336
meta: creation-qemu=9.0.2,ctime=1736136748
name: Gamey900
net0: e1000=BC:24:11:CB:63:BF,bridge=vmbr0,firewall=1
numa: 0
ostype: win11
scsi0: Samsung990pro:vm-900-disk-1,backup=0,cache=writeback,discard=on,iothread=1,size=360G
scsihw: virtio-scsi-pci
smbios1: uuid=38ca9791-00ee-40e3-b6e6-0d514d297069
sockets: 1
tags: 910clone;arcb580;samsung990pro
tpmstate0: Samsung990pro:vm-900-disk-2,size=4M,version=v2.0
usb0: host=1-5.1,usb3=1
usb1: host=1-5.2,usb3=1
usb2: host=1-5.3,usb3=1
vga: none
vmgenid: cc3b7cae-21b4-40e2-af97-4f462c589094
root@pve17:~#
 
Last edited:
does the device not appear at all in the device manager of windows? alternatively you could try linux in the guest and use 'lspci' to see if the device is detected. is there any log on the host that's related to this?
 
does the device not appear at all in the device manager of windows? alternatively you could try linux in the guest and use 'lspci' to see if the device is detected. is there any log on the host that's related to this?
-There is no device at all in Device Manager related to sound except when I plug in a USB headset


-Using linuxmint 22.1 VM ID 590. It boots fine before adding the video/sound card; however once trying to boot with them (even tried the video card by itself) - it gives Qemu error and won't boot - here is the host log message:

Feb 06 10:25:14 pve17 pvedaemon[1422]: <root@pam> end task UPID:pve17:0000090F:00005B32:67A4D458:qmstart:590:root@pam: start failed: QEMU exited with code 1



-Here are the host logs when booting the Win11 VM - ID 900:

Feb 06 10:29:30 pve17 pvedaemon[1418]: <root@pam> starting task UPID:pve17:00000627:00000FD1:67A4D55A:qmstart:900:root@pam:
Feb 06 10:29:30 pve17 pvedaemon[1575]: start VM 900: UPID:pve17:00000627:00000FD1:67A4D55A:qmstart:900:root@pam:
Feb 06 10:29:31 pve17 systemd[1]: Created slice qemu.slice - Slice /qemu.
Feb 06 10:29:31 pve17 systemd[1]: Started 900.scope.
Feb 06 10:29:31 pve17 kernel: tap900i0: entered promiscuous mode
Feb 06 10:29:31 pve17 kernel: vmbr0: port 2(fwpr900p0) entered blocking state
Feb 06 10:29:31 pve17 kernel: vmbr0: port 2(fwpr900p0) entered disabled state
Feb 06 10:29:31 pve17 kernel: fwpr900p0: entered allmulticast mode
Feb 06 10:29:31 pve17 kernel: fwpr900p0: entered promiscuous mode
Feb 06 10:29:31 pve17 kernel: vmbr0: port 2(fwpr900p0) entered blocking state
Feb 06 10:29:31 pve17 kernel: vmbr0: port 2(fwpr900p0) entered forwarding state
Feb 06 10:29:31 pve17 kernel: fwbr900i0: port 1(fwln900i0) entered blocking state
Feb 06 10:29:31 pve17 kernel: fwbr900i0: port 1(fwln900i0) entered disabled state
Feb 06 10:29:31 pve17 kernel: fwln900i0: entered allmulticast mode
Feb 06 10:29:31 pve17 kernel: fwln900i0: entered promiscuous mode
Feb 06 10:29:31 pve17 kernel: fwbr900i0: port 1(fwln900i0) entered blocking state
Feb 06 10:29:31 pve17 kernel: fwbr900i0: port 1(fwln900i0) entered forwarding state
Feb 06 10:29:31 pve17 kernel: fwbr900i0: port 2(tap900i0) entered blocking state
Feb 06 10:29:31 pve17 kernel: fwbr900i0: port 2(tap900i0) entered disabled state
Feb 06 10:29:31 pve17 kernel: tap900i0: entered allmulticast mode
Feb 06 10:29:31 pve17 kernel: fwbr900i0: port 2(tap900i0) entered blocking state
Feb 06 10:29:31 pve17 kernel: fwbr900i0: port 2(tap900i0) entered forwarding state
Feb 06 10:29:32 pve17 kernel: vfio-pci 0000:08:00.0: enabling device (0000 -> 0002)
Feb 06 10:29:33 pve17 pvedaemon[1575]: VM 900 started with PID 1601.
Feb 06 10:29:33 pve17 pvedaemon[1418]: <root@pam> end task UPID:pve17:00000627:00000FD1:67A4D55A:qmstart:900:root@pam: OK
Feb 06 10:29:50 pve17 kernel: usb 1-5.1: reset low-speed USB device number 6 using xhci_hcd
Feb 06 10:29:50 pve17 kernel: usb 1-5.2: reset full-speed USB device number 8 using xhci_hcd
Feb 06 10:29:51 pve17 kernel: usb 1-5.3: reset full-speed USB device number 9 using xhci_hcd
 
Last edited:
Hi,

I encountered a similar problem.

Proxmox 8.3, Kernel 6.11

Resizable bar enabled in bios, but not available to my Windows 10 vm. Video output is good, but no audio through HDMI cable.

It seems like linux first introduced support for the b580 on kernel 6.12: https://dgpu-docs.intel.com/devices/hardware-table.html

Here is a video about b580 mentioning HDMI on linux: https://youtu.be/Tv0o6505JAc?si=ViNpmrZWeVYmoLFn

I guess I have to stick with the problem until the next release.
Interesting, my understanding is that you'd need to disable the (b580) drivers in the Hypervisor (Proxmox) to be able to pass the card thru. But hopefully things improve in regards to this card... the Nvidia rtx 3060 passes through just fine - I run both cards in parallel one for each Win11 VM.

Also, I've tried swapping the cards between PCIex16 slots and the results stayed the same.
 
Last edited:
I'm seeing similar behavior on a fedora 42 guest.
Furthermore when I try to run Elden Ring it crashes the machine unless I blacklist snd_hda_intel in the guest.
This is really annoying because I am also passing through motherboard audio and it uses that driver too.

In Proxmox:
pveversion
pve-manager/8.4.1/2a5fa54a8503f96d (running kernel: 6.14.5-1-bpo12-pve)

qm config #
acpi: 1
agent: 1
balloon: 20480
bios: ovmf
boot: order=scsi0;ide2;net0
cores: 20
cpu: host
efidisk0: kiddie_pool:vm-106-disk-0,efitype=4m,pre-enrolled-keys=1,size=1M
hostpci0: 0000:43:00,pcie=1,x-vga=1
hostpci1: 0000:44:00,pcie=1
hostpci2: 0000:0b:00.3,pcie=1
hostpci3: 0000:45:00.3,pcie=1
hostpci4: 0000:0c:00.3,pcie=1
ide2: none,media=cdrom
machine: q35
memory: 102400
meta: creation-qemu=9.2.0,ctime=1748806495
name: fe42
net0: virtio=BC:24:11:51:D6:57,bridge=vmbr0,firewall=1
numa: 1
ostype: l26
scsi0: kiddie_pool:vm-106-disk-1,iothread=1,size=256G
scsihw: virtio-scsi-single
smbios1: uuid=35a8bd74-7763-47ed-89b6-44f4875feb96
sockets: 1
tpmstate0: kiddie_pool:vm-106-disk-2,size=4M,version=v2.0
vmgenid: 7dbf30d8-78b3-469b-b503-5c2a9eb598f2


In Fedora 42 guest:

I do see the audio and video devices listed in lspci
...
01:00.0 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) HD Audio Controller
02:00.0 VGA compatible controller: Intel Corporation Battlemage G21 [Arc B580]
03:00.0 Audio device: Intel Corporation Device e2f7
...

In fedora guest I see this in dmesg
...
[ 32.957851] snd_hda_intel 0000:00:1b.0: Applying patch firmware 'on-board-patch'
[ 32.958107] snd_hda_intel 0000:01:00.0: Applying patch firmware 'hdmi-patch'
[ 32.958239] snd_hda_intel 0000:03:00.0: bound 0000:02:00.0 (ops intel_audio_component_bind_ops [xe])
[ 32.963114] snd_hda_intel 0000:03:00.0: Unknown capability 0
[ 33.003604] mc: Linux media interface: v0.10
[ 33.014819] snd_hda_intel 0000:00:1b.0: Direct firmware load for on-board-patch failed with error -2
[ 33.014827] snd_hda_intel 0000:00:1b.0: Cannot load firmware, continue without patching
[ 33.014986] snd_hda_intel 0000:01:00.0: Direct firmware load for hdmi-patch failed with error -2
[ 33.014990] snd_hda_intel 0000:01:00.0: Cannot load firmware, continue without patching
[ 33.016905] snd_hda_intel 0000:00:1b.0: no codecs found!
...

Those "Applying patch firmware" lines appeared after creating /etc/modprobe.d/snd-hda-intel.conf after reading through notes on the HD-Audio Driver on kernel.org but it didn't seem to change any behavior.
/etc/modprobe.d/snd-hda-intel.conf
options snd-hda-intel patch=on-board-patch,hdmi-patch