Audio Passthrough questions


Recommended Posts

Hi,

 

im pretty new to unraid and wanted to ask now before i try more and more things ...

 

Intel Skylake i5-6600, Realtek Onboard ?,Nvidia GTX 1070

 

Intel Audio Passthrough, do i read it correct now that theres currently no way to passthrough the Intel HDMI Audio when its grouped with other PCI devices ?

Video passthrough working good, audio i get no way to start the VM when Intel Sunrise is chosen ... so to me its not possible ?

 

Next step i thought about, using the onboard realtek chipset, but that one doesnt even show up in unraid devices ? also known ?

---

Now i grabbed me a simple USB audio stick for sound on my monitor (watching a trailer, etc ..), but that one somehow just quits its job and video stalls ....

i have to deactivate and reactivate that stick always again to get sound again ... and there are no drivers available for that stick, windows 10 VM installs its default drivers,

CSL USB Audio stick 5.1 (only stereo used) ... may an idea ? somehow possible to passthrough the USB completely ?

SSH USB looks like this

/root$ lspci | grep USB

00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)

02:00.0 USB controller: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller

/root$ lsusb

Bus 004 Device 002: ID 0781:5583 SanDisk Corp.

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 002 Device 002: ID 0424:5434 Standard Microsystems Corp. Hub

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 001 Device 003: ID 045e:0719 Microsoft Corp. Xbox 360 Wireless Adapter

Bus 001 Device 013: ID 0d8c:013c C-Media Electronics, Inc. CM108 Audio Controller

Bus 001 Device 030: ID 0451:3410 Texas Instruments, Inc. TUSB3410 Microcontroller

Bus 001 Device 009: ID 046d:c71f Logitech, Inc. diNovo Mini Wireless Keyboard

Bus 001 Device 007: ID 046d:c71e Logitech, Inc.

Bus 001 Device 004: ID 046d:0b07 Logitech, Inc.

Bus 001 Device 002: ID 0424:2134 Standard Microsystems Corp.

Bus 001 Device 005: ID 046d:c52b Logitech, Inc. Unifying Receiver

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

 

according to this link may an hint howto add the passthrough the Intel controller ? thanks ahead

https://lime-technology.com/forum/index.php?topic=36768.0

 

---

Next question is, on my 2nd VM i use a GTX 1070, here video and audio passthrough are working and mashine is starting, only issue i see currently, the Nvidia

HDMI audio output only shows stereo, no 5.1 .... also in windows settings i only can choose stereo. any workaround herefore ?

 

thanks ahead for some tipps ;)

Link to comment
  • 3 weeks later...

just small update for others in case of intereset.

 

i made the PCI passthrough for my onboard USB Controller, now that audio stick works as it should, no dropouts, cracking sounds ... no issues.

 

Nvidia GTX audio ... is an HDMI issue connected to an TV using ARC, connected directly to AVR it shows all channels ... nothing to look here for.

Link to comment

hi

 

1) arc and 5.1 - as i read, it depends on TV - https://www.cnet.com/news/what-is-audio-return-channel-arc/

 

2) not sure what is the intel hdmi audio / intel sunrise - is not the onboard audio?

but in my case, i was able to passthrough the onboard audio on my x99-m ws to the VM's - it shows in the list of available devices for the audio (along with the hdmi's from the gpu's)

-d

 

 

 

Link to comment

hi

 

1) arc and 5.1 - as i read, it depends on TV - https://www.cnet.com/news/what-is-audio-return-channel-arc/

 

2) not sure what is the intel hdmi audio / intel sunrise - is not the onboard audio?

but in my case, i was able to passthrough the onboard audio on my x99-m ws to the VM's - it shows in the list of available devices for the audio (along with the hdmi's from the gpu's)

-d

 

 

1. ARC is the point, yes, sadly common on NVIDIA Cards, ARC on my TV can passthrough DTS ... nvm, may i put the HDMI directly into the AVR and its good, Rest like SATV, PS4, ... working fine with ARC passthough, just GPU doesnt, that has nothing todo with unraid, its common cause the drivers ... i tried to test with an LibreELEC build, but either LibreELEC nor OpenELEC boot up with NVIDIA passthrough enabled here, always Xorg Server not start error ...

 

2. yes, its the onboard Intel Audio chip for HDMI sound, i gave up cause everytime i turn this on the VM will not start (error), i assume cause skylake IOMMU group etc ... also tried that PCIe override, same result, no boot ... INTEL Sunrise Point H HD Audio is the name. what wonders me, i thought i have an seperate realtek onboard audio chipset wich i cant find anywhere ;)

in my case group 14

 

IOMMU group 14

00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-H LPC Controller [8086:a145] (rev 31)

00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-H PMC [8086:a121] (rev 31)

00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31)

00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-H SMBus [8086:a123] (rev 31)

 

and when i understood correctly, when audio is in group with other devices it cannot be used to passthrough to VM as sound device ... that was my 1st question.

Link to comment

Hi again,

 

i upgraded my CPU to an i7 7700 Kaby Lake and hoped the Intel HDMI audio issue would may be gone, sadly doesnt look like it.

 

may one more time to ask for, is it impossible to passthrough intel audio in a grouped scenario ?

 

its now in another group (number), was 14, now its 12 ... but still grouped together with ISA, Mem, SMBus ...

 

IOMMU group 12

00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-H LPC Controller [8086:a145] (rev 31)

00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-H PMC [8086:a121] (rev 31)

00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31)

00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-H SMBus [8086:a123] (rev 31)

 

i really would like to passthrough the audio via HDMI cause i may want to change my setup directions, then i need audio on that HDMI cable ;)

Enable PCIe ACS Override: <- is currently active for testing purposes ...

 

for any tips or thoughts thanks ahead ...

Link to comment

hi alturismo

 

sorry for letdown, but i cannot confirm that, since i don't have intel hdmi.

i know how frustrating is to have to work with many unknowns and not being able to have clear purchase decisions :)

 

i guess that this audio output is coming from the integrated gpu in the processor?

maybe you can find some relevant information by checking the thread of how to passthrough integrated gpu...

 

this is the best i can suggest. and hope others can chip in and give some yay's/nay's for your problem...

-d

Link to comment

Yes, its the Intel HDMI, GPU works, Audio doesnt ...

 

Nvidia Passthrough GPU and Audio is working.

 

i real some posts here about that PCIe ACS override so the groups would get splitted i assumed, here it makes no difference at all.

 

while override enabled i see following warning in system devices

 

Warning: Your system has booted with the PCIe ACS Override setting enabled. The below list doesn't not reflect the way IOMMU would naturally group devices. To see natural IOMMU groups for your hardware, go to the VM Settings page and set the PCIe ACS Override setting to No.

 

but actually the groups are exectly like before ...

 

IOMMU group 0

00:00.0 Host bridge [0600]: Intel Corporation Device [8086:591f] (rev 05)

IOMMU group 1

00:01.0 PCI bridge [0604]: Intel Corporation Skylake PCIe Controller (x16) [8086:1901] (rev 05)

IOMMU group 2

00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:5912] (rev 04)

IOMMU group 3

00:08.0 System peripheral [0880]: Intel Corporation Skylake Gaussian Mixture Model [8086:1911]

IOMMU group 4

00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller [8086:a12f] (rev 31)

00:14.2 Signal processing controller [1180]: Intel Corporation Sunrise Point-H Thermal subsystem [8086:a131] (rev 31)

IOMMU group 5

00:16.0 Communication controller [0780]: Intel Corporation Sunrise Point-H CSME HECI #1 [8086:a13a] (rev 31)

IOMMU group 6

00:17.0 SATA controller [0106]: Intel Corporation Sunrise Point-H SATA controller [AHCI mode] [8086:a102] (rev 31)

IOMMU group 7

00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #1 [8086:a110] (rev f1)

IOMMU group 8

00:1c.2 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #3 [8086:a112] (rev f1)

IOMMU group 9

00:1c.3 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #4 [8086:a113] (rev f1)

IOMMU group 10

00:1c.7 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #8 [8086:a117] (rev f1)

IOMMU group 11

00:1d.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #9 [8086:a118] (rev f1)

IOMMU group 12

00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-H LPC Controller [8086:a145] (rev 31)

00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-H PMC [8086:a121] (rev 31)

00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31)

00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-H SMBus [8086:a123] (rev 31)

IOMMU group 13

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP104 [GeForce GTX 1070] [10de:1b81] (rev a1)

01:00.1 Audio device [0403]: NVIDIA Corporation GP104 High Definition Audio Controller [10de:10f0] (rev a1)

IOMMU group 14

02:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller [1b21:1242]

IOMMU group 15

03:00.0 Ethernet controller [0200]: Qualcomm Atheros Killer E2400 Gigabit Ethernet Controller [1969:e0a1] (rev 10)

IOMMU group 16

04:00.0 Multimedia video controller [0400]: Conexant Systems, Inc. CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb [14f1:8880] (rev 04)

IOMMU group 17

05:00.0 Multimedia video controller [0400]: Conexant Systems, Inc. CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb [14f1:8880] (rev 04)

IOMMU group 18

06:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller [144d:a802] (rev 01)

 

---

in my case my problem is group 12, Audio device together with some other stuff ... also tried manually edit xml to seperate like i did with my onboard USB controller, no result.

 

what i dont understand is why for example PCIe USB passthrough works (in group 4 here with something else) but PCIe audio doesnt ...

 

its not the huge dealbreaker to me cause i got audio with an seperate USB device and after passing through whole PCIe USB sound is fine, just would like to understand if im doing something wrong

or its just simply not possible ...

my intention also was maybe to change the GPU devices in different usage and i cannot pull another cable to my TV for AUDIO only if i would try to use the Intel one for LibreELEC cause

Nvidia doesnt support HEVC 10bit on linux systems yet it seems ... but without Intel Audio im out of luck ;) nevermind.

Link to comment

The audio pass through of skylake is not really possible. I think here is a trick somewhere in a thread about getting it to work by stabbing the smbus controller.  But do a search to find it.

 

i changed to kaby lake i7 7700, but probably same behavior ...

 

i tried finding stab smbus, all i found was this try here (he gave up meanwhile)

https://lime-technology.com/forum/index.php?topic=54568.msg521369#msg521369

 

when i see this syslinux.cfg entry to "stab"

 

modprobe.blacklist=i2c_i801,i2c_smbus when his smbus line looks like this

00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-H SMBus [8086:a123] (rev 31)

 

may an suggestion what would be my entry ?

my smbus line looks like this (in group 12, upper post)

00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-H SMBus [8086:a123] (rev 31)

 

wich looks exactly the same (different cpu ...) and what wonders me where is the syntax to the modprobe ?

 

thanks ahead for an hint ;)

Link to comment

ok, added the blacklist modprobe ... and now intel audio seems to work.

 

what should i watch for if this "hack" is not good for anything else ... actually my group is looking like before

 

IOMMU group 12

00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-H LPC Controller [8086:a145] (rev 31)

00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-H PMC [8086:a121] (rev 31)

00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31)

00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-H SMBus [8086:a123] (rev 31)

 

so this modprobe.blacklist in combination with PCIe override does what ? ignore the group and use it anyway ?

and if its the group, may i ask why memory controller and ISA bridge doesnt affect this ?

 

just trying to understand the system behind it ;) and look if this fix breaks something else ... thanks ahead

 

 

### i turned PCIe override now off to see if that makes any difference and no, also working with modprobe only and PCIe override off ... so i rather keep it off i assume ?

Link to comment

ok, added the blacklist modprobe ... and now intel audio seems to work.

 

what should i watch for if this "hack" is not good for anything else ... actually my group is looking like before

 

IOMMU group 12

00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-H LPC Controller [8086:a145] (rev 31)

00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-H PMC [8086:a121] (rev 31)

00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31)

00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-H SMBus [8086:a123] (rev 31)

 

so this modprobe.blacklist in combination with PCIe override does what ? ignore the group and use it anyway ?

and if its the group, may i ask why memory controller and ISA bridge doesnt affect this ?

 

just trying to understand the system behind it ;) and look if this fix breaks something else ... thanks ahead

 

 

### i turned PCIe override now off to see if that makes any difference and no, also working with modprobe only and PCIe override off ... so i rather keep it off i assume ?

 

hey,

 

thanks for this solution. I've tested this with my skylake server.

it's working.

 

Thanks.

Link to comment

ok, added the blacklist modprobe ... and now intel audio seems to work.

 

what should i watch for if this "hack" is not good for anything else ... actually my group is looking like before

 

IOMMU group 12

00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-H LPC Controller [8086:a145] (rev 31)

00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-H PMC [8086:a121] (rev 31)

00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31)

00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-H SMBus [8086:a123] (rev 31)

 

so this modprobe.blacklist in combination with PCIe override does what ? ignore the group and use it anyway ?

and if its the group, may i ask why memory controller and ISA bridge doesnt affect this ?

 

just trying to understand the system behind it ;) and look if this fix breaks something else ... thanks ahead

 

 

### i turned PCIe override now off to see if that makes any difference and no, also working with modprobe only and PCIe override off ... so i rather keep it off i assume ?

 

hey,

 

thanks for this solution. I've tested this with my skylake server.

it's working.

 

Thanks.

 

Could someone post a tutorial on how to get this working? I am also having problems starting my LibreElec VM with Intel Corporation Sunrise Point-H HD Audio selected using an i7 6700k. Would love to have LibreElec running off my iGPU and have my GTX 970 solely for my gaming VM. Here are my IOMMU groups.

 

IOMMU group 0

00:00.0 Host bridge [0600]: Intel Corporation Skylake Host Bridge/DRAM Registers [8086:191f] (rev 07)

IOMMU group 1

00:01.0 PCI bridge [0604]: Intel Corporation Skylake PCIe Controller (x16) [8086:1901] (rev 07)

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM204 [GeForce GTX 970] [10de:13c2] (rev a1)

01:00.1 Audio device [0403]: NVIDIA Corporation GM204 High Definition Audio Controller [10de:0fbb] (rev a1)

IOMMU group 2

00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 530 [8086:1912] (rev 06)

IOMMU group 3

00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller [8086:a12f] (rev 31)

IOMMU group 4

00:16.0 Communication controller [0780]: Intel Corporation Sunrise Point-H CSME HECI #1 [8086:a13a] (rev 31)

IOMMU group 5

00:17.0 SATA controller [0106]: Intel Corporation Sunrise Point-H SATA controller [AHCI mode] [8086:a102] (rev 31)

IOMMU group 6

00:1b.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Root Port #17 [8086:a167] (rev f1)

IOMMU group 7

00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #1 [8086:a110] (rev f1)

IOMMU group 8

00:1c.2 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #3 [8086:a112] (rev f1)

IOMMU group 9

00:1c.4 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #5 [8086:a114] (rev f1)

IOMMU group 10

00:1c.6 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #7 [8086:a116] (rev f1)

IOMMU group 11

00:1d.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #9 [8086:a118] (rev f1)

IOMMU group 12

00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-H LPC Controller [8086:a145] (rev 31)

00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-H PMC [8086:a121] (rev 31)

00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31)

00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-H SMBus [8086:a123] (rev 31)

IOMMU group 13

00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection (2) I219-V [8086:15b8] (rev 31)

IOMMU group 14

03:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller [1b21:1242]

IOMMU group 15

04:00.0 PCI bridge [0604]: ASMedia Technology Inc. Device [1b21:1187]

IOMMU group 16

05:01.0 PCI bridge [0604]: ASMedia Technology Inc. Device [1b21:1187]

06:00.0 Multimedia video controller [0400]: Spin Master Ltd. PCIe Video Bridge [1ade:3038] (rev 01)

IOMMU group 17

05:02.0 PCI bridge [0604]: ASMedia Technology Inc. Device [1b21:1187]

07:00.0 Network controller [0280]: Broadcom Limited BCM4360 802.11ac Wireless Network Adapter [14e4:43a0] (rev 03)

IOMMU group 18

05:03.0 PCI bridge [0604]: ASMedia Technology Inc. Device [1b21:1187]

08:00.0 SATA controller [0106]: ASMedia Technology Inc. ASM1062 Serial ATA Controller [1b21:0612] (rev 02)

IOMMU group 19

05:04.0 PCI bridge [0604]: ASMedia Technology Inc. Device [1b21:1187]

IOMMU group 20

05:05.0 PCI bridge [0604]: ASMedia Technology Inc. Device [1b21:1187]

IOMMU group 21

05:06.0 PCI bridge [0604]: ASMedia Technology Inc. Device [1b21:1187]

0b:00.0 Ethernet controller [0200]: Intel Corporation I211 Gigabit Network Connection [8086:1539] (rev 03)

IOMMU group 22

05:07.0 PCI bridge [0604]: ASMedia Technology Inc. Device [1b21:1187]

IOMMU group 23

0d:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller [1b21:1242]

IOMMU group 24

0e:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller [1b21:1242]

Link to comment
  • 1 year later...

This is my 1st unRAID server and my 1st comment in this forum 
 

M/B: Gigabyte Technology Co., Ltd. - Z370 AORUS Gaming 7
CPU: Intel® Core™ i7-8700K CPU @ 3.70GHz

 

I had a similar problem with not being able to use the built-in audio card in my Windows 10 VM.

All my IOMMU groups contain a single device, except for group 15 below.  I tried all options I could find but nothing was working.  

 

IOMMU group 15: [8086:a2c9] 00:1f.0 ISA bridge: Intel Corporation Device a2c9
  [8086:a2a1] 00:1f.2 Memory controller: Intel Corporation 200 Series PCH PMC
  [8086:a2f0] 00:1f.3 Audio device: Intel Corporation 200 Series PCH HD Audio
  [8086:a2a3] 00:1f.4 SMBus: Intel Corporation 200 Series PCH SMBus Controller

 

Since the device that was causing my Win10 VM to crash was not keeping the audio device from showing up as an "Audio Device" in the VM config,

 

ur-sound.jpg.d23d4d7032557957dbc4b8bf412f757a.jpg

 

I decided to try simply blocking the SMBus Controller and, happily, that took care of my problem.  Now I can enjoy a very fast Win10 VM with great sound, even over RDP sessions...

 

Below in bold is the modification I made to the Syslinux configuration file.

 

>>>

label unRAID OS
  menu default
  kernel /bzimage
  append vfio-pci.ids=8086:a2a3 initrd=/bzroot

>>>

 

Thanks to all of you that generously contribute to the forum!  I've gotten many, many answers here.  I particularly enjoy the ones that explain in some detail the unRAID architecture :)

 

Carlos 

 

Edited by cluengas
typos
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.