Help with Capture Card (Elgato HD60 Pro) in W10 VM


Recommended Posts

Hi, 

 

I posted recently about building this NAS and my specs are as follows:

 

  • Motherboard: SuperMicro X8DAL-I REV 2.0
  • CPU: 2x Intel Xeon CPU E5645 @ 2.40GHz
  • RAM: 32GB of ECC RAM
  • GPU: EVGA GeForce 210 (No integrated graphics)
  • PSU: EVGA 450 BT, 80+ Bronze 450W
  • Storage: 3x 3.5" WD 3TB Reds
  • PCIe: Elgato HD60 Pro
  • unRAID 6.3.5 Trial

 

I have the NAS portion set up and working but I want to use a Windows 10 VM to use the Elgato HD60 Pro so that this VM can act as a dedicated streaming PC for twitch. I have managed to successfully pass the capture card through to the VM a number of different ways but the problems I'm having are:

 

  • Restarting or shutting down the VM crashes my entire machine, forcing me to hard reset the system
  • I cannot feed audio/video to the capture card, but this is possibly due to the fact I cannot fully install the drivers because of the problem above

 

I have thoroughly read through this thread:

 

I seem to be following in the footsteps of zarroc24 and I cannot get this to work. 

 

 

Is there anyone who can provide support or insight in how to get this working? There are a number of people like me who have reached a dead end here. I have about 22 days remaining in this free trial and I would like to get this working before I buy unRAID.

Link to comment

Hello Dontjudgememonkey,

 

I am sure you have found out by now that you are not going to be able to get your Elgato HD Pro passed through to your VM. See below my quest to get this card working in unRaid. I had to go back to a normal desktop until they figure out how to make this work...

 

 

Let me know if you end up finding something different! 

Link to comment

Hi Vanum, 

 

Thanks for replying. 

 

I am able to successfully pass through the capture card; however I cannot stop my entire system from crashing on reboot after I've passed it through. This means I cannot successfully install the drivers. User tinimun seems to have been able to get this to work by patching the kernel and I am unable to follow his steps successfully.

Link to comment

Yeah, I remember seeing that patch and if I remember correctly it was from AGES ago. Well before some of the best features of UnRaid were added. You could attempt to use that patched kernel, but you would have to run an older version of UnRaid.

 

If you want to get further in your system without crashing, I would only have the bare minimum selected when you are trying to boot up. At least until you can get your normal drivers installed. Then, start introducing your other devices one by one until you have a stable VM. 

 

Thanks, 

Link to comment
  • 1 month later...
18 hours ago, tinimun said:

Have you tried patching and recompiling your kernel as suggested in this thread?

Yes. This response pretty much summarizes what I get:

Like I said, I can pass the card through no problem. What I can't seem to do is apply this patch to stop a reset from taking down the entire tower. It's been a while since I was doing all of that but if I were doing something wrong there's no way I would know.

Link to comment
On 1/3/2018 at 10:50 PM, tinimun said:

What directory were you in when you ran the patch?

Sorry for the late reply. I've been busy and it took me a while to remember what it is I was doing. These were my steps:

 

Quote

login as: root
[email protected]'s password:
Last login: Sat Jan  6 08:51:58 2018 from 192.168.0.2
Linux 4.9.30-unRAID.
root@2wNAS:~# ls
root@2wNAS:~# cd /
root@2wNAS:/# ls
bin/   dev/  home/  lib/    mnt/   root/  sbin/  tmp/  var/
boot/  etc/  init@  lib64/  proc/  run/   sys/   usr/
root@2wNAS:/# cd boot
root@2wNAS:/boot# ls
0001-Add-quirks-for-Yuan-Yuan-Enterprises-capture-cards.patch*
FSCK0000.REC*
System\ Volume\ Information/
build.sh*
bzimage*
bzroot*
bzroot-gui*
changes.txt*
config/
kernel/
ldlinux.c32*
ldlinux.sys*
license.txt*
linux-4.9.30.tar.xz*
make_bootable.bat*
make_bootable_linux*
make_bootable_mac*
memtest*
packages/
patch-4.9.30*
popd*
return*
source*
syslinux/
test*
times*
true*
root@2wNAS:/boot# cd /
root@2wNAS:/# ls
bin/   dev/  home/  lib/    mnt/   root/  sbin/  tmp/  var/
boot/  etc/  init@  lib64/  proc/  run/   sys/   usr/
root@2wNAS:/# cd root
root@2wNAS:~# ls
root@2wNAS:~# cd /
root@2wNAS:/# patch -Np1 -i /boot/0001-Add-quirks-for-Yuan-Yuan-Enterprises-capture-cards.patch
can't find file to patch at input line 15
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From b8425aaca49e8f88d114426626cd8266e1e37d34 Mon Sep 17 00:00:00 2001
|From: Morgan Jones <[email protected]>
|Date: Sun, 13 Mar 2016 00:56:04 +0000
|Subject: [PATCH] Add quirks for Yuan Yuan Enterprises capture cards
|
|---
| drivers/pci/quirks.c    | 7 +++++++
| include/linux/pci_ids.h | 4 ++++
| 2 files changed, 11 insertions(+)
|
|diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
|index 7e32730..77d48d9 100644
|--- a/drivers/pci/quirks.c
|+++ b/drivers/pci/quirks.c
--------------------------
File to patch:

 

If I recall correctly, when I attempted to do it from root (root@2wNAS:~#) the patch would not be accessible. If I did it from root@2wNAS:/# I could at least provide a path to the file.

Link to comment
  • 3 months later...
  • 2 months later...
  • 4 months later...
  • 2 weeks later...

Im new to unRaid but Im certain the work around is to use a USB 3.0 PCIe card and pass it through. Several can be found at Newegg and Amazon but do a little check around the forums to find the ones known to work. Basically U pass through the entire USB 3.0 PCIe card and everything plugged into it works on the host VM as native including hot swappable. Its how I was able to get my USB 4.2 Bluetooth adapter to work. Or more correctly, it worked just fine when I passed it through but connecting a keyboard via bluetooth wouldnt work. I believe its because the host OS (unRaid) grabs it. If your board supports independent usb hubs, that may work passing using on board usb but the PCIe card guarantees it.

 

BTW watch this video for a good understanding of how IOMMU grouping and passing through the usb 3.0 card would work

 

Edited by YaKillaCJ
Link to comment
  • 1 year later...

I have an El Gato HD 60 Pro and I'm trying to get passthrough to work, but I'm not seeing it listed.  I tried both the GUI system devices and iommu_group command from Spaceinvader one.  Running the latest 6.8.1.  I do have the card attached to a pcie lane splitter, so maybe it's not showing up?  Works fine when I boot to windows directly.

 

PCI Devices and IOMMU Groups

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)

[10de:1b06] 01:00.0 VGA compatible controller: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1)

[10de:10ef] 01:00.1 Audio device: NVIDIA Corporation GP102 HDMI Audio Controller (rev a1)

IOMMU group 2:[8086:a2af] 00:14.0 USB controller: Intel Corporation 200 Series/Z370 Chipset Family USB 3.0 xHCI Controller

IOMMU group 3:[8086:a2ba] 00:16.0 Communication controller: Intel Corporation 200 Series PCH CSME HECI #1

IOMMU group 4:[8086:a282] 00:17.0 SATA controller: Intel Corporation 200 Series PCH SATA controller [AHCI mode]

IOMMU group 5:[8086:a2e7] 00:1b.0 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #17 (rev f0)

IOMMU group 6:[8086:a290] 00:1c.0 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #1 (rev f0)

IOMMU group 7:[8086:a294] 00:1c.4 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #5 (rev f0)

IOMMU group 8:[8086:a296] 00:1c.6 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #7 (rev f0)

IOMMU group 9:[8086:a298] 00:1d.0 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #9 (rev f0)

IOMMU group 10:[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

IOMMU group 11:[8086:15b8] 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-V

IOMMU group 12:[144d:a804] 02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM961/PM961

IOMMU group 13:[1b21:2142] 04:00.0 USB controller: ASMedia Technology Inc. ASM2142 USB 3.1 Host Controller

IOMMU group 14:[1987:5012] 06:00.0 Non-Volatile memory controller: Phison Electronics Corporation E12 NVMe Controller (rev 01)

 

 

 

 

 for iommu_group in $(find /sys/kernel/iommu_groups/ -maxdepth 1 -mindepth 1 -type d);do echo "IOMMU group $(basename "$iommu_group")"; for device in $(\ls -1 "$iommu_group"/devices/); do if [[ -e "$iommu_group"/devices/"$device"/reset ]]; then echo -n "[RESET]"; fi; echo -n $'\t';lspci -nns "$device"; done; done


IOMMU group 7
[RESET] 00:1c.4 PCI bridge [0604]: Intel Corporation 200 Series PCH PCI Express Root Port #5 [8086:a294] (rev f0)
IOMMU group 5
[RESET] 00:1b.0 PCI bridge [0604]: Intel Corporation 200 Series PCH PCI Express Root Port #17 [8086:a2e7] (rev f0)
IOMMU group 13
[RESET] 04:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM2142 USB 3.1 Host Controller [1b21:2142]
IOMMU group 3
        00:16.0 Communication controller [0780]: Intel Corporation 200 Series PCH CSME HECI #1 [8086:a2ba]
IOMMU group 11
[RESET] 00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection (2) I219-V [8086:15b8]
IOMMU group 1
        00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) [8086:1901] (rev 07)
[RESET] 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] [10de:1b06] (rev a1)
        01:00.1 Audio device [0403]: NVIDIA Corporation GP102 HDMI Audio Controller [10de:10ef] (rev a1)
IOMMU group 8
[RESET] 00:1c.6 PCI bridge [0604]: Intel Corporation 200 Series PCH PCI Express Root Port #7 [8086:a296] (rev f0)
IOMMU group 6
[RESET] 00:1c.0 PCI bridge [0604]: Intel Corporation 200 Series PCH PCI Express Root Port #1 [8086:a290] (rev f0)
IOMMU group 14
[RESET] 06:00.0 Non-Volatile memory controller [0108]: Phison Electronics Corporation E12 NVMe Controller [1987:5012] (rev 01)
IOMMU group 4
        00:17.0 SATA controller [0106]: Intel Corporation 200 Series PCH SATA controller [AHCI mode] [8086:a282]
IOMMU group 12
[RESET] 02:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller SM961/PM961 [144d:a804]
IOMMU group 2
        00:14.0 USB controller [0c03]: Intel Corporation 200 Series/Z370 Chipset Family USB 3.0 xHCI Controller [8086:a2af]
IOMMU group 10
        00:1f.0 ISA bridge [0601]: Intel Corporation Z370 Chipset LPC/eSPI Controller [8086:a2c9]
        00:1f.2 Memory controller [0580]: Intel Corporation 200 Series/Z370 Chipset Family Power Management Controller [8086:a2a1]
        00:1f.3 Audio device [0403]: Intel Corporation 200 Series PCH HD Audio [8086:a2f0]
        00:1f.4 SMBus [0c05]: Intel Corporation 200 Series/Z370 Chipset Family SMBus Controller [8086:a2a3]
IOMMU group 0
        00:00.0 Host bridge [0600]: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers [8086:3ec2] (rev 07)
IOMMU group 9
[RESET] 00:1d.0 PCI bridge [0604]: Intel Corporation 200 Series PCH PCI Express Root Port #9 [8086:a298] (rev f0)

Link to comment
  • 2 weeks later...

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.