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

    Intel iGPU passthough

    Scheduled Pinned Locked Moved Hardware
    43 Posts 12 Posters 17.3k Views 13 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.
    • bullerwinsB Offline
      bullerwins @xerxist
      last edited by

      @xerxist have you tried with the 8.3 beta of XCP-ng? I believe it's got a newer kernel maybe?

      X 1 Reply Last reply Reply Quote 0
      • X Offline
        xerxist @bullerwins
        last edited by

        @bullerwins

        Yes I'm running 8.3 Beta

        1 Reply Last reply Reply Quote 0
        • H Offline
          hawkpro
          last edited by

          @bullerwins @xerxist

          Is this just the mediated (gvt-g?) device passthrough, so the XCP side/server maintains video but a VM can make use of the resources as well?

          I am very interested in this (plex, frigate type use) as a stepping stone away from Proxmox.

          Thanks

          F 1 Reply Last reply Reply Quote 0
          • F Offline
            flakpyro @hawkpro
            last edited by

            In my testing of this, iGPU passthru works fine in Linux but in Windows the device will show an error in the device manager, disable/enabling the drive in the device manager will allow it to work, until next reboot.

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

              @bullerwins @xerxist @flakpyro

              What are you using for display output on the host since you're passing the iGPU to the VM?

              F X 2 Replies Last reply Reply Quote 0
              • F Offline
                flakpyro @CJ
                last edited by

                @CJ Im running server grade hardware that has remote lights out management with iKVM support. Otherwise yeah you would lose access to the display output.

                1 Reply Last reply Reply Quote 0
                • X Offline
                  xerxist @CJ
                  last edited by

                  @CJ

                  No output just need the Intel quick sync.

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

                    @xerxist Yes, QS for the VM but there are times when having a local display of the console comes in handy. That's why I haven't done mine.

                    1 Reply Last reply Reply Quote 0
                    • MefosheezM Offline
                      Mefosheez @bullerwins
                      last edited by

                      This post is deleted!
                      1 Reply Last reply Reply Quote 0
                      • MefosheezM Offline
                        Mefosheez @bullerwins
                        last edited by

                        @bullerwins said in Intel iGPU passthough:

                        @olivierlambert I tried but getting this error when turning on the VM

                        INTERNAL_ERROR(xenopsd internal error: (Failure
                        "Error from xenguesthelper: Populate on Demand and PCI Passthrough are mutually exclusive"))

                        Not sure what it means

                        EDIT: after googleing it seems that static and dynamic memory has to be the same:
                        9aa61d84-dd71-4f32-9590-8cff8c365a1a-image.png

                        @bullerwins thanks for this. I had to restore a VM from a backup and while it was down changed the dynamic value. This certainly saved me some time. I was positive it had to do with remapping the UID on the VM or something on the host side of it. anyways, thanks.

                        1 Reply Last reply Reply Quote 0
                        • gskgerG gskger referenced this topic on
                        • S Offline
                          scawtydont
                          last edited by

                          I followed this post and it worked for me.
                          One thing to note in my testing, if I had a monitor / HDMI dummy plug hooked up the transcoding worked reliably.
                          When I unplugged it I found activity would be present on the iGPU but the video in plex would play/pause constantly then eventually stop.

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

                            @scawtydont Thanks for keeping us posted. Dummy plug is still a thing it seems 😄

                            1 Reply Last reply Reply Quote 0
                            • V Offline
                              vhaelan
                              last edited by vhaelan

                              I'm also trying to pass through my Intel iGPU to a VM, but running into issues. It does work on Debian, however not on Fedora Server which I'd like to use. I have tried changing to BIOS mode, even plugged in a dummy HDMI plug, but nothing helped. SELinux is disabled on Fedora to rule out any issues related to that. I even tried using XCP-NG Center which was suggested in an older post, but that didn't help either: https://xcp-ng.org/forum/topic/6211/intel-gpu-passthrough-question/3

                              I also posted this on the Fedora forum with further details: https://discussion.fedoraproject.org/t/intel-igpu-in-containers/176029

                              Are there any other things I could try to investigate this further?

                              O 1 Reply Last reply Reply Quote 0
                              • O Offline
                                ovicz @vhaelan
                                last edited by

                                @vhaelan Hello. What's the output of rpm -qa | grep intel-gpu-firmware ?

                                V 1 Reply Last reply Reply Quote 0
                                • V Offline
                                  vhaelan @ovicz
                                  last edited by

                                  @ovicz said in Intel iGPU passthough:

                                  rpm -qa | grep intel-gpu-firmware

                                  Hello @ovicz, I see the following: intel-gpu-firmware-20251021-1.fc43.noarch

                                  O 1 Reply Last reply Reply Quote 0
                                  • O Offline
                                    ovicz @vhaelan
                                    last edited by ovicz

                                    @vhaelan Is the intel graphics module loaded ?

                                    lsmod | grep i915
                                    i915 5373952 24
                                    drm_buddy 32768 2 xe,i915
                                    ttm 135168 3 drm_ttm_helper,xe,i915
                                    i2c_algo_bit 20480 2 xe,i915
                                    drm_display_helper 331776 2 xe,i915
                                    cec 106496 3 drm_display_helper,xe,i915
                                    video 81920 2 xe,i91

                                    sudo dmesg | grep i915
                                    [ 5.855595] i915 0000:00:08.0: [drm] Found alderlake_p/alderlake_n (device ID 46d1) integrated display version 13.00 stepping D0
                                    [ 5.858477] i915 0000:00:08.0: [drm] VT-d active for gfx access
                                    [ 5.858739] i915 0000:00:08.0: [drm] Using Transparent Hugepages
                                    [ 5.859307] i915 0000:00:08.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0x4556
                                    [ 5.859312] i915 0000:00:08.0: [drm] Failed to find VBIOS tables (VBT)
                                    [ 5.860012] i915 0000:00:08.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=none:owns=io+mem
                                    [ 5.878556] i915 0000:00:08.0: [drm] Finished loading DMC firmware i915/adlp_dmc.bin (v2.20)
                                    [ 7.806109] i915 0000:00:08.0: [drm] [ENCODER:204:DDI A/PHY A] failed to retrieve link info, disabling eDP
                                    [ 7.843768] i915 0000:00:08.0: [drm] GT0: GuC firmware i915/tgl_guc_70.bin version 70.49.4
                                    [ 7.843776] i915 0000:00:08.0: [drm] GT0: HuC firmware i915/tgl_huc.bin version 7.9.3
                                    [ 7.849282] i915 0000:00:08.0: [drm] GT0: HuC: authenticated for all workloads
                                    [ 7.850868] i915 0000:00:08.0: [drm] GT0: GUC: submission enabled
                                    [ 7.850874] i915 0000:00:08.0: [drm] GT0: GUC: SLPC enabled
                                    [ 7.851225] i915 0000:00:08.0: [drm] GT0: GUC: RC enabled
                                    [ 7.852797] i915 0000:00:08.0: [drm] Protected Xe Path (PXP) protected content support initialized
                                    [ 7.854314] i915 0000:00:08.0: [drm] Registered 3 planes with drm panic
                                    [ 7.854318] [drm] Initialized i915 1.6.0 for 0000:00:08.0 on minor 1

                                    Also see in /etc/default/grub if there is NOMODESET in GRUB_CMDLINE_LINUX line.

                                    That's from my Fedora 43 vm with passthrough enabled.

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