Just to update on this and close the topic. Iāve talked to Nvidia and was informed that vGPU approach is required whether itās a pass-through mode or splitting GPU to multiple users. vGPU requires a valid license and installation of video driver on the host and on the guest. To my best knowledge there is no way to directly pass through a professional GPU without using vGPU.
Before Iāve figured out the solution with vGPU Iāve tried all kinds of Proxmox tricks like setting kernel boot parameters, changing GPU PCIe physical slot, etc. GPU was visible in the guest OS but the driver would not work with it. On the same guest VM I can pass RTX 3090 without issues.
RTX 6000 Ada works fine with the same linux driver on bare metal.
Kudos,
Alex
Someone got theirs to work to their liking though.
NVRM: GPU 0000:01:00.0: RmInitAdapter failed! (0x11:0x45:2525]
NVRM: GPU 0000:01:00.0: rm_init_adapter failed, device minor number 0
while trying to pass a whole NVIDIA RTX 6000 Ada to an Ubuntu 20.04 VM under Proxmox.
But my simple solution was to set the so called display mode to ācomputeā with the displaymodeselector tool.
Then this GPU apparently also works without problems in the VM.
Iām writing this because the solution here sends me to the wrong track, apart from the fact that the vGPU User Guide gave me the crucial hint about the tool.
I donāt need a license and installation of vGPU video driver on the host and on the guest to passthrough the whole GPU.
Why this was never necessary for e.g. RTXA5000, is something I donāt understand.
Yes, well not my primary display, but a monitor is attached to it.
When you start the VM do you see the tiano core efi boot logo/screen on the monitor attached to the gpu?
Yes, even see the spinning windows loading sprite for a few seconds before it stops and the monitor turns off. I can login to the host through remote desktop just fine after a few seconds.
IOMMU, SR-IOV, amd PCIEAER are set (not auto) in the bios
ahhh I gotchufam, jeez I cant believe this bug is back.
so, what you gotta do and this is so stupid I am so sorry, is this
Changing the validation schema is the next step, this will allow us more detailed configuration steps. virsh uses your default editor and will check syntax once you exit it.
Backing up your XML should be the first step:
sudo virsh edit win10
Replace <domain type='kvm'> with:
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
Tried updating the domain schema and adding the commandline block like suggested and still getting the nvidia 43 error. Just for grins I rolled back to the microsoft display driver and looks like that is still working just fine.
need both functions. they might both b there, im bored on my phone but it looks like maybe you just have the video but not audio function. that can also cause code 43.
Disabled SR-IOV and tried without a rom file and with two different rom files, the specific one for the pny card I have and the nvidia one you suggested.
Disabling SR-IOV had no change in behavior, bios shows up on screen, spinning sprite, monitor turns off, code 43
With SR-IOV on or off with romfile the display clears but bios never shows up on display.
I didnāt really have a strong opinion of nvidia before but this experience is making me want to toss the 4000 SFF and 6000 Ada at the wall, then smash them with a hammer and go buy some AMD cards.
whats the distro and platform youāre on? I can try this tomorrow probably, its probably something really silly or minor change in some distro. The actual pro cards like you have usually dont penalize virtualization, so it is likely something more subtle, like maybe needing to pass through the parent device, or virtual functions.
Ubuntu 24.04 on a fairly fresh install. Up to date with dist-upgrade, standard 6.8 kernel running on the Asus wrx90 board with an amd thread ripper pro.
Iāve given up for the night but Iāll try the suggestions in the morning. Oh I have resizable bar disabled at the moment fwiw.
@wendell, I was wondering if @eousphorosās problem with his Nvidia card could be related to the fact that Ubuntu 24.04 uses Wayland instead of Xorg as the default display server protocol.
[ 0.992872] pci 0000:e1:00.0: BAR 1 [mem 0x10000000000-0x107ffffffff 64bit pref]
[ 0.992880] pci 0000:e1:00.0: BAR 3 [mem 0x10800000000-0x10801ffffff 64bit pref]
[ 0.992886] pci 0000:e1:00.0: BAR 5 [io 0xf000-0xf07f]
[ 0.993085] pci 0000:e1:00.1: BAR 0 [mem 0xba080000-0xba083fff]
[ 0.993591] pci 0000:e3:00.0: BAR 0 [mem 0xb4000000-0xb7ffffff]
[ 0.993599] pci 0000:e3:00.0: BAR 1 [mem 0xb8000000-0xb803ffff]
[ 0.993607] pci 0000:e3:00.0: BAR 2 [io 0xe000-0xe07f]
[ 0.993995] pci 0000:e4:00.4: BAR 0 [mem 0xba200000-0xba2fffff 64bit]
[ 0.999939] pci 0000:01:00.0: BAR 0 [mem 0xf1000000-0xf1ffffff]
[ 0.999947] pci 0000:01:00.0: BAR 1 [mem 0x11000000000-0x11fffffffff 64bit pref]
[ 0.999955] pci 0000:01:00.0: BAR 3 [mem 0x12000000000-0x12001ffffff 64bit pref]
[ 0.999960] pci 0000:01:00.0: BAR 5 [io 0x1000-0x107f]
[ 1.000157] pci 0000:01:00.1: BAR 0 [mem 0xf2080000-0xf2083fff]
[ 1.000366] pci 0000:02:00.0: BAR 0 [mem 0x12004000000-0x12004ffffff 64bit pref]
[ 1.000382] pci 0000:02:00.0: BAR 3 [mem 0x12005808000-0x1200580ffff 64bit pref]
[ 1.000492] pci 0000:02:00.0: VF BAR 0 [mem 0x12005400000-0x1200540ffff 64bit pref]
[ 1.000494] pci 0000:02:00.0: VF BAR 0 [mem 0x12005400000-0x120057fffff 64bit pref]: contains BAR 0 for 64 VFs
[ 1.000508] pci 0000:02:00.0: VF BAR 3 [mem 0x12005910000-0x12005913fff 64bit pref]
[ 1.000510] pci 0000:02:00.0: VF BAR 3 [mem 0x12005910000-0x12005a0ffff 64bit pref]: contains BAR 3 for 64 VFs
[ 1.000818] pci 0000:02:00.1: BAR 0 [mem 0x12003000000-0x12003ffffff 64bit pref]
[ 1.000834] pci 0000:02:00.1: BAR 3 [mem 0x12005800000-0x12005807fff 64bit pref]
[ 1.000935] pci 0000:02:00.1: VF BAR 0 [mem 0x12005000000-0x1200500ffff 64bit pref]
[ 1.000937] pci 0000:02:00.1: VF BAR 0 [mem 0x12005000000-0x120053fffff 64bit pref]: contains BAR 0 for 64 VFs
[ 1.000951] pci 0000:02:00.1: VF BAR 3 [mem 0x12005810000-0x12005813fff 64bit pref]
[ 1.000953] pci 0000:02:00.1: VF BAR 3 [mem 0x12005810000-0x1200590ffff 64bit pref]: contains BAR 3 for 64 VFs
[ 1.001449] pci 0000:04:00.4: BAR 0 [mem 0xf2300000-0xf23fffff 64bit]
[ 1.001573] pci 0000:04:00.5: BAR 2 [mem 0xf2200000-0xf22fffff]
[ 1.001581] pci 0000:04:00.5: BAR 5 [mem 0xf2400000-0xf2401fff]
[ 1.009173] pci 0000:87:00.0: BAR 0 [mem 0xb0000000-0xb0007fff 64bit]
[ 1.009427] pci 0000:88:00.0: BAR 0 [mem 0xb0400000-0xb043ffff 64bit]
[ 1.009434] pci 0000:88:00.0: BAR 2 [mem 0xb0440000-0xb044ffff 64bit]
[ 1.009722] pci 0000:89:00.0: BAR 0 [mem 0xb0c00000-0xb0c03fff 64bit]
[ 1.010417] pci 0000:8a:00.0: BAR 0 [mem 0xb0b00000-0xb0b03fff 64bit]
[ 1.013969] pci 0000:8d:00.0: BAR 0 [mem 0xb0a00000-0xb0a07fff 64bit]
[ 1.014730] pci 0000:8e:00.0: BAR 5 [mem 0xb0980000-0xb09803ff]
Tried the kvm settings and alternative qemu command line options. While it did seem like the spinning sprite stayed on the screen for a bit longer ultimately the result was the same.
Im building a similar system rn, pic above, to test . Interestingly the a0 post hang for me on the asus occurs when both nvidia gpus have a diaplay connected. Haveto unplug one to boot.
Asuuusssss!
Do you see the bios screen on your pass through card? Ideally the first card in the system is for linux, and second is for passtrhough.
I didnt disable usb4 or vga yet but thats the first thing ill do when i encounter problems
Iāve tried leaving the pass through card unplugged while I boot and leaving it plugged in on boot. Neither seemed to elicit any change, but when I do post and the pass through card is plugged in, the bios goes to the pass through card till the desktop loads.
Any idea on how to do that practically? I havenāt tried changing the PCIe slot the cards are in. Current the SFF card is in the top slot and the 6000 is in the 3rd slot from the top.
The idea is with the video decoders/encoders on the SFF card and a decent amount of vram it would make a great host GPU, then I could toss the 6000 between windows or linux vmās for gaming or work .