***GUIDE*** How to passthrough Intel chipset audio


Recommended Posts

On 4/10/2019 at 7:02 PM, comet424 said:

ok ill try that

but  i wasnt spaming nothing  dont know what your talking about... never sent any spam info

sent you the steps i was doing and going through so i could get trouble shooting help  never once spammed nothing

 

but thanks  ill try this... thanks for the info

 

 

Any luck?

Link to comment

@matthope

no nothing has worked..  

 

I had posted in the general channel I think it was and then I found someone else posted to.. also having same issue.. that VMs least of windows 10 and my windows 2016 server scrambles the sound.... I posted in there comment too.. that I have same issue

 

I have tried downloading the drivers …doing a new install of windows 10 vm using the latest vir driver package 

nothing audio always scrambled  ..  I tried the one setting you mentioned change machine to Q35  I was never able to just changed but I had to do was try to reinstall Windows using Q35  didn't help didn't work at all...

I tried googling  but the issues people have is same but they don't use VMs as its actual Computer or different host software for VMs

so I have not gotten ahead

 

as I was wanting be able to have my speakers hooked up and it stream audio  throught TuneIN for radio   or stream from radio websites  didn't work

 

also posted in the dockers if there was a app  to stream radio stations in Unraid to bypass needing VM    but no reply

so... so far have not been able to get ahead..

 

and sorry for any run on sentences or things don't make sense I have dyslexia  etc... so  it makes sense in my head... but maybe not for you. or others.... so bare with my sentence structure

 

 

 

Edited by comet424
Link to comment
2 hours ago, comet424 said:

@matthope

no nothing has worked..  

 

I had posted in the general channel I think it was and then I found someone else posted to.. also having same issue.. that VMs least of windows 10 and my windows 2016 server scrambles the sound.... I posted in there comment too.. that I have same issue

 

I have tried downloading the drivers …doing a new install of windows 10 vm using the latest vir driver package 

nothing audio always scrambled  ..  I tried the one setting you mentioned change machine to Q35  I was never able to just changed but I had to do was try to reinstall Windows using Q35  didn't help didn't work at all...

I tried googling  but the issues people have is same but they don't use VMs as its actual Computer or different host software for VMs

so I have not gotten ahead

 

as I was wanting be able to have my speakers hooked up and it stream audio  throught TuneIN for radio   or stream from radio websites  didn't work

 

also posted in the dockers if there was a app  to stream radio stations in Unraid to bypass needing VM    but no reply

so... so far have not been able to get ahead..

 

and sorry for any run on sentences or things don't make sense I have dyslexia  etc... so  it makes sense in my head... but maybe not for you. or others.... so bare with my sentence structure

 

 

 

 

I see. Passing motherboard component is complicated and fiddly. I think you should consider a pci sound card, it's not expensive and it's plug-and-play. 

Link to comment
30 minutes ago, matthope said:

I think you should consider a pci sound card, it's not expensive and it's plug-and-play. 

USB audio could possibly work as well, but may require USB controller passthough with the same sort of concerns as motherboard audio.

 

Bottom line here is that hardware passthrough is not a given, it depends on the specific combination of hardware and firmware updates to work at all. It's best to obtain some combination that has worked for others, and then copy their software configuration.

Link to comment

ah ok  ya all I did was just use my older Gaming motherboard   Asus Rampage IV Formula 

with 12gb of ram

 

oh so is it unraid that cant passthrough the audio  or is the VM stuff  I still realtivty new at unraid and vms dockers all that stuff

and I was told why would I use unraid that  VMware Esxi is better... but I use unraid for my files...

 

so if combinations of hardware and firmware  is there a forum  or a list of hardware and settings  for a vm to work  like I remember overclockers website   would show   say  asus rampage iv formula  with this kinda cpu   set the voltages to this this and that  to get specific things working

 

is there a specific sub heading forum for what people have working in VMs   and/or since is a Asus board maybe there is a setting in a Asus board to fix it... as audio comes out  just comes out scrambled...

 

I do appreciate the replies..  so much for a easy fix lol..

 

and I guess there is no docker or plugin that can play radio websites...

 

and I haven't seen a pci card in years... but wont It have issues too? or is it onboard audio has issues? what makes pci card work where onboard doesnt

 

 

Link to comment
6 hours ago, comet424 said:

ah ok  ya all I did was just use my older Gaming motherboard   Asus Rampage IV Formula 

with 12gb of ram

 

oh so is it unraid that cant passthrough the audio  or is the VM stuff  I still realtivty new at unraid and vms dockers all that stuff

and I was told why would I use unraid that  VMware Esxi is better... but I use unraid for my files...

 

The issue is the hardware, it was not made to be use in that way. It may work better with another hypervisor (Xen, EXSI, etc.) but I doubt it.

 

6 hours ago, comet424 said:

is there a specific sub heading forum for what people have working in VMs   and/or since is a Asus board maybe there is a setting in a Asus board to fix it... as audio comes out  just comes out scrambled...

 

You may want to look for KVM forum or even the [email protected] mailing list, however, it is not super user friendly.

 

6 hours ago, comet424 said:

and I haven't seen a pci card in years... but wont It have issues too? or is it onboard audio has issues? what makes pci card work where onboard doesnt

 

 

I meant PCIe sound card, you can buy them quite easily online. And PCIe device are easier to passthrough because they are "independant" of  the rest of your system. Furthermore, IOMMU and VFIO where made with PCIe passthrough in mind, which improve compatibility significatelly.

Edited by matthope
Link to comment

ah ok  learn something new everyday... 

and you mentioned it was never made to work that way.. you mean VM's   was it only ment to work as using it as like servers where you dont need to hear sound right.. like running webservers  etc

 

ya i havent used a Soundcard since PCI has been obsolete... ill take a look online for pcie then  heck dont even know if soundblaster still makes soundcards since they are built in video cards and motherboards

 

but ya i could try to email the vfio  and for the KVM whats that is that the console  logging    like RDP

 

but thanks for the input ill check it out.. and ill look for a sound card too 

 

 

Link to comment
  • 2 weeks later...

Been reading through this thread, and from what I gather I will not be able to pass through onboard sfx to vm. (Due to grouping)

 

I am building a small NAS (unraid)/workstation (windows 10 wm) for a friend, and it would not really work without sound. 

 

Because of requirement to fit this in a small sexy case, I had to go with itx board, and it only has one PCIe slot. I was planning to use that for a USB controller to pass through, to make life easier to plug and play mouse/keyboard/usb stuff. 

 

I guess the only way then is to use that one pcix slot for a sound card, and manually map usb accessories like keyboard/mouse to the vm, I really wanted to avoid that with the usb controller to pass through....

 

M/B: ASRock - Z390M-ITX/ac

CPU: Intel® Core™ i7-8700 CPU @ 3.20GHz

HVM: Enabled

IOMMU: Enabled

Cache: 384 kB, 1536 kB, 12288 kB

Memory: 16 GB (max. installable capacity 32 GB)

Case: Lian Li PC-Q25

IOMMU group 0:	[8086:3ec2] 00:00.0 Host bridge: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers (rev 07)
IOMMU group 1:	[8086:1901] 00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 07)
IOMMU group 2:	[8086:3e92] 00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 630 (Desktop)
IOMMU group 3:	[8086:a379] 00:12.0 Signal processing controller: Intel Corporation Cannon Lake PCH Thermal Controller (rev 10)
IOMMU group 4:	[8086:a36d] 00:14.0 USB controller: Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller (rev 10)
[8086:a36f] 00:14.2 RAM memory: Intel Corporation Cannon Lake PCH Shared SRAM (rev 10)
IOMMU group 5:	[8086:a360] 00:16.0 Communication controller: Intel Corporation Cannon Lake PCH HECI Controller (rev 10)
IOMMU group 6:	[8086:a352] 00:17.0 SATA controller: Intel Corporation Cannon Lake PCH SATA AHCI Controller (rev 10)
IOMMU group 7:	[8086:a33d] 00:1c.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #6 (rev f0)
IOMMU group 8:	[8086:a33e] 00:1c.6 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #7 (rev f0)
IOMMU group 9:	[8086:a330] 00:1d.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #9 (rev f0)
IOMMU group 10:	[8086:a305] 00:1f.0 ISA bridge: Intel Corporation Device a305 (rev 10)
[8086:a348] 00:1f.3 Audio device: Intel Corporation Cannon Lake PCH cAVS (rev 10)
[8086:a323] 00:1f.4 SMBus: Intel Corporation Cannon Lake PCH SMBus Controller (rev 10)
[8086:a324] 00:1f.5 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH SPI Controller (rev 10)
[8086:15bc] 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (7) I219-V (rev 10)
IOMMU group 11:	[8086:1539] 02:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)
IOMMU group 12:	[8086:24fb] 03:00.0 Network controller: Intel Corporation Dual Band Wireless-AC 3168NGW [Stone Peak] (rev 10)
IOMMU group 13:	[2646:5008] 04:00.0 Non-Volatile memory controller: Kingston Technology Company, Inc. Device 5008 (rev 01)

 

I have enabled the PCIe ACS Override Setting, but it didn't change anything, after reboot/power cycle.

 

Passing the Intel UHD Graphics worked just fine, and performance looks good, so it's really just down to the sound to make this work...

 

Any suggestions that could help?

 

 

Edited by Fullmakt
Link to comment
4 minutes ago, jonathanm said:

So use a USB soundcard.

Yes, something like this?

https://www.ebay.com/itm/SYBA-external-USB-Stereo-Sound-Adapter-Windows-Mac-Linux-Extra-Audio-/282495254132?ef_id=CjwKCAjwwZrmBRA7EiwA4iMzBI910NxLdDKQ4BHMCzVvrIq7lH53eCn0y-juI2ElkMYasPXcj84b1BoClWoQAvD_BwE:G:s

 

Will that however require to connect to the mini jacks for sound, or will Windows be able to send sound through hdmi to a TV i.e?

Link to comment
21 minutes ago, jonathanm said:

Yes.

 

Perhaps you could use a USB HDMI graphics adapter with sound, however I have no clue whether that will work or not.

 

At the moment, I use a HDMI audio extractor which works flawlessly. 

 

@Fullmakt You can still try to stub the audio card and add it manually to your VM. But if you're not tech savvy, I suggest you to try a PCIe sound card or a HDMI sound extractor. I don't like the USB sound card option since it may not work. It will depend on your setup and the usb sound card chipset. In fact, I have the exact same USB audio device that is in the link that you sent. For me the sound was buggy and distorted. However, it work for many.

Edited by matthope
Link to comment

Actually I was able to make it work passing through the sound chip.

 

I could always select the "sound card", but it would crash with IOMMU Group conflict when staring the VM.

 

The Audio Device was in group with a bunch of other devices:


IOMMU group 10:	[8086:a305] 00:1f.0 ISA bridge: Intel Corporation Device a305 (rev 10)
[8086:a348] 00:1f.3 Audio device: Intel Corporation Cannon Lake PCH cAVS (rev 10)
[8086:a323] 00:1f.4 SMBus: Intel Corporation Cannon Lake PCH SMBus Controller (rev 10)
[8086:a324] 00:1f.5 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH SPI Controller (rev 10)
[8086:15bc] 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (7) I219-V (rev 10)

 

I adjusted the Syslinux configuration to include all of the devices in this group.

append append pcie_acs_override=downstream,multifunction iommu=pt vfio-pci.ids=8086:a305,8086:a348,8086:a323,8086:a324,8086:15bc initrd=/bzroot

 

Since this motherboard has two ethernet ports, it doesn't matter that one is "sacrificed", it now appears as Other PCI devices along with PCH SPI Controller. I could pass through the Ethernet, but the bridge device from unraid works just fine.

 

The main point is that the secondary Ethernet port is removed from unraid, and there is not any IOMMU group conflict when starting the VM. 

 

 

image.png.465b829b35c2fb2a45ec9eab547d3b5a.png

 

The only thing I wonder is if there is a drawback waiting to bite me by removing all these devices from unraid?

 

 

 

Link to comment
  • 1 month later...

I followed the guide and was able to get my controller to pass to the VM, but I still cant get it into its own IOMMU group. I am current booting in legacy mode and have PCIe ACS override turned on and Downstream selected.  Has anyone found a better method?

 

IOMMU group 8:

[8086:a148] 00:1f.0 ISA bridge: Intel Corporation B150 Chipset LPC/eSPI Controller (rev 31)

[8086:a121] 00:1f.2 Memory controller: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller (rev 31)

[8086:a170] 00:1f.3 Audio device: Intel Corporation 100 Series/C230 Series Chipset Family HD Audio Controller (rev 31)

[8086:a123] 00:1f.4 SMBus: Intel Corporation 100 Series/C230 Series Chipset Family SMBus (rev 31)

Link to comment
16 hours ago, Twisted said:

I followed the guide and was able to get my controller to pass to the VM, but I still cant get it into its own IOMMU group. I am current booting in legacy mode and have PCIe ACS override turned on and Downstream selected.  Has anyone found a better method?

 

IOMMU group 8:

[8086:a148] 00:1f.0 ISA bridge: Intel Corporation B150 Chipset LPC/eSPI Controller (rev 31)

[8086:a121] 00:1f.2 Memory controller: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller (rev 31)

[8086:a170] 00:1f.3 Audio device: Intel Corporation 100 Series/C230 Series Chipset Family HD Audio Controller (rev 31)

[8086:a123] 00:1f.4 SMBus: Intel Corporation 100 Series/C230 Series Chipset Family SMBus (rev 31)

You cannot always break the IOMMU groups, it depends on how the motherboard was designed. Software cannot overrule hardware limitation. However, If the audio is working, this is a non issue.

Link to comment
20 minutes ago, Twisted said:

I was hoping to pass-though my external speakers without having to buy additional hardware, so I was reaching out to see if I missed anything.

The on board audio controller work or not ? Generally speaking, if you were able to pass-trough the controller to your VM it should work. If not, I will need you to describes what kind of issue you have in order to help you.

Link to comment

I was hoping to use my motherboards Audio Controller to pass-through a 3.5MM jack to my speakers. I thought if I could separate the controller into its own IOMMU, it would show up as a device I could pass-through. The only options I am finding is utilizing a separate USB or HDMI device to pass-through the audio.

Link to comment
14 minutes ago, Twisted said:

I was hoping to use my motherboards Audio Controller to pass-through a 3.5MM jack to my speakers. I thought if I could separate the controller into its own IOMMU, it would show up as a device I could pass-through. The only options I am finding is utilizing a separate USB or HDMI device to pass-through the audio.

It's not necessary to isolate your audio controller in a IOMMU group to make it work, if you look on the 1st page of this thread, i have posted my IOMMU group for the audio controller and it look quite similar to yours. 

 

Now to help you I need to know your sysconfig and you need to give me more details on what you have done yet. 

Link to comment

My Setup:

  • Server boot mode: Legacy

  • PCIe ACS override: Both

  • VFIO allow unsafe interrupts: No

 

Here is my sysconfig:

Unraid OS

kernel /bzimage
append pcie_acs_override=downstream vfio-pci .ids=8086:a170 modprobe.blacklist=i2c_i801,i2c_smbus initrd=/bzroot

 

Unraid OS GUI Mode

kernel /bzimage
append pcie_acs_override=downstream initrd=/bzroot,/bzroot-gui

 

Edited by Twisted
Link to comment
On 6/3/2019 at 3:00 AM, Twisted said:

I followed the guide and was able to get my controller to pass to the VM, but I still cant get it into its own IOMMU group. I am current booting in legacy mode and have PCIe ACS override turned on and Downstream selected.  Has anyone found a better method?

 

IOMMU group 8:

[8086:a148] 00:1f.0 ISA bridge: Intel Corporation B150 Chipset LPC/eSPI Controller (rev 31)

[8086:a121] 00:1f.2 Memory controller: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller (rev 31)

[8086:a170] 00:1f.3 Audio device: Intel Corporation 100 Series/C230 Series Chipset Family HD Audio Controller (rev 31)

[8086:a123] 00:1f.4 SMBus: Intel Corporation 100 Series/C230 Series Chipset Family SMBus (rev 31)

Look to the post just prior to yours, I had same issue, I could not split the IOMMU group. It ended up working fine if I just added the whole IOMMU group to sysconfig. Then I could pass the sound chip to wm without any problems. Give it a try.

Link to comment

I tried that and it didn't work.  I also tried to pass-through all IOMMU groups in (rev 31) and received an error...Cannot find device "bod 0".

 

Here is the version of your code I initially tried:

append append pcie_acs_override=downstream,multifunction iommu=pt vfio-pci.ids=8086:a148,8086:a121,8086:a170,8086:a123 initrd=/bzroot

 

Then with the entire rev 31 group:

append append pcie_acs_override=downstream,multifunction iommu=pt vfio-pci.ids=8086:a148,8086:a121,8086:a170,8086:a123,8086:a12f,8086:a131,8086:a13a,8086:a102 initrd=/bzroot

 

IOMMU group 8:

[8086:a148] 00:1f.0 ISA bridge: Intel Corporation B150 Chipset LPC/eSPI Controller (rev 31)

[8086:a121] 00:1f.2 Memory controller: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller (rev 31)

[8086:a170] 00:1f.3 Audio device: Intel Corporation 100 Series/C230 Series Chipset Family HD Audio Controller (rev 31)

[8086:a123] 00:1f.4 SMBus: Intel Corporation 100 Series/C230 Series Chipset Family SMBus (rev 31)

 

IOMMU group 3:

[8086:a12f] 00:14.0 USB controller: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller (rev 31)

[8086:a131] 00:14.2 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Thermal Subsystem (rev 31)

 

IOMMU group 4:

[8086:a13a] 00:16.0 Communication controller: Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller #1 (rev 31)

 

IOMMU group 5:

[8086:a102] 00:17.0 SATA controller: Intel Corporation Q170/Q150/B150/H170/H110/Z170/CM236 Chipset SATA Controller [AHCI Mode] (rev 31)

Edited by Twisted
Link to comment
On 6/8/2019 at 4:26 PM, Twisted said:

Has anyone successfully passed through audio via the motherboards 3.5MM TRS plug to a VM? Or is the only option using a USB or HDMI adapter?

My windows 10 VM is currentlly using my onboard audio. Also a lot of people on this forum had success with their onboard audio.

 

Have you tried to add the audio card directly from the VM XML ?

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.