XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Intel GPU passthrough Question

    Scheduled Pinned Locked Moved Compute
    12 Posts 4 Posters 4.2k Views 4 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C Offline
      cyrus104
      last edited by

      I want to passthrough the Intel GPU to enable hardware acceleration in a Plex VM. I am following the instruction here: https://xcp-ng.org/docs/compute.html#pci-passthrough

      In my lspci I have found the intel gpu: 00:02.0
      So I ran: /opt/xensource/libexec/xen-cmdline --set-dom0 "xen-pciback.hide=(0000:00:02.0)"
      I rebooted and didn't see anything in the: xl pci-assignable-list

      I reran: /opt/xensource/libexec/xen-cmdline --set-dom0 "xen-pciback.hide=(0000:00:02.0)"
      Then running: /opt/xensource/libexec/xen-cmdline --delete-dom0 xen-pciback.hide
      I rebooted and didn't see anything in the: xl pci-assignable-list

      Thoughts on places to look?
      Thanks

      ForzaF 1 Reply Last reply Reply Quote 0
      • ForzaF Offline
        Forza @cyrus104
        last edited by

        @cyrus104 is this an iGPU? I don't think you can pass through those as they are needed for the main console.

        C 1 Reply Last reply Reply Quote 0
        • C Offline
          cyrus104 @Forza
          last edited by cyrus104

          @Forza yeah, I was hoping to pass the iGPU through. Half my lab is XCP-ng and the other half is still ESXi which I am able able to do iGPU passthrough so I just figured it would be doable here too.

          In theory if XCP-ng was not capable of passing the iGPU through because it was needed for console, I waste an m.2 slot and install an m.2 gpu for the console but would still need the Intel iGPU for the quicksync feature.

          https://www.asrockrack.com/general/productdetail.asp?Model=M2_VGA#Specifications

          Edit: article that shows that it seems to have worked for somebody.
          https://jasonloong.com/2020/migrated-a-plex-intel-nuc-to-xcp-ng-xenserver-with-igpu-passthrough/

          C 1 Reply Last reply Reply Quote 0
          • C Offline
            cyrus104 @cyrus104
            last edited by

            @Forza I spent a few more minutes on the second linked article and while it doesn't actually spell it out, it does say to use XCP-ng Center to make it easier.

            I went to XCP-ng Center, went to properties on the host and then went to GPU and said "This server will not use the integrated GPU" which will take affect after reboot.

            ffc97f7b-a17f-4d10-9ff7-524e76286bb2-image.png

            After reboot:
            5862f0a8-b464-4813-b8b2-8bc1e9155163-image.png

            I can now added this to a VM:
            b702819a-0a51-4620-bfc6-f13b50b89faf-image.png

            We can go ahead and mark this as solved, I'm not sure why it didn't work as expected in the command line so maybe there could be some help testing that out.

            ForzaF 1 Reply Last reply Reply Quote 1
            • ForzaF Offline
              Forza @cyrus104
              last edited by

              @cyrus104 said in Intel GPU passthrough Question:

              ond linked article and while it doesn't actually spell it out, it does say to use XCP-ng Center to make it easier.
              I went to XCP-ng Center, went to properties on the hos

              That's an interesting find. Thanks for sharing 😃

              C 1 Reply Last reply Reply Quote 0
              • C Offline
                cyrus104 @Forza
                last edited by

                This post is deleted!
                1 Reply Last reply Reply Quote 0
                • C cyrus104 referenced this topic on
                • C Offline
                  cyrus104
                  last edited by

                  @Forza @olivierlambert

                  I would like to highlight that this does work but there are some performance issues with the iGPU. I it for transcoding plex and it will transcode a 4K to 1080p which is a huge load on baremetal but when I use the passthrough to the same basic Windows install it says hw transcoding. However, there is a performance hit somewhere in the passthrough as I can't do a 4K transcode.

                  FYI

                  1 Reply Last reply Reply Quote 0
                  • K Offline
                    khumps
                    last edited by khumps

                    Sorry to revive a dead thread but I also am in the same place with the exact same Intel CPU model. My other CPU passed through just fine with the CLI parameters but this one won't.

                    They actually are distinctly different machines so maybe the specs may shed light.

                    The one that works:

                    CPU model	Intel(R) Xeon(R) E-2176G CPU @ 3.70GHz
                    GPUs	ASPEED Graphics Family, CoffeeLake-S GT2 [UHD Graphics P630]
                    Core (socket)	12 (1)
                    Hyper-threading (SMT)	Enabled
                    Manufacturer info	To Be Filled By O.E.M. (To Be Filled By O.E.M.)
                    BIOS info	American Megatrends Inc. (P2.70)
                    
                    af31    0000:00:02.0	Display controller	CoffeeLake-S GT2 [UHD Graphics P630]	
                    be64   0000:00:17.0	SATA controller	Cannon Lake PCH SATA AHCI Controller	
                    eb5d   0000:00:1f.0	ISA bridge	Cannon Point-LP LPC Controller	
                    c25e   0000:00:1f.4	SMBus	Cannon Lake PCH SMBus Controller	
                    3bb1   0000:00:1f.5	Serial bus controller [0c80]	Cannon Lake PCH SPI Controller	
                    db2a   0000:00:1f.6	Ethernet controller	Ethernet Connection (7) I219-LM	
                    ac1a   0000:03:00.0	VGA compatible controller	ASPEED Graphics Family	
                    3cd2   0000:05:00.0	Ethernet controller	I210 Gigabit Network Connection
                    

                    The one that doesn't work

                    CPU model	Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz
                    GPUs	CometLake-S GT2 [UHD Graphics 630]
                    Core (socket)	12 (1)
                    Hyper-threading (SMT)	Enabled
                    Manufacturer info	Dell Inc. (Precision Tower 3430)
                    BIOS info	Dell Inc. (1.4.2)
                    
                    c264   0000:00:02.0	VGA compatible controller	CometLake-S GT2 [UHD Graphics 630]	
                    6bd6   0000:00:17.0	SATA controller	Cannon Lake PCH SATA AHCI Controller	
                    e4d6   0000:00:1f.0	ISA bridge	Cannon Point-LP LPC Controller	
                    7635   0000:00:1f.3	Audio device	Cannon Lake PCH cAVS	
                    c8ac   0000:00:1f.4	SMBus	Cannon Lake PCH SMBus Controller	
                    da68   0000:00:1f.5	Serial bus controller [0c80]	Cannon Lake PCH SPI Controller	
                    01f8   0000:00:1f.6	Ethernet controller	Ethernet Connection (7) I219-LM	
                    b462  0000:01:00.0	Non-Volatile memory controller	XG6 NVMe SSD Controller	
                    3b1d  0000:02:00.0	Ethernet controller	NetXtreme BCM5720 Gigabit Ethernet PCIe	
                    f9e7  0000:02:00.1	Ethernet controller	NetXtreme BCM5720 Gigabit Ethernet PCIe
                    

                    Interesting things I noted was that on the machine that works:

                    • there are two GPUs listed there on the working machine (even though it is only the iGPU installed), not sure what ASPEED Graphics Family is
                    • The working GPU is listed as a Display controller, the not working one is listed as a VGA compatible controller

                    For now, I will try using xcp-ng center and see if that works for me

                    K 1 Reply Last reply Reply Quote 0
                    • K Offline
                      khumps @khumps
                      last edited by khumps

                      @khumps
                      I just tried using xcp-ng center and it got it to show up as a passthrough in the gui and I see the device but still no luck getting /dev/dri/ to populate or i915 to load. Is there any diagnostic data or any support I can provide to help this get patched?

                      K 1 Reply Last reply Reply Quote 0
                      • K Offline
                        khumps @khumps
                        last edited by

                        @khumps Turns out that was an issue with missing firmware. XCP-ng center fixed everything

                        1 Reply Last reply Reply Quote 0
                        • olivierlambertO Online
                          olivierlambert Vates 🪐 Co-Founder CEO
                          last edited by

                          Hi,

                          Can you give more details?

                          1 Reply Last reply Reply Quote 0
                          • K Offline
                            khumps
                            last edited by

                            Ya,
                            for the working machine I just had to run

                            opt/xensource/libexec/xen-cmdline --set-dom0 "xen-pciback.hide=(0000:00:02.0)"
                            

                            and on next reboot I could add the GPU as pass through in XOA. for the other machine this didn’t work but using xcp-center did make it show up as a pass through option

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post