qemu-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GPU Passthrough issue


From: Brian McKee
Subject: GPU Passthrough issue
Date: Sun, 17 Jul 2022 09:49:10 -0700

I've been using Virtmanager, KVM/QEMU for my work laptop for years. I
ditched VirtualBox because I was tired of my VM being broken once or
twice a year with an update.

QEMU has been awesome!  I run Spice QXL on it and it's a little
slower, but it does well enough for Orcad for me to be productive.

I found out about GPU passthrough a couple years ago. I decided to try
it on my new laptop, which I just got on Monday.

Following Arch and Gentoo's guides (I run Gentoo) I have it working,
except for one thing: Windows does not recognize the GPU as an NVIDIA
RTX 3060M. The PCI IDs are correct, but for some reason Windows
doesn't get it.

I read in Arch's guide that old versions of Nvidia's installer did not
recognize the PCIe device, but I didn't think that applied now. Plus,
I suspect if it were working properly that Windows would detect it as
an RTX3060M.

I have both the VGA and audio device routed with vfio: (they are on an
unique IOMMU group: 14)

lenny ~ # lspci -nnk -d 10de:2560
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA106M
[GeForce RTX 3060 Mobile / Max-Q] [10de
:2560] (rev a1)
       Subsystem: Lenovo GA106M [GeForce RTX 3060 Mobile / Max-Q] [17aa:3b07]
       Kernel driver in use: vfio-pci
lenny ~ # lspci -nnk -d 10de:228e
01:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:228e] (rev a1)
       Kernel driver in use: vfio-pci
       Kernel modules: snd_hda_intel

I have added them both in virt-manager:

<hostdev mode="subsystem" type="pci" managed="yes">
  <source>
    <address domain="0x0000" bus="0x01" slot="0x00" function="0x0"/>
  </source>
  <address type="pci" domain="0x0000" bus="0x04" slot="0x00" function="0x0"/>
</hostdev>
<hostdev mode="subsystem" type="pci" managed="yes">
  <source>
    <address domain="0x0000" bus="0x01" slot="0x00" function="0x1"/>
  </source>
  <rom bar="off"/>
  <address type="pci" domain="0x0000" bus="0x05" slot="0x00" function="0x0"/>
</hostdev>

After I got them passed properly and enabled EFI in the virtual BIOS,
the card initialized with the BIOS message. Then I deleted the virtual
screen and when Windows ran it displayed on the RTX3060M output!

But, the Windows Driver chosen for the hardware is: "Microsoft Basic
Display Adapter" and it's stuck in 800X600 resolution.

The NVIDIA driver says the hardware is not compatible with the driver.
It cannot find a compatible GPU.

I'm a little stuck, I was hoping you guys could help me out. I'd
really love to game on my gentoo box in KVM / QEMU.

Thanks in advance.

Brian

-- 
-- Consciousness moves everything.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]