Set passthrough GPU as a primary graphics card for a VM
-
@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
-
@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 -
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
-
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.
-
Good to see some successes here, no luck for me with Intel N100 iGPU though
Both Linux and Windows. -
@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
-
Yeah i didnt do anything with disabling the vgpu. Just a standard Win 11 or ubuntu VM and attached the nivdia gpu.
-
IIRC, Intel iGPU is very different than a discrete GPU from a system perspective, that might explain your problem.
-
@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?
-
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
-
Because it's the default you cannot bypass. @Team-XAPI-Network could confirm
-
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?