A little about Passthrough, PCIe, IOMMU Groups and breaking them up

Поделиться
HTML-код
  • Опубликовано: 22 окт 2024

Комментарии • 106

  • @tylercgarrison
    @tylercgarrison 6 лет назад +39

    Thank you so much for making these videos. No matter what I'm running into with unraid, my research almost always leads me to you.

    • @SpaceinvaderOne
      @SpaceinvaderOne  6 лет назад +3

      Ah, glad you find the videos useful Tyler. Thanks for watching 😀

    • @hydroflows
      @hydroflows 3 года назад

      preach

  • @amp888
    @amp888 11 месяцев назад +1

    I just wanted to say a massive thanks for this video. Not only did you provide the solution for my problematic groups, but you also gave a clear explanation of what was going on "behind the scenes". Much appreciated! :)

  • @cook_it
    @cook_it Год назад

    Hey thanks, I don't use unraid (I only want to pass-through a GPU for windows-only games) and the guide for that said "If you see any other devices in the IOMMU group" which set me into a panic as there was an PCI bridge in there and my PC doesn't have ACS, which lead me to researching more about IOMMU, and those few words at 19:21 (along with a bridge, which is absolutely fine) just saved my evening.
    Thanks for giving me hope again and also fantastically explaining the architecture behind it, amazing work! :)

  • @X3ME15
    @X3ME15 9 месяцев назад

    I followed this guide 5 years ago with my old socket 1150 Intel Core i5 3330 Unraid server breaking down IOMMU groups for passthrough. Sadly, motherboard went kaput and can't find a viable replacement and considering 2nd hand motherboards for that platform are already 10 years old which have questionable reliability so opted to upgrade to a newish cheap platform which is a Ryzen 5 5600G AM4 with an Asus Prime A520M-K. Unraid worked without a hitch after the hardware swap except the IOMMU being bundled up on a large group. Tried this guide again using the PCIe ACS override using both "Downstream" and "Multi-function" flag and I was able to breakdown the IOMMU group and passthrough the device that I needed. Again, massive thanks for this awesome guide and explaining how IOMMU works! 😉👍

  • @jakemeyer6047
    @jakemeyer6047 6 лет назад +3

    Glad to be a patron. Awesome vid. Can't wait to try this out myself

  • @fotografm
    @fotografm 3 года назад

    Wow ! Thank you so much for this very clear and thorough explanation ! I wass getting lost in the IOMMU jungle and your help is really appreciated !

  • @user-ss5ii4ol5b
    @user-ss5ii4ol5b 6 лет назад +2

    Hi..long time not having a look at your videos, and did it yesterday! What a great collection of tools you have provided the community! Great job! Really easy tutorial to workaround with IOMMU groups. Thx mate

  • @josephchillemi7523
    @josephchillemi7523 6 лет назад +1

    Educational, masterfully explained, and entertaining. Ty.

    • @SpaceinvaderOne
      @SpaceinvaderOne  6 лет назад

      Thankyou Joseph. Glad you liked the video. Thanks for watching :)

  • @-rhys
    @-rhys 6 лет назад +4

    Very useful information, thank you.

  • @methanoid
    @methanoid 6 лет назад +3

    Excellent video Ed. Well done!!

  • @packetpunter
    @packetpunter 5 лет назад

    this video helped me with a new Windows 10 VM using NVIDIA RTX 2080, which has usb-c for VR that was in the wrong IOMMU group. I was able to add the PCI devices separately to the VM after adding the problematic IOMMU group devices to the initrd line.. THANK YOU!

  • @RamkrishanYT
    @RamkrishanYT 4 года назад +1

    Jees man, that was such an amazing video
    I can only dream to have so much knowledge one day

  • @ndroidsoftware1609
    @ndroidsoftware1609 6 лет назад

    Your videos are very good and your explanations are the best in the web. Well done and thank you.

    • @SpaceinvaderOne
      @SpaceinvaderOne  6 лет назад

      Thanks alot Ndroid Software. Glad you liked it. Thanks for watching :)

  • @VincentSaelzler
    @VincentSaelzler Год назад

    Awesome this is exactly what I needed to know!!

  • @AubsUK
    @AubsUK Год назад

    Awesome, thank you for your advice with this, really useful. I also had to add vfio_iommu_type1.allow_unsafe_interrupts=1 along with the pcie_acs_override=downstream for a 4 port NetXtreme II BCM5709 Gigabit Ethernet which just wouldn't play ball (the downstream split it into two pairs, I suspect that's the limit of splitting it).

  • @giuseppecolia752
    @giuseppecolia752 2 года назад

    At 7:08 I started hearing the background song Creo - Dimension, a song well known in the geometry dash community for the level Black Blizzard

  • @blindsay
    @blindsay 4 года назад +1

    Great video, considering merging my existing unraid server and my gaming pc so i wanted to brush up on passthrough and iommu groupings.
    One question though, you mention you do not suggest using the ACS multifunction override unless you have to but I am wondering why that is. Is there a downside to enabling it?

  • @bitlinkchai
    @bitlinkchai 6 лет назад

    Thank you very much for this video! It helped out a lot with the Ryzen motherboard I have

  • @radialblur
    @radialblur 6 лет назад +2

    Great explanation, thank you :)

  • @davidr8424
    @davidr8424 6 лет назад

    Ooosh, well explained Ed. Thank you

  • @darekf77
    @darekf77 4 года назад

    fantastic !

  • @cepi24
    @cepi24 3 года назад

    Thank you for video. Do I understand correct that HVM emulate devices in VM and IOMMU passes devices to VM? So for better performance IOMMU is required?

  • @UnkSpec
    @UnkSpec 6 лет назад +1

    Great explanation. I am using ACS override because both GPU are stuck in one group, but never actually knew what it was or how it worked, this takes the myth away from it :)
    On a side note: tried to vfio-pci.ids my USB and onBoard sound, USB worked, sound does not show up under PCI devices, is that my board being a prick or will that always be like that?
    And lastly, you said different boards behave better or worse, are there brands or chipsets that can be reccomended in general or is that a more volatile thing?

    • @SpaceinvaderOne
      @SpaceinvaderOne  6 лет назад +1

      Hi, there unknownspecies. Don't worry its normal for the sound not to show in PCI devices. there is a separate section for sound in the template where you can select the sound card. You can add multiple sound cards by clicking the plus symbol. Thanks for watching :)

  • @carbongrip2108
    @carbongrip2108 6 лет назад

    This video is by far your best explanation of IOMMU. Have you had stable performance with Threadripper in Unraid? I am try to decide between Intel X99 or AMD Threadripper boards for IOMMU.

  • @anmoldeepbhullar2974
    @anmoldeepbhullar2974 6 лет назад

    Please never stop making videos

  • @michaelmauer1385
    @michaelmauer1385 8 месяцев назад

    Good video and thank you.
    Would love if you tune the background sound a bit down 😅

  • @thommyavv8905
    @thommyavv8905 Год назад

    I would suggest to check the motherboard and CPU specifications if the bios allows for enabling ACS, it can make things a lot easier if enabled for there
    In my case I enabled ACS in the bios of my ASRock steel legend b450 and edited the parameters to "pcie_acs_override=id:xxxx:xxxx" like Spaceinvader One did in the third solution of the video. This allowed me to isolate an NVme SSD without "pcie_acs_override=downstream,multifunction"
    I do wonder if something like "pcie_acs_override=downstream pcie_acs_override=id:xxxx:xxxx" could work too

  • @DesertCookie
    @DesertCookie 3 года назад +1

    I added the devices I want to separate (GPU and GPU soundcard) to the Unraid OS part on the flash drive and restarted. I see no change in my IOMMU groups and the same error comes up. I'm running Unraid 6.8.3. Has there been a change on how this works?

  • @TheDrummerman16
    @TheDrummerman16 5 лет назад +1

    Hey i was following your tutorial on how to passthrough a USB device and once I reset my PC the USB controller didn't show up in the VM editor. What I noticed after re-checking if i followed the steps correctly is that even though my 2 PCI-e expansion cards come from different vendors they apear to be using the exact same controller. The controllers are both in their own IOMMU groups but they have the same ID. What can I do ?
    IOMMU group 19: [1106:3483] 02:00.0 USB controller: VIA Technologies, Inc. VL805 USB 3.0 Host Controller (rev 01)
    IOMMU group 21: [1106:3483] 04:00.0 USB controller: VIA Technologies, Inc. VL805 USB 3.0 Host Controller (rev 01)

  • @leonlykos2947
    @leonlykos2947 Год назад

    thank you

  • @assgex
    @assgex 3 года назад

    Awesome guy

  • @danielfripp5614
    @danielfripp5614 5 лет назад +1

    Hey Ed! Great videos, really instructional! Could I apply this same process to pass-thru onboard video to a vm?

  • @IEnjoyCreatingVideos
    @IEnjoyCreatingVideos 5 лет назад

    Great video Ed! Thank you for sharing it with us i have a question i have a issue with iommu i only can use unraid 6.6.7 anything newer will knock out the internet and the network on unraid but if i turn off iommu it all works fine any idea what could be the problem? Thanks! 😎JP

  • @michaelrojas190
    @michaelrojas190 4 года назад

    At 19:18, after applying ACS override you say that it's absolutely fine to have the bridge along with the capture card. My motherboard naturally (before applying ACS downstream) separates the nvidia card into it's own IOMMU group along with a pci bridge. Does this mean it's fine to pass through to the vm? A lot of the information I've seen says the bridge shouldn't be passed through...

  • @rallygallery
    @rallygallery 6 лет назад +1

    Great video!

  • @tachyonpost1472
    @tachyonpost1472 6 лет назад

    Tnx for again a great explanation. Amazing videos as always

    • @tachyonpost1472
      @tachyonpost1472 6 лет назад

      Ps just turned patron. Tnx to your vids my unraid beast is humming like a sweet kitten serving all my needs

    • @SpaceinvaderOne
      @SpaceinvaderOne  6 лет назад

      Thanks for your support, Glenn. Much appreciated. :)

  • @nathanbrown492
    @nathanbrown492 5 лет назад +1

    Can IOMMU be enabled and HVM be disabled (technically speaking). I am aware that such a scenario would likely be completely useless.

  • @ceving865
    @ceving865 Год назад

    Does the Windows guest have access to the network card with ACS-override?

  • @gxty1277
    @gxty1277 4 года назад

    What about the physical machine of normal PC passthrough?Could I just simply put the pcie_acs_override code into the grub file?

  • @ktorn1
    @ktorn1 6 лет назад

    Great explanation, thanks.
    How many cores are you running on these servers?

    • @SpaceinvaderOne
      @SpaceinvaderOne  6 лет назад +1

      Hi Filipe, I have 2 servers. One with a ryzen 1700 with 8 cores and the other one i have just upgraded from a threadripper 1950x to a 2990wx with 32 cores

  • @smithwill9952
    @smithwill9952 5 лет назад

    Amazing video!

  • @ryanboyette7630
    @ryanboyette7630 5 лет назад +1

    I'm trying to pass through a PCIE USB 3.0 expansion card, but I keep getting "Internal error: unknown pci source type 'vendor'"... what am I doing wrong?

    • @ryanboyette7630
      @ryanboyette7630 5 лет назад

      figured it out! ended up having to re-create the VM, for whatever reason it wasn't letting me add the card as is

  • @HululusLabs
    @HululusLabs 5 лет назад

    Is it okay to add both the ACS override patch/ids and the vfio at the same time? New unraid also has a "both" option that adds downstream and multifunction at the same time, what is the significance of that? Thanks and have a good day~

  • @thehinduhustler
    @thehinduhustler 5 лет назад

    Hi Spaceinvader One! I really appreciate your videos, they have been a tremendous help in getting my system going. I am in the final stages of completing my unRaid build but am having quite a difficult time getting my macOS Mojave KVM to recognize my USB 3.0 controller. In your videos you mention the use of a Fresco Logic USB 3.0 card. Would you mind providing a link to purchase the one you use? Thank you!

  • @bamhm182
    @bamhm182 6 лет назад

    Great video as always!

  • @dimitristsoutsouras2712
    @dimitristsoutsouras2712 5 лет назад

    At 10:53 you mention about excluding the host and pci bridge. Why for instance you didnt exclude also the 2 other lines 1042:145a and 1042:1456 ??
    Finally what you did was not to exclude but include the usb controller lines in the sys linux conf.
    Where exactly in your video you are doing the exclusion you are talking about?
    Thank you in advance

    • @HululusLabs
      @HululusLabs 5 лет назад

      My understanding is that he's excluding the bridges, as earlier in the video 8:10 he says the bridges are for providing an interface to the root complex. If he splits the bridges from the connected devices they would stop functioning. Since he needs to split up the devices inside the IOMMU group, he's adding the devices he wants split into the syslinux conf, which means excluding the bridges from those lines.

  • @foo2hp
    @foo2hp 5 лет назад

    thank you sir!

  • @johnm2012
    @johnm2012 6 лет назад +1

    Very good tutorial. I don't want to nitpick but at 12:23 you correctly type colons but in your commentary you erroneously say "hyphen" for each of the three IDs.

    • @SpaceinvaderOne
      @SpaceinvaderOne  6 лет назад +1

      ooops yes just listened to that. I never even noticed that I said that before :(

  • @temp50
    @temp50 4 года назад

    Since than, the ACS override considered as a huge security problem.

  • @friisteching3433
    @friisteching3433 6 лет назад

    I had to use multifunction for my system, and have been doing that now for few month, didn't know there was another way around the bad IOMMU Grouping.
    Any known issues/risks of using multifunction?

  • @modestasvenckus4208
    @modestasvenckus4208 2 года назад

    Hello , is there somehow to solve i have quad nic which only show two ethernet controllers instead of four on system devices (IBM NetXtreme II 1000 Express Quad Port PCI Gigabit NIC FH 49Y7949)

  • @FenixQubes
    @FenixQubes 5 лет назад

    Hi great video, I wanted to ask whats the difference between the acs override multifunction or downstream?
    EDIT: Whoops should've watched just a minute further :D

  • @kevin24km
    @kevin24km 4 года назад

    I'm trying to use an Nvme as a cache drive but it's not showing up at all. Will this have to do with the vt-d?

  • @prisonindustry5227
    @prisonindustry5227 4 года назад

    hello, i can´t activate IOMMU in my bios, how i can install a gpu on my vm. i can see the groups from my 1050ti.

  • @cammelspit
    @cammelspit 6 лет назад

    Question, why exactly is using the multifunction option less desirable than the method you used third?

    • @SpaceinvaderOne
      @SpaceinvaderOne  6 лет назад

      Hi Kevin. When you use the multifunction option it overrides the missing ACS support for all multifunction devices. I don't think this is necessary to do this for all the devices. I prefer to pick the group with the specific device I want to passthrough leaving the others groups as they are.

  • @jiejia119
    @jiejia119 4 года назад

    Hi there, I followed your steps to break the IOMMU group but it seems not working on my device. It's a AsRock j3455 system, PCI bridge, Board Ethernet controller,and a PCIE ethe, Sata controller, All under a same IOMMU group, is there any other way to seperate them? thanks a lot

    • @jiejia119
      @jiejia119 4 года назад

      it took me days to figure out the problem is and finally find you video, really helpful to understand the details behind unraid

  • @succuvamp_anna
    @succuvamp_anna 6 лет назад

    I think I'm gonna play with my IOMMU groups in a few days lol.
    I had to do the override patch to get my quad port Intel NIC passed to pfSense.

    • @HeroStarwind
      @HeroStarwind 6 лет назад

      I have 2 single port NICs that I am having trouble passing through to pfSense. I can get them to show up, but I keep getting a "failed to set iommu for container: Operation not permitted" error despite following all three methods he mentioned here. I am going nuts here. Its a Dell T3500

  • @digitalnitrogen
    @digitalnitrogen 6 лет назад

    any help? i keep getting this error when every trying to passthrough a gpu to a vm. internal error: qemu unexpectedly closed the monitor: 2018-09-10T19:47:12.922853Z qemu-system-x86_64: -device vfio-pci,host=28:00.0,id=hostdev0,bus=pci.0,addr=0x6: vfio error: 0000:28:00.0: failed to setup container for group 15: failed to set iommu for container: Operation not permitted

  • @fbifido2
    @fbifido2 5 лет назад

    @6:18 - is that mac os x running as a virtual machine on unRaid, that use KVM?

    • @SpaceinvaderOne
      @SpaceinvaderOne  5 лет назад

      Hi there. Yes, that's macOS as a KVM VM. I use a macOS KVM to edit all of my videos! I have made a few vids how to set that up. ruclips.net/video/YWT4oOz2VK8/видео.html Thanks for watching :)

  • @68681395
    @68681395 5 лет назад

    thumbs up!

  • @tachyonpost1472
    @tachyonpost1472 6 лет назад

    Question : When do you actually "need" to exclude a pci device from the host in the syslinux config ? As i have a Supermicro dual socket motherboard and in there an Nvidia and a whole motherbroard USB controller (both in single iommu groups) passed thru to an OSX VM by just putting the pci adresses in the VM's xml and working perfectly fine. USB plug and play as well. No reboot of host. I thought originally that the host would claim these devices unless you put them in the syslinux, but it feels like they are dynamically reassigned to the VM host at startup. I see no sideeffects yet or errors in log etc . I am confused on the need for the syslinux isolation

    • @SpaceinvaderOne
      @SpaceinvaderOne  6 лет назад +1

      Hi, Glenn. You don't have to 'exclude' a device in the syslinux config to pass it through. Adding the PCI addresses is fine. The unRAID webui just only adds devices to the VM template under other PCI devices if they are bound to the vfio-pci driver so for most people this is the easiest way to add them to a VM. It is best practice to have the device isolated from the host, things like network cards etc don't work unless you do this. But for USB controllers its fine.

    • @tachyonpost1472
      @tachyonpost1472 6 лет назад

      Tnx man. Yeah that matches my experiences when i played with a 4 port intel network card.

  • @lxnny2357
    @lxnny2357 3 года назад

    Is the IOMMU an IP that exists on the CPU? The Chipset?

  • @davidbeiler6364
    @davidbeiler6364 3 года назад

    this broke my networking, now i cant get an ip address, how do i change it back w/out going into gui mode (since i cant)

  • @paulpoco22
    @paulpoco22 3 года назад

    I watch a different video from another RUclips channel saying for Ryzen you need the x16 slots to come from CPU to pass 2 GPU to 2 VMs.

    • @chiragparmar1964
      @chiragparmar1964 3 года назад

      bro can you help me ....I have 2 GPU ....i want to dedicate one GPU to virtual machine....please I have a HIGH END MACHINE...

  • @DarksurfX
    @DarksurfX 6 лет назад

    is it possible to split a quad nic into 2 duals for 2 VMs?

    • @trevelvin7455
      @trevelvin7455 6 лет назад

      Jerrod Frost yes this works as i have done the same.

    • @SpaceinvaderOne
      @SpaceinvaderOne  6 лет назад +1

      Hi Jerrod. Yes, you can. Thanks for watching :)

  • @TwistedTweaker
    @TwistedTweaker 6 лет назад

    I keep getting this error while trying to pass my EVGA Gforce GTX 1050. The VM will start but it is a black screen?
    2018-05-05T02:46:46.671447Z qemu-system-x86_64: -device vfio-pci,host=01:00.0,id=hostdev0,bus=pci.0,addr=0x5: Failed to mmap 0000:01:00.0 BAR 3. Performance may be slow
    2018-05-05T02:46:46.684409Z qemu-system-x86_64: -device vfio-pci,host=00:1f.3,id=hostdev2,bus=pci.0,addr=0x8: vfio error: 0000:00:1f.3: group 9 is not viable

    • @SpaceinvaderOne
      @SpaceinvaderOne  6 лет назад

      Can you post on pastebin your devices and iommu groups? Also is the gtx 1050 the only GPU in your server. If so are you passing through the vbios in the XML?

    • @TwistedTweaker
      @TwistedTweaker 6 лет назад

      Thank you for the help. I have been working on this forever. Yes, it is my only card on the server. I am not sure if the XML is corrrect, but I did post my information to the thread you made on the Lime-tech website:
      lime-technology.com/forums/topic/57657-video-guide-the-best-way-to-install-and-setup-a-windows-10-vm-as-a-daily-driver-or-a-gaming-vm-part-1-and-part-2/?page=2&tab=comments#comment-655883

    • @TwistedTweaker
      @TwistedTweaker 6 лет назад

      Were you able to read my files ok? Any suggestions would be greatly appreciated.

  • @dds115
    @dds115 6 лет назад

    Any chance you would open up another spot for $75 on your Patreon or willing to remote in for a fee?

    • @SpaceinvaderOne
      @SpaceinvaderOne  6 лет назад

      Hi, dds115 I don't have many spots for this tier on patreon ( I wanted only 4) due to time constraints. However one of my patreons on that level is Lime Technology. So obviously they never need to use the service they just kindly support me. So with that in mind I have opened up a final spot on that tier :)

    • @dds115
      @dds115 6 лет назад

      Awesome, thank you! Just pledged!

  • @christerpherhunter930
    @christerpherhunter930 6 лет назад +2

    where's the next pFsense video?

    • @radialblur
      @radialblur 6 лет назад

      entitled much!

    • @SpaceinvaderOne
      @SpaceinvaderOne  6 лет назад +2

      Will be soon Christerpher. Just as the last 3 were pfSense, so this video was for the people who aren't interested in installing pfsense. But next pfsense video will be very soon :) Thanks for watching

  • @RuneVenes
    @RuneVenes 18 дней назад

    We really don't need the disco music in the background.

  • @timtomnec
    @timtomnec 6 лет назад +1

    Get rid of the back ground music or at least turn it down or just not at all

  • @junicast_tech
    @junicast_tech Год назад

    Please don't put your mic on the other side of the room.

  • @thierrylechevillier7221
    @thierrylechevillier7221 Год назад

    Horrible music in the background. Is it really necessary to ruin our ears ?