[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.
- GPU Passthrough issue,
Brian McKee <=