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

    Set passthrough GPU as a primary graphics card for a VM

    Scheduled Pinned Locked Moved Compute
    18 Posts 6 Posters 3.5k Views 6 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.
    • K Offline
      kubuntu-newbie @miltador
      last edited by

      @miltador have you ever been able to figure this out? I'm having the same problem with plasmashell trying to use virtual gpu instead of nvidia

      M 1 Reply Last reply Reply Quote 0
      • M Offline
        miltador @kubuntu-newbie
        last edited by

        @kubuntu-newbie nah, I gave up on this. I think it's generally not suited for such use cases.
        PCI passthrough works well in XCP-ng, GPU passthrough - nope unless you have special hardware 😕

        K 1 Reply Last reply Reply Quote 0
        • K Offline
          kubuntu-newbie @miltador
          last edited by

          @miltador

          I was able to get it working with kubuntu from 22.04 through 25.10, running X11 plasma session just by passing through PCI and running "nvidia-xconfig --enable-all-gpus --separate-x-screens to create xorg.conf" in the VM.

          It used to work with Wayland as well on XCP-ng 8.2 and kubuntu 22.04 without any modifications to the VM (just had to create xorg.conf so SDDM would use correct display)

          now Wayland tries to use 1234:1111 (that's how virtual GPU is showing up in the VM when vga=on ) or "Cirrus" 1013:00b8 (when vga is disabled), I'm still trying to figure out how to tell Wayland to use nvidia

          I'm using Nvidia A4000, no iGPU

          1 Reply Last reply Reply Quote 0
          • A Offline
            acebmxer
            last edited by

            I was able to get nvidia rtx 4070 passed through to a windows VM and Ubuntu server. Need to make sure you passing all the devices associated with the GPU, specifically the Audio controller on the GPU.

            These were on AMD systems.

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

              Good to see some successes here, no luck for me with Intel N100 iGPU though 😕
              Both Linux and Windows.

              1 Reply Last reply Reply Quote 0
              • K Offline
                kubuntu-newbie @acebmxer
                last edited by

                @acebmxer in my case it appears to be a Wayland issue, using the wrong card. I was hoping that I could disable virtual gpu all together

                curious though that disabling virtual GPU just changes the device id in the vm from 1234:1111 to "cirrus" - that seems to be a bug in XCP-ng

                A 1 Reply Last reply Reply Quote 0
                • A Offline
                  acebmxer @kubuntu-newbie
                  last edited by

                  @kubuntu-newbie

                  Yeah i didnt do anything with disabling the vgpu. Just a standard Win 11 or ubuntu VM and attached the nivdia gpu.

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

                    IIRC, Intel iGPU is very different than a discrete GPU from a system perspective, that might explain your problem.

                    K 2 Replies Last reply Reply Quote 0
                    • K Offline
                      kubuntu-newbie @olivierlambert
                      last edited by

                      @olivierlambert
                      it is still not clear to me how changing vga: std to vga: cirrus in platform parameter of a vm constitute turning off vga (this is what happens when you turn off vga in Xen Orchestra)

                      manually setting vga to off in platform produces the same result as vga: cirrus, VM still sees "VGA compatible controller [0300]: Cirrus Logic GD 5446 [1013:00b8]"

                      is there a way to completely turn off creating this virtual VGA in the VM?

                      1 Reply Last reply Reply Quote 0
                      • K Offline
                        kubuntu-newbie @olivierlambert
                        last edited by

                        @olivierlambert

                        and removing key vga from platform all together has the same result as switching to cirrus, there is still a virtual vga Cirrus Logic in the VM

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

                          Because it's the default you cannot bypass. @Team-XAPI-Network could confirm

                          K 1 Reply Last reply Reply Quote 0
                          • K Offline
                            kubuntu-newbie @olivierlambert
                            last edited by

                            @olivierlambert

                            thank you! I did a little digging, but I could be looking at the wrong place, according to:

                            https://github.com/xcp-ng/qemu-dp/blob/master/qemu-options.hx

                            there is an option vga: none

                            DEF("vga", HAS_ARG, QEMU_OPTION_vga,
                            "-vga [std|cirrus|vmware|qxl|xenfb|tcx|cg3|virtio|none]\n"
                            " select video card type\n", QEMU_ARCH_ALL)
                            SRST
                            -vga type
                            ...
                            none
                            Disable VGA card.

                            I tried setting this manually via "xe vm-param-set platform:vga=none " and I still get Cirrus PCI device created in the VM

                            Is there something else that needs to be done to have no virtual VGA in the VM at all?

                            psafontP 1 Reply Last reply Reply Quote 0
                            • psafontP Offline
                              psafont Vates 🪐 XAPI & Network Team @kubuntu-newbie
                              last edited by psafont

                              @kubuntu-newbie I've looked at the code. The intel passthrough seems to not care about the value of the vga key in platform, and instead it expects the key igd_passthrough to be set to true.

                              https://github.com/xapi-project/xen-api/blob/9eb5f9f9f3c742c0c0b691098e1dafc02e40c856/ocaml/xapi/xapi_xenops.ml#L390

                              1 Reply Last reply Reply Quote 1

                              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