Windows 10 VM Integrated Audio Pass Through

Got my gaming VM working off a passed through M.2. Only issue I have is i can’t pass through my on board audio. I am using Unraid. I have tried PCIe ACS override but still getting the below error. Any tips or tricks?

My sever build log can be found here:
https://forum.level1techs.com/t/wittel-server-project/161490/6

Error:
internal error: process exited while connecting to monitor: 2021-01-18T01:44:36.328189Z qemu-system-x86_64: -device vfio-pci,host=0000:00:1f.3,id=hostdev2,bus=pci.0,addr=0x8: vfio 0000:00:1f.3: group 11 is not viable Please ensure all devices within the iommu_group are bound to their vfio bus driver.

IOMMU group 11:

  • |[8086:a2c9] 00:1f.0 ISA bridge: Intel Corporation Z370 Chipset LPC/eSPI Controller|
  • ||[8086:a2a1] 00:1f.2 Memory controller: Intel Corporation 200 Series/Z370 Chipset Family Power Management Controller|
  • ||[8086:a2f0] 00:1f.3 Audio device: Intel Corporation 200 Series PCH HD Audio|
  • ||[8086:a2a3] 00:1f.4 SMBus: Intel Corporation 200 Series/Z370 Chipset Family SMBus Controller|

Possible Fix Here:
https://forums.unraid.net/topic/60010-guide-how-to-passthrough-intel-chipset-audio/page/2/

https://www.youtube.com/watch?v=qQiMMeVNw-o&feature=emb_logo

So it looks like the groups aren’t being completely separated, if at all.

From the possible fix you linked:

default /syslinux/menu.c32
menu title Lime Technology, Inc.
prompt 0
timeout 50
label unRAID OS
  menu default
  kernel /bzimage
  append pcie_acs_override=downstream vfio-pci.ids=8086:a170 modprobe.blacklist=i2c_i801,i2c_smbus initrd=/bzroot
label unRAID OS GUI Mode
  kernel /bzimage
  append pcie_acs_override=downstream initrd=/bzroot,/bzroot-gui
label unRAID OS Safe Mode (no plugins, no GUI)
  kernel /bzimage
  append pcie_acs_override=downstream initrd=/bzroot unraidsafemode

etc etc etc

You could try changing the values of

pcie_acs_override=downstream

to

pcie_acs_override=downstream, multifunction

Which if I recall correctly should separate the groups even more than they are.

I would also check in the info settings:
image
The iommu group needs to show enabled, and Not disabled. If it shows disabled, make sure you enable intel vt-d or amd-vi etc inside your motherboard bios.

Some devices simply will refuse to separate and a usb dac, hdmi/dp audio, or scream would be required.

I was able to get is working with

kernel /bzimage
append pcie_acs_override=multifunction initrd=/bzroot,/bzroot-gui vfio_iommu_type1.allow_unsafe_interrupts=1 vfio-pci.ids=8086:a2c9,8086:a2a1,8086:a2f0,8086:a2a3

So basically both ACS_Overide and unsafe_interrupts have to be enabled.

1 Like

do the append commands need to be applied in any particular order?

Also, did you experiment with acs_override=multifunction,downstream I.E. “both”?