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

    Intel iGPU passthough

    Scheduled Pinned Locked Moved Hardware
    44 Posts 12 Posters 19.7k 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.
    • 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.

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

                              @ovicz Yes, it's loaded

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

                              dmesg starts the same as your output, the only difference is that I have GuC disabled.

                              dmesg | grep i915
                              [    1.609000] i915 0000:00:08.0: [drm] Found alderlake_s (device ID 4690) integrated display version 12.00 stepping C0
                              [    1.609986] i915 0000:00:08.0: [drm] VT-d active for gfx access
                              [    1.610073] i915 0000:00:08.0: [drm] Using Transparent Hugepages
                              [    1.611342] i915 0000:00:08.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0x4556
                              [    1.611345] i915 0000:00:08.0: [drm] Failed to find VBIOS tables (VBT)
                              [    1.612136] i915 0000:00:08.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=none:owns=io+mem
                              [    1.614455] i915 0000:00:08.0: [drm] Finished loading DMC firmware i915/adls_dmc_ver2_01.bin (v2.1)
                              [    3.583673] i915 0000:00:08.0: [drm] [ENCODER:261:DDI A/PHY A] failed to retrieve link info, disabling eDP
                              [    3.605422] i915 0000:00:08.0: [drm] GT0: GuC firmware i915/tgl_guc_70.bin version 70.49.4
                              [    3.605426] i915 0000:00:08.0: [drm] GT0: HuC firmware i915/tgl_huc.bin version 7.9.3
                              [    3.615402] i915 0000:00:08.0: [drm] GT0: HuC: authenticated for all workloads
                              [    3.615410] i915 0000:00:08.0: [drm] GT0: GUC: submission disabled
                              [    3.615414] i915 0000:00:08.0: [drm] GT0: GUC: SLPC disabled
                              [    3.616508] i915 0000:00:08.0: [drm] Protected Xe Path (PXP) protected content support initialized
                              [    3.617330] i915 0000:00:08.0: [drm] Registered 4 planes with drm panic
                              [    3.617354] [drm] Initialized i915 1.6.0 for 0000:00:08.0 on minor 1
                              [    3.627390] i915 0000:00:08.0: [drm] Cannot find any crtc or sizes
                              [    3.637349] i915 0000:00:08.0: [drm] Cannot find any crtc or sizes
                              [    3.657358] i915 0000:00:08.0: [drm] Cannot find any crtc or sizes
                              

                              Having edited /etc/modprobe.d/i915.conf by adding options i915 enable_guc=3 enable_huc=1 fixed the GuC part as well, however I still have the same issue. Cannot find any crtc or sizes is the only part which is not in your output.

                              /etc/default/grub is clean, I don't have NOMODESET:

                              cat /etc/default/grub
                              GRUB_TIMEOUT=5
                              GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
                              GRUB_DEFAULT=saved
                              GRUB_DISABLE_SUBMENU=true
                              GRUB_TERMINAL_OUTPUT="console"
                              GRUB_CMDLINE_LINUX="rd.lvm.lv=fedora/root rhgb quiet"
                              GRUB_DISABLE_RECOVERY="true"
                              
                              1 Reply Last reply Reply Quote 0

                              Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                              Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                              With your input, this post could be even better 💗

                              Register Login
                              • First post
                                Last post