Intel GPU passthrough Question
-
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-listI 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-listThoughts on places to look?
Thanks -
@cyrus104 is this an iGPU? I don't think you can pass through those as they are needed for the main console.
-
@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/ -
@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.
After reboot:
I can now added this to a VM:
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.
-
@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 hosThat's an interesting find. Thanks for sharing
-
This post is deleted! -
-
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
-
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 aVGA compatible controller
For now, I will try using xcp-ng center and see if that works for me
-
@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? -
@khumps Turns out that was an issue with missing firmware. XCP-ng center fixed everything
-
Hi,
Can you give more details?
-
Ya,
for the working machine I just had to runopt/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