Я использовал Ubuntu 20.04 в качестве хоста и создал виртуальную машину Windows 10 (21H1) в KVM (через графический интерфейс). В ВМ я пропускаю свою видеокарту (RTX2070) и всю группу через PCI passthrough, который работает благодаря разным гайдам.
После того, как я установил обновления/драйверы на виртуальную машину, грака также распознается.Я также могу устанавливать программы или перезапускать виртуальную машину без каких-либо проблем, но как только я перезагружаю хост (с выключенной виртуальной машиной), виртуальная машина Windows 10 загружается с синим экраном (сбой видео TDR).
Вот мой XML для виртуальной машины Windows 10:
тип домена="kvm">
<имя>win10</имя>
<uuid>39bd2708-4c4e-4ce4-8ef9-e8d322214990</uuid>
<метаданные>
<libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0">
<libosinfo:os id="http://microsoft.com/win/10"/>
</libosinfo:libosinfo>
</метаданные>
<память>8388608</память>
<currentMemory>8388608</currentMemory>
<вцпу>4</вцпу>
<ОС>
<type arch="x86_64" machine="q35">hvm</type>
<загрузочный разработчик="hd"/>
</os>
<функции>
<acpi/>
<апик/>
<гиперв>
<расслабленное состояние="включено"/>
<vapic состояние="вкл"/>
<spinlocks state="on" retries="8191"/>
<vendor_id state="on" value="1234567890ab"/>
</гиперв>
<квм>
<скрытое состояние = "включено"/>
</квм>
<vmport state="off"/>
</функции>
<cpu mode="host-model"/>
<смещение часов="местное время">
<timer name="rtc" tickpolicy="catchup"/>
<timer name="pit" tickpolicy="delay"/>
<таймер имя="hpet" присутствует="нет"/>
<timer name="hypervclock" present="yes"/>
</часы>
<pm>
<suspend-to-mem enabled="no"/>
<suspend-to-disk enabled="no"/>
</pm>
<устройства>
<эмулятор>/usr/bin/qemu-система-x86_64</эмулятор>
<тип диска="файл" устройство="диск">
<драйвер имя="qemu" тип="qcow2"/>
<исходный файл="/var/lib/libvirt/images/win10.qcow2"/>
<target dev="sda" bus="sata"/>
</диск>
<тип диска="файл" устройство="cdrom">
<драйвер имя="qemu" тип="сырой"/>
<source file="/home/bob/Downloads/Win10_21H1_German_x64.iso"/>
<target dev="sdb" bus="sata"/>
<только для чтения/>
</диск>
<controller type="usb" index="0" model="qemu-xhci" ports="15"/>
<тип интерфейса="сеть">
<исходная сеть="по умолчанию"/>
<mac-адрес="52:54:00:35:be:e2"/>
<тип модели="e1000e"/>
</интерфейс>
<консольный тип="pty"/>
<тип канала="spicevmc">
<target type="virtio" name="com.redhat.spice.0"/>
</канал>
<graphics type="spice" port="-1" tlsPort="-1" autoport="yes">
<сжатие изображения="выкл"/>
</графика>
<звуковая модель="ich9"/>
<видео>
<тип модели="qxl"/>
</видео>
<hostdev mode="subsystem" type="pci" управляемый="yes">
<источник>
<адресный домен="0" шина="1" слот="0" функция="0"/>
</ источник>
</hostdev>
<hostdev mode="subsystem" type="pci" управляемый="yes">
<источник>
<адресный домен="0" шина="1" слот="0" функция="1"/>
</ источник>
</hostdev>
<hostdev mode="subsystem" type="pci" управляемый="yes">
<источник>
<адресный домен="0" шина="1" слот="0" функция="2"/>
</ источник>
</hostdev>
<hostdev mode="subsystem" type="pci" управляемый="yes">
<источник>
<адресный домен="0" шина="1" слот="0" функция="3"/>
</ источник>
</hostdev>
<redirdev bus="usb" type="spicevmc"/>
<redirdev bus="usb" type="spicevmc"/>
</устройства>
</домен>
Результаты квм --версия
:
Эмулятор QEMU версии 4.2.1 (Debian 1:4.2-3ubuntu6.17)
Copyright (c) 2003-2019 Фабрис Беллар и разработчики проекта QEMU.
Результаты lspci-кнн | grep NVIDIA -A 2
:
01:00.0 VGA-совместимый контроллер [0300]: NVIDIA Corporation TU106 [GeForce RTX 2070] [10de:1f02] (rev a1)
Подсистема: NVIDIA Corporation TU106 [GeForce RTX 2070] [10de:12fe]
Используемый драйвер ядра: vfio-pci
Модули ядра: nvidiafb, nouveau, nvidia_drm, nvidia
01:00.1 Аудиоустройство [0403]: NVIDIA Corporation TU106 High Definition Audio Controller [10de:10f9] (rev a1)
Подсистема: NVIDIA Corporation TU106 High Definition Audio Controller [10de:12fe]
Используемый драйвер ядра: vfio-pci
Модули ядра: snd_hda_intel
01:00.2 USB-контроллер [0c03]: Хост-контроллер USB 3.1 NVIDIA Corporation TU106 [10de:1ada] (rev a1)
Подсистема: Хост-контроллер USB 3.1 TU106 корпорации NVIDIA [10de:12fe]
Используемый драйвер ядра: vfio-pci
Модули ядра: xhci_pci
01:00.3 Контроллер последовательной шины [0c80]: NVIDIA Corporation TU106 USB Type-C UCSI Controller [10de:1adb] (rev a1)
Подсистема: NVIDIA Corporation TU106 USB Type-C UCSI Controller [10de:12fe]
Используемый драйвер ядра: vfio-pci
Модули ядра: i2c_nvidia_gpu