SOLVED GPU Passthrough: -vga none kills it

Questions about other topics and general discussion about LMDE
Forum rules
Before you post read how to get help. Topics in this forum are automatically closed 6 months after creation.
Locked
flynx
Level 1
Level 1
Posts: 12
Joined: Wed Aug 26, 2015 5:47 pm

SOLVED GPU Passthrough: -vga none kills it

Post by flynx »

TL;DR: omit "-vga none" from qemu and the guest runs with impossible latency. include "-vga none" and the GPU doesn't work.

I'm trying to setup a windows 10 guest on an LMDE host with VPU passthrough using qemu.
The machine is a threadripper 2950x, host running on an RTX2080 and guest passthrough is a quadro RTX5000.

What have I done wrong?

virtualization enabled in the bios...
I've got a monitor connected to the guest GPU
boot parameters... check
iommu groups... check
guest GPU is bound to the vfio driver
installed the vfio and qemu drivers in the guest...

When I boot the guest machine, I get the windows desktop on the monitor connected to the pass-through GPU
Windows device manager detects the nvidia card, and windows update automatically downloads Nvidia drivers.
But its SOOOO slow... sometimes the cursor lags so far behind the mouse it's unusable.
That's without including -vga none, so I still also have the virtual graphics adapter in device manager.

But if I add -vga none to my qemu options, I never get any video output from the guest GPU.

lspci -k for the guest GPU:

Code: Select all

12:00.0 VGA compatible controller: NVIDIA Corporation TU104GL [Quadro RTX 5000] (rev a1)
	Subsystem: NVIDIA Corporation TU104GL [Quadro RTX 5000]
	Kernel driver in use: vfio-pci
	Kernel modules: nvidia
12:00.1 Audio device: NVIDIA Corporation Device 10f8 (rev a1)
	Subsystem: NVIDIA Corporation Device 129f
	Kernel driver in use: vfio-pci
	Kernel modules: snd_hda_intel
12:00.2 USB controller: NVIDIA Corporation Device 1ad8 (rev a1)
	Subsystem: NVIDIA Corporation Device 129f
	Kernel driver in use: vfio-pci
	Kernel modules: xhci_pci
12:00.3 Serial bus controller [0c80]: NVIDIA Corporation Device 1ad9 (rev a1)
	Subsystem: NVIDIA Corporation Device 129f
	Kernel driver in use: vfio-pci
boot parameters:

Code: Select all

BOOT_IMAGE=/vmlinuz-4.19.0-14-amd64 root=UUID=8e7c3f4b-bfc3-4eca-9dbe-258f6e33e719 ro amd_iommu=on acpi=force quiet splash
dmesg | grep AMD-Vi

Code: Select all

[    0.893817] AMD-Vi: IOMMU performance counters supported
[    0.893876] AMD-Vi: IOMMU performance counters supported
[    0.929109] AMD-Vi: Found IOMMU at 0000:00:00.2 cap 0x40
[    0.929110] AMD-Vi: Extended features (0xf77ef22294ada):
[    0.929112] AMD-Vi: Found IOMMU at 0000:40:00.2 cap 0x40
[    0.929113] AMD-Vi: Extended features (0xf77ef22294ada):
[    0.929114] AMD-Vi: Interrupt remapping enabled
[    0.929114] AMD-Vi: virtual APIC enabled
[    0.929275] AMD-Vi: Lazy IO/TLB flushing enabled

qemu command line:

Code: Select all

qemu-system-x86_64 \
	-cpu host,kvm=off \
	-enable-kvm \
	-smp 8,sockets=8,cores=1,threads=1 \
	-m 32G \
	-mem-prealloc \
	-rtc base=localtime,clock=host \
	-display none \
	-usb \
	-device qemu-xhci \
	-device vfio-pci,host=12:00.0 \
	-device vfio-pci,host=12:00.1 \
	-device vfio-pci,host=12:00.2 \
	-device vfio-pci,host=12:00.3 \
	-device usb-host,vendorid=0x03f0,productid=0x134a \
	-device usb-host,vendorid=0x04f3,productid=0x0103  \
	-device usb-host,vendorid=0x0e6f,productid=0x02a4  \
	-device usb-host,vendorid=0x0bb4,productid=0x0306 \
	-device usb-host,vendorid=0x0424,productid=0x274d \
	-device usb-host,vendorid=0x28de,productid=0x2101 \
	-device usb-host,vendorid=0x28de,productid=0x2101 \
	-device usb-host,vendorid=0x0bb4,productid=0x2c87 \
	-device usb-host,vendorid=0x28de,productid=0x2000 \
	-device usb-host,vendorid=0x0bb4,productid=0x2134 \
	-device usb-host,vendorid=0x0bb4,productid=0x2744 \
	-device usb-host,vendorid=0x0d8c,productid=0x0012 \
	-device usb-host,vendorid=0x045e,productid=0x02b0 \
	-device usb-host,vendorid=0x0409,productid=0x005a \
	-cdrom ./virtio-win-0.1.208.iso \
	-drive file=/dev/md127,format=raw
Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 2 times in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
flynx
Level 1
Level 1
Posts: 12
Joined: Wed Aug 26, 2015 5:47 pm

SOLVED GPU Passthrough: -vga none kills it

Post by flynx »

I was using seabios and should have been using TianoCore
Locked

Return to “Other Topics & Open Discussion”