How to add PCI-e sound card

NOIDSR

Member
Mar 1, 2021
53
2
8
31
Hey everybody,
I am super new in proxmox as well as a beginner in Linux. I succeeded in setting proxmox up and have windows installed and running with GPU passthrough as well as extra USB controller. All seems is working fine.
Now, since I could not get sound from the motherboard, I needed to install a separate sound card rather then a USB soundblaster. However I ran into a problem. In the GUI adding PCI card I can see this card and can select it for passthrough although VM start fails with the message TASK ERROR: no PCI device found for '08:00.0' .
Could anybody help to figure out how to troubleshoot it?

My HW:
Motherboard: Gigabyte Z490 Gaming X, Intel Z490 Mainboard - Socket 1200
Intel Core i7-10700 2,90 Ghz (Comet Lake) Socket 1200
Sound card PCI-E: Sound Blaster Audigy FX (by Creative)
 
here it is:
lspci

00:00.0 Host bridge: Intel Corporation Device 9b43 (rev 05)
00:01.0 PCI bridge: Intel Corporation Skylake PCIe Controller (x16) (rev 05)
00:02.0 VGA compatible controller: Intel Corporation Device 9bc5 (rev 05)
00:12.0 Signal processing controller: Intel Corporation Device 06f9
00:14.0 USB controller: Intel Corporation Device 06ed
00:14.2 RAM memory: Intel Corporation Device 06ef
00:16.0 Communication controller: Intel Corporation Device 06e0
00:17.0 SATA controller: Intel Corporation Device 06d2
00:1b.0 PCI bridge: Intel Corporation Device 06c0 (rev f0)
00:1b.4 PCI bridge: Intel Corporation Device 06ac (rev f0)
00:1c.0 PCI bridge: Intel Corporation Device 06b8 (rev f0)
00:1c.2 PCI bridge: Intel Corporation Device 06ba (rev f0)
00:1c.4 PCI bridge: Intel Corporation Device 06bc (rev f0)
00:1c.5 PCI bridge: Intel Corporation Device 06bd (rev f0)
00:1d.0 PCI bridge: Intel Corporation Device 06b0 (rev f0)
00:1d.4 PCI bridge: Intel Corporation Device 06b4 (rev f0)
00:1f.0 ISA bridge: Intel Corporation Device 0685
00:1f.3 Audio device: Intel Corporation Device 06c8
00:1f.4 SMBus: Intel Corporation Device 06a3
00:1f.5 Serial bus controller [0c80]: Intel Corporation Device 06a4
00:1f.6 Ethernet controller: Intel Corporation Device 0d4d
01:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] Device 1478 (rev c5)
02:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] Device 1479
03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Device 7340 (rev c5)
03:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 HDMI Audio
07:00.0 Audio device: Creative Labs Sound Core3D [Sound Blaster Recon3D / Z-Series] (rev 01)
09:00.0 USB controller: Fresco Logic FL1100 USB 3.0 Host Controller (rev 10)
 
lspci is telling you that your soundblaster is "07:00.0 Audio device: Creative Labs Sound Core3D [Sound Blaster Recon3D / Z-Series] (rev 01)".

So try it with "07:00" instead of "08:00.0"
 
Dunuin, thank you for your quick reply! OK, that looks obvious....but sorry for my dumb question, how do I try "07:00"?
 
You can use nano /etc/pve/qemu-server/<vmid>.conf to edit the config file of your VM. Search for a line like "hostpci0: 08:00.0" and replace the IOMMU device id. So its something like "hostpci0: 07:00". STRG + X to save the file.
 
I did this change then rebooted, then added PCI new card in GUI but still no go although start failing with a different error code, attached.

my VM <120.conf>
Screen Shot 2021-03-02 at 6.07.37 AM.png
agent: 1
balloon: 0
bios: ovmf
boot: order=virtio0;ide2;net0
cores: 12
cpu: host
efidisk0: local-zfs:vm-120-disk-1,size=1M
hostpci0: 07:00.0,pcie=1
hostpci1: 03:00,pcie=1,x-vga=1
hostpci2: 07:00.0,pcie=1
ide0: pool1-isos:iso/virtio-win.iso,media=cdrom,size=402812K
ide2: pool1-isos:iso/Win10_20H2_v2_English_x64.iso,media=cdrom
machine: q35
memory: 22528
name: windows10-template
net0: virtio=9E:3D:95:B6:A7:45,bridge=vmbr0,firewall=1
numa: 0
ostype: win10
scsihw: virtio-scsi-pci
smbios1: uuid=a38d9b1a-6987-45fe-bb74-a8a8422f7931
sockets: 1
usb0: host=05ac:0267
usb1: host=04d9:a165
vga: none
virtio0: local-zfs:vm-120-disk-0,cache=writeback,size=100G
vmgenid: b5bde763-51c2-4920-aee3-40c25d41bcac
 
hostpci0 and hostpci2 are both using 07:00. You can't add the same device twice.
 
Ok, my error....after removing everything started working as it should for windows. Thank you very much your help!

Now, by chance, since I have another VM - MAC OS (Catalina) that I am testing also, any ideas how to make this sound card working on MAC OS VM? I modified its conf and it boots OK but dont see this card in HW configuration on MAC. The card is clearly supported only for windows but I thought maybe there could be some work around to get it working for MAC?....Thanks again!
 
If there’s no drivers or kexts available for your Sound Blaster card for macOS, then it will definitely not work.

Usually it’s easier to deal with external USB audio interfaces when dealing with cross platform VMs, especially macOS.
 

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!