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

    PCIe Passthrough of Radeon iGPU fails

    Scheduled Pinned Locked Moved Hardware
    11 Posts 4 Posters 1.1k 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.
    • poddingueP Online
      poddingue Vates 🪐 @mgr42
      last edited by

      I'm not deep into GPU passthrough myself, but played a lot with it lately. especially iGPU!
      From what I've read (and experienced) iGPU passthrough is one of the harder cases.
      An integrated GPU keeps its option ROM in the motherboard firmware rather than on the card, which is roughly what that GitHub issue you linked describes. XCP-ng documents the general PCI and GPU passthrough path at https://docs.xcp-ng.org/compute#-gpu-passthrough, though I don't think it promises that integrated GPUs specifically will work.
      On the choppy emulated graphics, the default virtual display isn't accelerated as far as I know, so that's expected rather than a regression.
      This is really a hardware and compute-layer question, so it might be worth a mention to @Team-Hypervisor-Kernel to see whether anyone has managed to pass a Ryzen iGPU through at all.

      M 1 Reply Last reply Reply Quote 0
      • M Offline
        mgr42 @poddingue
        last edited by

        @poddingue Yeah, that does make sense. I understand that this wouldn't necessarily be an intended usecase. I'll probably just get a cheap consumer GPU. And apologies for if this question is painfully obvious, but how would I mention @Team-Hypervisor-Kernel?
        But if I can hypothesize, firmware is usually accessible via sysfs, there's an Archlinux guide here: https://wiki.archlinux.org/title/Unified_Extensible_Firmware_Interface/Secure_Boot#Determine_OpROM_signature for determining OpROM signatures, which includes getting it as a file, so maybe that could be loaded in someway, but I know not of the feasibility of that.

        poddingueP 1 Reply Last reply Reply Quote 1
        • poddingueP Online
          poddingue Vates 🪐 @mgr42
          last edited by

          You just did mention the team. 😉
          The mention itself is easy: just type @ and start typing Team-Hypervisor-Kernel, and the forum should autocomplete it into a real group mention.

          On the OpROM idea, you might be onto something. That Arch guide does extract the option ROM to a file, and I know some passthrough setups feed a ROM file to the device, but I honestly don't know whether XCP-ng or Xen exposes a way to supply one for an iGPU. That's the kind of thing the hypervisor team would know, so it's worth asking them (and they've already been pinged twice or more times, so...). Getting a cheap discrete GPU is probably the path of least resistance though, for what it's worth.

          1 Reply Last reply Reply Quote 0
          • Y Offline
            yannsionneau Vates 🪐 XCP-ng Team
            last edited by

            Hello @mgr42
            I can confirm that indeed today AMD iGPU passthrough is not working on XCP-ng.
            I am currently (slowly) working on it.

            There are other references about this topic in the Forum and on GitHub FYI:

            • https://xcp-ng.org/forum/topic/11918/amd-barcelo-passthrough-issues-any-success-stories
            • https://xcp-ng.org/forum/topic/8909/issue-to-load-gpu-passthrough-invalid-pci-rom-header-signature-expecting-0xaa55-got-0x4556
            • https://github.com/xcp-ng/xcp/issues/806
            • https://github.com/xapi-project/xen-api/commit/930ffb34e42d674b8234c3d8399fdba97efa6b38

            On the setup I am working on, the Expansion ROM is provided indeed by firmware via the VFCT ACPI table.
            I dumped it to a file and provided it to qemu-dm xen-pci-passthrough device via the romfile= argument (via a modified XAPI build).

            I can now indeed see a ROM bar in the guest but unfortunately its content is not the content of the file therefore nothing works (amdgpu driver is unable to get its ROM and fails).

            So now I'm debugging qemu to try to understand the issue with the emulated/passed-through ROM BAR.

            Regards,

            Yann
            Kernel & Hypervisor team

            S 1 Reply Last reply Reply Quote 1
            • S Offline
              steff22 @yannsionneau
              last edited by steff22

              @yannsionneau I also can't get Radeon iGPU to work either with xcp-ng 8.3

              with hardware
              hvovedkort B650D4U3-2L2Q/BCM,)
              cpu AMD Ryzen 9 9950X

              tried on ubuntu 25.04 and windows 10

              get this error message

              lspci -nnk
              dmesg | grep amdgpu
              
              amdgpu: Invalid PCI ROM header signature: expecting 0xaa55, got 0x4556
              amdgpu: Unable to locate a BIOS ROM
              amdgpu: Fatal error during GPU init
              Unable to locate a BIOS ROM
              
              poddingueP 1 Reply Last reply Reply Quote 1
              • poddingueP Online
                poddingue Vates 🪐 @steff22
                last edited by

                steff22, the answer you want is one post above yours. 😉
                Yann confirmed at post #4 that AMD iGPU passthrough doesn't work on XCP-ng today and that he's working on it, so your Invalid PCI ROM header signature looks like the known symptom rather than something specific to your board.
                He also linked https://xcp-ng.org/forum/topic/8909 , same error string, if you want the longer history. I don't know enough about the ROM BAR side to add anything useful to what he wrote, and I'd rather not guess in front of him. 😊
                Worth following this thread, he said he'd keep at it.

                S 1 Reply Last reply Reply Quote 0
                • S Offline
                  steff22 @poddingue
                  last edited by

                  @poddingue yeah I saw it now 🙂 but I was more like mentioning that many people also have the same problem.

                  Hope it gets resolved soon 🙂

                  Y 1 Reply Last reply Reply Quote 1
                  • Y Offline
                    yannsionneau Vates 🪐 XCP-ng Team @steff22
                    last edited by

                    @steff22
                    I am making good progress on this and I will soon have some packages to share for people to try and give feedback 🙂

                    poddingueP S 2 Replies Last reply Reply Quote 2
                    • poddingueP Online
                      poddingue Vates 🪐 @yannsionneau
                      last edited by

                      @yannsionneau That's excellent news, thanks a bunch! 🎉

                      1 Reply Last reply Reply Quote 0
                      • S Offline
                        steff22 @yannsionneau
                        last edited by

                        @yannsionneau That's great news 🙂 thank you very much🙂

                        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