theGrok Posted February 6, 2017 Share Posted February 6, 2017 I posted this in the 6.3 announcement thread, but figured I might as well ask the question in this subforum. I upgraded to 6.3 and wanted to try IGD passthrough. I do see the GPU as a pass through option, however, I see nothing in the sound section. I remember reading a thread that it was not possible to isolate HD-audio into its own group on the Skylake platform, but that it was being worked on. Does this seem feasible at some point in the future? Here are my IO-MMU groups for illustration: 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) IOMMU group 2 00:01.1 PCI bridge [0604]: Intel Corporation Skylake PCIe Controller (x8) [8086:1905] (rev 07) IOMMU group 3 00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 530 [8086:1912] (rev 06) 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:1b.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Root Port #17 [8086:a167] (rev f1) IOMMU group 8 00:1b.2 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Root Port #19 [8086:a169] (rev f1) IOMMU group 9 00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #1 [8086:a110] (rev f1) IOMMU group 10 00:1c.4 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #5 [8086:a114] (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:1d.4 PCI bridge [0604]: Intel Corporation Sunrise Point-H PCI Express Root Port #13 [8086:a11c] (rev f1) IOMMU group 13 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 Multimedia audio controller [0401]: 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 14 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] [10de:1c82] (rev a1) 01:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:0fb9] (rev a1) IOMMU group 15 02:00.0 Serial Attached SCSI controller [0107]: LSI Logic / Symbios Logic SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] [1000:0072] (rev 02) IOMMU group 16 04:00.0 Ethernet controller [0200]: Qualcomm Atheros Killer E220x Gigabit Ethernet Controller [1969:e091] (rev 10) IOMMU group 17 05:00.0 PCI bridge [0604]: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015] [8086:1578] IOMMU group 18 06:00.0 PCI bridge [0604]: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015] [8086:1578] IOMMU group 19 06:01.0 PCI bridge [0604]: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015] [8086:1578] IOMMU group 20 06:02.0 PCI bridge [0604]: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015] [8086:1578] IOMMU group 21 06:04.0 PCI bridge [0604]: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015] [8086:1578] IOMMU group 22 09:00.0 USB controller [0c03]: Intel Corporation DSL6540 USB 3.1 Controller [Alpine Ridge] [8086:15b6] Quote Link to comment
KShips Posted February 6, 2017 Share Posted February 6, 2017 Should audio over HDMI work, display in VM settings as a separate audio device to select or installed within Windows with GPU drivers? Nothing is showing for it. I tried iGPU for graphics last night and works pretty well although I get micro pauses in Windows, once that and Audio sorted it should be very nice solution. Quote Link to comment
chvb Posted February 7, 2017 Share Posted February 7, 2017 see this thread: https://lime-technology.com/forum/index.php?topic=54568.msg521369#msg521369 cheers Quote Link to comment
theGrok Posted February 11, 2017 Author Share Posted February 11, 2017 Thank you for your reply. I have gone through the thread and I am still a little bit confused on what I need to do. I am looking to use the HDMI audio from my iGPU in a Libreelec VM. With 6.3, it is now possible to passthrough the iGPU but I assume that I will have no sound because the audio is located in a different IOMMU group, or am I mistaken? In the thread you posted, that user also has a Skylake system and has the same contents in his IOMMU group as I do: MMU group 13 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 Multimedia audio controller [0401]: 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 figured since the audio controller is not by itself that it would not be possible to passthrough. I am already passing through my nvidia card successfully in a separate VM and in that one, I can choose the nvidia audio in the soundcard section of the VM config. I thought that I read somewhere that with skylake there was a probblem in isolating audio to be in it's own group to be able to be passed through, but that they were working on a workaround. I am far from an expert on any of this so perhaps I am mistaken. Quote Link to comment
saarg Posted February 11, 2017 Share Posted February 11, 2017 Thank you for your reply. I have gone through the thread and I am still a little bit confused on what I need to do. I am looking to use the HDMI audio from my iGPU in a Libreelec VM. With 6.3, it is now possible to passthrough the iGPU but I assume that I will have no sound because the audio is located in a different IOMMU group, or am I mistaken? In the thread you posted, that user also has a Skylake system and has the same contents in his IOMMU group as I do: MMU group 13 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 Multimedia audio controller [0401]: 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 figured since the audio controller is not by itself that it would not be possible to passthrough. I am already passing through my nvidia card successfully in a separate VM and in that one, I can choose the nvidia audio in the soundcard section of the VM config. I thought that I read somewhere that with skylake there was a probblem in isolating audio to be in it's own group to be able to be passed through, but that they were working on a workaround. I am far from an expert on any of this so perhaps I am mistaken. This is a quote from the link above. And added the line: modprobe.blacklist=i2c_i801,i2c_smbus to my syslinux.cfg to stub what I believe is the SMBus. Quote Link to comment
theGrok Posted February 11, 2017 Author Share Posted February 11, 2017 Thank you for your reply. I have gone through the thread and I am still a little bit confused on what I need to do. I am looking to use the HDMI audio from my iGPU in a Libreelec VM. With 6.3, it is now possible to passthrough the iGPU but I assume that I will have no sound because the audio is located in a different IOMMU group, or am I mistaken? In the thread you posted, that user also has a Skylake system and has the same contents in his IOMMU group as I do: MMU group 13 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 Multimedia audio controller [0401]: 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 figured since the audio controller is not by itself that it would not be possible to passthrough. I am already passing through my nvidia card successfully in a separate VM and in that one, I can choose the nvidia audio in the soundcard section of the VM config. I thought that I read somewhere that with skylake there was a probblem in isolating audio to be in it's own group to be able to be passed through, but that they were working on a workaround. I am far from an expert on any of this so perhaps I am mistaken. This is a quote from the link above. And added the line: modprobe.blacklist=i2c_i801,i2c_smbus to my syslinux.cfg to stub what I believe is the SMBus. So If I stub the SMBus by adding this in linux sysconfig I will then be able to passthrough audio? Quote Link to comment
saarg Posted February 11, 2017 Share Posted February 11, 2017 Thank you for your reply. I have gone through the thread and I am still a little bit confused on what I need to do. I am looking to use the HDMI audio from my iGPU in a Libreelec VM. With 6.3, it is now possible to passthrough the iGPU but I assume that I will have no sound because the audio is located in a different IOMMU group, or am I mistaken? In the thread you posted, that user also has a Skylake system and has the same contents in his IOMMU group as I do: MMU group 13 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 Multimedia audio controller [0401]: 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 figured since the audio controller is not by itself that it would not be possible to passthrough. I am already passing through my nvidia card successfully in a separate VM and in that one, I can choose the nvidia audio in the soundcard section of the VM config. I thought that I read somewhere that with skylake there was a probblem in isolating audio to be in it's own group to be able to be passed through, but that they were working on a workaround. I am far from an expert on any of this so perhaps I am mistaken. This is a quote from the link above. And added the line: modprobe.blacklist=i2c_i801,i2c_smbus to my syslinux.cfg to stub what I believe is the SMBus. So If I stub the SMBus by adding this in linux sysconfig I will then be able to passthrough audio? Yes, that's what worked for others. Quote Link to comment
theGrok Posted February 11, 2017 Author Share Posted February 11, 2017 Thank you for your reply. I have gone through the thread and I am still a little bit confused on what I need to do. I am looking to use the HDMI audio from my iGPU in a Libreelec VM. With 6.3, it is now possible to passthrough the iGPU but I assume that I will have no sound because the audio is located in a different IOMMU group, or am I mistaken? In the thread you posted, that user also has a Skylake system and has the same contents in his IOMMU group as I do: MMU group 13 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 Multimedia audio controller [0401]: 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 figured since the audio controller is not by itself that it would not be possible to passthrough. I am already passing through my nvidia card successfully in a separate VM and in that one, I can choose the nvidia audio in the soundcard section of the VM config. I thought that I read somewhere that with skylake there was a probblem in isolating audio to be in it's own group to be able to be passed through, but that they were working on a workaround. I am far from an expert on any of this so perhaps I am mistaken. This is a quote from the link above. And added the line: modprobe.blacklist=i2c_i801,i2c_smbus to my syslinux.cfg to stub what I believe is the SMBus. So If I stub the SMBus by adding this in linux sysconfig I will then be able to passthrough audio? Yes, that's what worked for others. Ok, I added the line to my sysconfig file, but I still do not see HD audio as an option for passthrough under soundcard in the VM tmeplate. here is my file: 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 initrd=/bzroot,/bzroot-gui label unRAID OS Safe Mode (no plugins, no GUI) kernel /bzimage append initrd=/bzroot unraidsafemode label Memtest86+ kernel /memtest have I done something wrong? Thank you. Quote Link to comment
theGrok Posted February 12, 2017 Author Share Posted February 12, 2017 I will answer my own question. 1) This solution worked (adding the line to syslinux config). I did not realize that the audio controller would show up under Other PCI devices at the bottom of the VM template. I kept trying to find it under sound card section. Once i found it at the bottom of the template I passed it through without incident. 2) I did not realize that I could have passed on-board audio in versions earlier than 6.3. I thought it went hand in hand with passing through the iGPU which required 6.3. So now I have my iGPU as well as on-board HDMI audio passed through and working perfectly (in limited testing) to my libreelec VM on a Skylake i7-6700. I already had another libreelec VM using my nvidia 1050ti. I had to enable ACS override on that one to put the GPU in its own group. I did not think any of this would be possible with a Skylake CPU but it all seems to working. A big thanks as usual to incredibly patient unRaid community for their help. It took me a while to figure it all out, but as always, a fun learning experience. Quote Link to comment
chvb Posted February 12, 2017 Share Posted February 12, 2017 thanks for your feedback. Quote Link to comment
drzaph Posted April 26, 2017 Share Posted April 26, 2017 @theGrok I followed your steps and still haven't been able to get my Skylake's i7-6700K Intel audio to passthrough the VM. I'm on 6.3.3. The Intel audio does appear on the Soundcard options. Never showed under "Other PCI Devices" despite adding the line to my Flash. Any thoughts? Below is my setup: IOMMU group 0 [8086:191f] 00:00.0 Host bridge: Intel Corporation Skylake Host Bridge/DRAM Registers (rev 07) IOMMU group 1 [8086:1901] 00:01.0 PCI bridge: Intel Corporation Skylake PCIe Controller (x16) (rev 07) [10de:1b81] 01:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1070] (rev a1) [10de:10f0] 01:00.1 Audio device: NVIDIA Corporation GP104 High Definition Audio Controller (rev a1) IOMMU group 2 [8086:1912] 00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06) IOMMU group 3 [8086:a135] 00:13.0 Non-VGA unclassified device: Intel Corporation Sunrise Point-H Integrated Sensor Hub (rev 31) IOMMU group 4 [8086:a12f] 00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31) [8086:a131] 00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31) IOMMU group 5 [8086:a13a] 00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31) IOMMU group 6 [8086:a102] 00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA controller [AHCI mode] (rev 31) IOMMU group 7 [8086:a114] 00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #5 (rev f1) IOMMU group 8 [8086:a115] 00:1c.5 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #6 (rev f1) IOMMU group 9 [8086:a149] 00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31) [8086:a121] 00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31) [8086:a170] 00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31) [8086:a123] 00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31) IOMMU group 10 [8086:1533] 02:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03) IOMMU group 11 [8086:1533] 03:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03) Quote Link to comment
theGrok Posted April 27, 2017 Author Share Posted April 27, 2017 On 4/26/2017 at 1:47 PM, drzaph said: @theGrok I followed your steps and still haven't been able to get my Skylake's i7-6700K Intel audio to passthrough the VM. I'm on 6.3.3. The Intel audio does appear on the Soundcard options. Never showed under "Other PCI Devices" despite adding the line to my Flash. Any thoughts? Below is my setup: IOMMU group 0 [8086:191f] 00:00.0 Host bridge: Intel Corporation Skylake Host Bridge/DRAM Registers (rev 07) IOMMU group 1 [8086:1901] 00:01.0 PCI bridge: Intel Corporation Skylake PCIe Controller (x16) (rev 07) [10de:1b81] 01:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1070] (rev a1) [10de:10f0] 01:00.1 Audio device: NVIDIA Corporation GP104 High Definition Audio Controller (rev a1) IOMMU group 2 [8086:1912] 00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06) IOMMU group 3 [8086:a135] 00:13.0 Non-VGA unclassified device: Intel Corporation Sunrise Point-H Integrated Sensor Hub (rev 31) IOMMU group 4 [8086:a12f] 00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31) [8086:a131] 00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31) IOMMU group 5 [8086:a13a] 00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31) IOMMU group 6 [8086:a102] 00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA controller [AHCI mode] (rev 31) IOMMU group 7 [8086:a114] 00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #5 (rev f1) IOMMU group 8 [8086:a115] 00:1c.5 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #6 (rev f1) IOMMU group 9 [8086:a149] 00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31) [8086:a121] 00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31) [8086:a170] 00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31) [8086:a123] 00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31) IOMMU group 10 [8086:1533] 02:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03) IOMMU group 11 [8086:1533] 03:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03) It has been a while since I messed with this. What happens when you try to pass it through? Do you simply hear no sound? Does it show up as: Intel Sunrise Point-H HD Audio | Multimedia audio controller (00:1f.3)? This is the line that I added to my syslinux config: append pcie_acs_override=downstream vfio-pci.ids=8086:a170 modprobe.blacklist=i2c_i801,i2c_smbus initrd=/bzroot note that this include the acs override option. Quote Link to comment
drzaph Posted April 28, 2017 Share Posted April 28, 2017 @theGrok my VM doesn't even boot up when I choose the Intel Sunrise audio. I tried what looked like your config line, but let me try again. Thanks. Quote Link to comment
theGrok Posted April 29, 2017 Author Share Posted April 29, 2017 9 hours ago, drzaph said: @theGrok my VM doesn't even boot up when I choose the Intel Sunrise audio. I tried what looked like your config line, but let me try again. Thanks. Ok well if you use that line remove the ACS override stuff if you don't need it. Quote Link to comment
raidserver Posted May 2, 2017 Share Posted May 2, 2017 This works well for my system, Thanks. Prior to adding the line (modprobe.blacklist=i2c_i801,i2c_smbus ) to my syslinux.cfg i could choose Intel sunrise HD audio from the drop down menu along with my Intel 530 iGPU but the VM wouldn't start when selecting the Sunrise point HD audio. Adding the line of code gets the VM started and everything runs very well. Thanks again Quote Link to comment
drzaph Posted May 10, 2017 Share Posted May 10, 2017 Thanks @theGrok and @raidserver. I was able to boot up OpenPHT and get audio/visual via the iGPU! Now the only problem is OpenPHT won't play some media citing the file doesn't exist - even though it's on the same system. It played a music album, but no TV shows or movies. It's not loading poster art. Thought it was a permissions issue with the caching, so I ran the Tools/New Permissions command and no luck. Maybe I need to "remove" the installation drive of OpenPHT image and make vdisk1 primary... Either way, thanks again for the above help. So close... Quote Link to comment
raidserver Posted May 11, 2017 Share Posted May 11, 2017 @drzaph Not really sure how you are accessing the files but i tend to access the array over gigabit NFS or SAMBA through the LibreElec GUI. Iam no expert but maybe adding an unraid share from within the VM template. Add the disk as a share. Quote Link to comment
drzaph Posted May 12, 2017 Share Posted May 12, 2017 @raidserver but I didn't have to add the disk share for the Windows VM running OpenPHT without issue... Quote Link to comment
Maniac Posted August 24, 2017 Share Posted August 24, 2017 Man I must have been asleep for the last year. Just found out about this! Kept getting and error when starting a VM with iGPU and integrated soundcard. Was thinking it was igpu related, and that it wasn't possible to pass it. Then, after reading the error properly , found out it was the soundcard it had problems with. Applied the append to syslinux.cfg and it just works! Great stuff, thanks guys! Quote Link to comment
Recommended Posts
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.