X299 PCIE Passthrough - I have finally arrived

Hello there Level1,

I am pleased to announce that after years of wishing I could do this and many failed attempts my new beastly machine finally works with pcie passthrough. I’m a semi advanced linux user, but never got this particular challenge off the ground due to hardware issues and things.

I have one question for you pcie passthrough pros out here though. I followed a guide for Fedora 31 I found on github, and everything seems to have worked fine. I was chasing a very bad performance issue for a while and figured that out just recently, but now I’m still losing a good bit of performance compared to native on some windows games.

I can boot into windows and run Rust at about 90 fps or so, and with nearly the same settings I am getting more like 60 or 70 in the VM. These aren’t the same windows install and there are some differences, but I see a similar issue in CSGO as well. The difference in CSGO is that I was getting close to 300 fps natively, but only just over 100 fps in the VM. Its completely playable so I don’t mind that, but Rust dips down low sometimes I do notice that. Besides, I’d like to think there is something wrong because I have a decent machine that should be able to push this game a bit better.

Here is some general info about my PC:
-I9-9900X
-X299 Aorus Master
-RTX 2070 super(guest)
-RTX 2060 super(host)
-64G Ram
bunch of nvme ssds, 3 spinning disks and 1 sata ssd.
I run Fedora 31 with AwesomeWM. Everything is using uefi to boot up.

I have seen where people wanted their XML file posted along with some outputs of certain commands. I will post the XML and the output of the lspci -knn just in case those are useful.

Thanks in advance for any input or advice.

Here is my xml:

<domain type="kvm">
  <name>win10-q35</name>
  <uuid>b94833d3-e11f-4b41-b95a-457bdcfc65f4</uuid>
  <metadata>
    <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0">
      <libosinfo:os id="http://microsoft.com/win/10"/>
    </libosinfo:libosinfo>
  </metadata>
  <memory unit="KiB">8388608</memory>
  <currentMemory unit="KiB">8388608</currentMemory>
  <vcpu placement="static">4</vcpu>
  <os>
    <type arch="x86_64" machine="pc-q35-4.1">hvm</type>
    <loader readonly="yes" type="pflash">/usr/share/OVMF/OVMF_CODE.fd</loader>
    <nvram>/var/lib/libvirt/qemu/nvram/win10-q35_VARS.fd</nvram>
    <boot dev="cdrom"/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv>
      <relaxed state="on"/>
      <vapic state="on"/>
      <spinlocks state="on" retries="8191"/>
      <vendor_id state="on" value="10DE"/>
    </hyperv>
    <kvm>
      <hidden state="on"/>
    </kvm>
    <vmport state="off"/>
  </features>
  <cpu mode="host-model" check="partial">
    <model fallback="allow"/>
  </cpu>
  <clock offset="localtime">
    <timer name="rtc" tickpolicy="catchup"/>
    <timer name="pit" tickpolicy="delay"/>
    <timer name="hpet" present="no"/>
    <timer name="hypervclock" present="yes"/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <pm>
    <suspend-to-mem enabled="no"/>
    <suspend-to-disk enabled="no"/>
  </pm>
  <devices>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
    <controller type="usb" index="0" model="qemu-xhci" ports="15">
      <address type="pci" domain="0x0000" bus="0x04" slot="0x00" function="0x0"/>
    </controller>
    <controller type="pci" index="0" model="pcie-root"/>
    <controller type="pci" index="1" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="1" port="0x10"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x0" multifunction="on"/>
    </controller>
    <controller type="pci" index="2" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="2" port="0x11"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x1"/>
    </controller>
    <controller type="pci" index="3" model="pcie-to-pci-bridge">
      <model name="pcie-pci-bridge"/>
      <address type="pci" domain="0x0000" bus="0x01" slot="0x00" function="0x0"/>
    </controller>
    <controller type="pci" index="4" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="4" port="0x12"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x2"/>
    </controller>
    <controller type="pci" index="5" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="5" port="0x13"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x3"/>
    </controller>
    <controller type="pci" index="6" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="6" port="0x14"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x4"/>
    </controller>
    <controller type="pci" index="7" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="7" port="0x15"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x5"/>
    </controller>
    <controller type="pci" index="8" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="8" port="0x16"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x6"/>
    </controller>
    <controller type="pci" index="9" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="9" port="0x17"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x7"/>
    </controller>
    <controller type="pci" index="10" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="10" port="0x18"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x0" multifunction="on"/>
    </controller>
    <controller type="pci" index="11" model="pcie-root-port">
      <model name="pcie-root-port"/>
      <target chassis="11" port="0x19"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x1"/>
    </controller>
    <controller type="sata" index="0">
      <address type="pci" domain="0x0000" bus="0x00" slot="0x1f" function="0x2"/>
    </controller>
    <interface type="network">
      <mac address="52:54:00:63:9d:4e"/>
      <source network="default"/>
      <model type="e1000e"/>
      <address type="pci" domain="0x0000" bus="0x02" slot="0x00" function="0x0"/>
    </interface>
    <input type="mouse" bus="ps2"/>
    <input type="keyboard" bus="ps2"/>
    <sound model="ac97">
      <address type="pci" domain="0x0000" bus="0x03" slot="0x01" function="0x0"/>
    </sound>
    <hostdev mode="subsystem" type="pci" managed="yes">
      <source>
        <address domain="0x0000" bus="0xb3" slot="0x00" function="0x0"/>
      </source>
      <rom bar="off"/>
      <address type="pci" domain="0x0000" bus="0x06" slot="0x00" function="0x0"/>
    </hostdev>
    <hostdev mode="subsystem" type="pci" managed="yes">
      <source>
        <address domain="0x0000" bus="0x65" slot="0x00" function="0x0"/>
      </source>
      <rom bar="off"/>
      <address type="pci" domain="0x0000" bus="0x08" slot="0x00" function="0x0"/>
    </hostdev>
    <hostdev mode="subsystem" type="pci" managed="yes">
      <source>
        <address domain="0x0000" bus="0x65" slot="0x00" function="0x1"/>
      </source>
      <rom bar="off"/>
      <address type="pci" domain="0x0000" bus="0x09" slot="0x00" function="0x0"/>
    </hostdev>
    <hostdev mode="subsystem" type="pci" managed="yes">
      <source>
        <address domain="0x0000" bus="0x65" slot="0x00" function="0x2"/>
      </source>
      <rom bar="off"/>
      <address type="pci" domain="0x0000" bus="0x0a" slot="0x00" function="0x0"/>
    </hostdev>
    <hostdev mode="subsystem" type="pci" managed="yes">
      <source>
        <address domain="0x0000" bus="0x65" slot="0x00" function="0x3"/>
      </source>
      <rom bar="off"/>
      <address type="pci" domain="0x0000" bus="0x0b" slot="0x00" function="0x0"/>
    </hostdev>
    <hostdev mode="subsystem" type="usb" managed="yes">
      <source>
        <vendor id="0x1532"/>
        <product id="0x0207"/>
      </source>
      <address type="usb" bus="0" port="1"/>
    </hostdev>
    <hostdev mode="subsystem" type="usb" managed="yes">
      <source>
        <vendor id="0x046d"/>
        <product id="0xc539"/>
      </source>
      <address type="usb" bus="0" port="2"/>
    </hostdev>
    <memballoon model="virtio">
      <address type="pci" domain="0x0000" bus="0x07" slot="0x00" function="0x0"/>
    </memballoon>
  </devices>
</domain>

Here is the output of “lspci -knn”:

00:00.0 Host bridge [0600]: Intel Corporation Sky Lake-E DMI3 Registers [8086:2020] (rev 04)
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:5000]
00:04.0 System peripheral [0880]: Intel Corporation Sky Lake-E CBDMA Registers [8086:2021] (rev 04)
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:8888]
        Kernel driver in use: ioatdma
        Kernel modules: ioatdma
00:04.1 System peripheral [0880]: Intel Corporation Sky Lake-E CBDMA Registers [8086:2021] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
        Kernel driver in use: ioatdma
        Kernel modules: ioatdma
00:04.2 System peripheral [0880]: Intel Corporation Sky Lake-E CBDMA Registers [8086:2021] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
        Kernel driver in use: ioatdma
        Kernel modules: ioatdma
00:04.3 System peripheral [0880]: Intel Corporation Sky Lake-E CBDMA Registers [8086:2021] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
        Kernel driver in use: ioatdma
        Kernel modules: ioatdma
00:04.4 System peripheral [0880]: Intel Corporation Sky Lake-E CBDMA Registers [8086:2021] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
        Kernel driver in use: ioatdma
        Kernel modules: ioatdma
00:04.5 System peripheral [0880]: Intel Corporation Sky Lake-E CBDMA Registers [8086:2021] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
        Kernel driver in use: ioatdma
        Kernel modules: ioatdma
00:04.6 System peripheral [0880]: Intel Corporation Sky Lake-E CBDMA Registers [8086:2021] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
        Kernel driver in use: ioatdma
        Kernel modules: ioatdma
00:04.7 System peripheral [0880]: Intel Corporation Sky Lake-E CBDMA Registers [8086:2021] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
        Kernel driver in use: ioatdma
        Kernel modules: ioatdma
00:05.0 System peripheral [0880]: Intel Corporation Sky Lake-E MM/Vt-d Configuration Registers [8086:2024] (rev 04)
        Subsystem: Intel Corporation Sky Lake-E MM/Vt-d Configuration Registers [8086:2024]
00:05.2 System peripheral [0880]: Intel Corporation Sky Lake-E RAS [8086:2025] (rev 04)
00:05.4 PIC [0800]: Intel Corporation Sky Lake-E IOAPIC [8086:2026] (rev 04)
        Subsystem: Intel Corporation Sky Lake-E IOAPIC [8086:2026]
00:08.0 System peripheral [0880]: Intel Corporation Sky Lake-E Ubox Registers [8086:2014] (rev 04)
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:5000]
00:08.1 Performance counters [1101]: Intel Corporation Sky Lake-E Ubox Registers [8086:2015] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
00:08.2 System peripheral [0880]: Intel Corporation Sky Lake-E Ubox Registers [8086:2016] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
00:14.0 USB controller [0c03]: Intel Corporation 200 Series/Z370 Chipset Family USB 3.0 xHCI Controller [8086:a2af]
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:5007]
        Kernel driver in use: xhci_hcd
00:16.0 Communication controller [0780]: Intel Corporation 200 Series PCH CSME HECI #1 [8086:a2ba]
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:1c3a]
        Kernel driver in use: mei_me
        Kernel modules: mei_me
00:17.0 SATA controller [0106]: Intel Corporation 200 Series PCH SATA controller [AHCI mode] [8086:a282]
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:b005]
        Kernel driver in use: ahci
00:1b.0 PCI bridge [0604]: Intel Corporation 200 Series PCH PCI Express Root Port #17 [8086:a2e7] (rev f0)
        Kernel driver in use: pcieport
00:1b.4 PCI bridge [0604]: Intel Corporation 200 Series PCH PCI Express Root Port #21 [8086:a2eb] (rev f0)
        Kernel driver in use: pcieport
00:1b.6 PCI bridge [0604]: Intel Corporation 200 Series PCH PCI Express Root Port #23 [8086:a2ed] (rev f0)
        Kernel driver in use: pcieport
00:1c.0 PCI bridge [0604]: Intel Corporation 200 Series PCH PCI Express Root Port #1 [8086:a290] (rev f0)
        Kernel driver in use: pcieport
00:1c.5 PCI bridge [0604]: Intel Corporation 200 Series PCH PCI Express Root Port #6 [8086:a295] (rev f0)
        Kernel driver in use: pcieport
00:1c.6 PCI bridge [0604]: Intel Corporation 200 Series PCH PCI Express Root Port #7 [8086:a296] (rev f0)
        Kernel driver in use: pcieport
00:1d.0 PCI bridge [0604]: Intel Corporation 200 Series PCH PCI Express Root Port #9 [8086:a298] (rev f0)
        Kernel driver in use: pcieport
00:1f.0 ISA bridge [0601]: Intel Corporation X299 Chipset LPC/eSPI Controller [8086:a2d2]
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:5001]
00:1f.2 Memory controller [0580]: Intel Corporation 200 Series/Z370 Chipset Family Power Management Controller [8086:a2a1]
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:5001]
00:1f.3 Audio device [0403]: Intel Corporation 200 Series PCH HD Audio [8086:a2f0]
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:a0ce]
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
00:1f.4 SMBus [0c05]: Intel Corporation 200 Series/Z370 Chipset Family SMBus Controller [8086:a2a3]
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:5001]
        Kernel driver in use: i801_smbus
        Kernel modules: i2c_i801
00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection (2) I219-V [8086:15b8]
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:e000]
        Kernel driver in use: e1000e
        Kernel modules: e1000e
01:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983 [144d:a808]
        Subsystem: Samsung Electronics Co Ltd Device [144d:a801]
        Kernel driver in use: nvme
        Kernel modules: nvme
02:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM2142 USB 3.1 Host Controller [1b21:2142]
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:5007]
        Kernel driver in use: xhci_hcd
03:00.0 USB controller [0c03]: ASMedia Technology Inc. ASM2142 USB 3.1 Host Controller [1b21:2142]
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:5007]
        Kernel driver in use: xhci_hcd
05:00.0 Network controller [0280]: Intel Corporation Wireless 8265 / 8275 [8086:24fd] (rev 78)
        Subsystem: Intel Corporation Dual Band Wireless-AC 8265 [8086:1010]
        Kernel driver in use: iwlwifi
        Kernel modules: iwlwifi
06:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125] (rev 01)
        Subsystem: Gigabyte Technology Co., Ltd Device [1458:e000]
        Kernel driver in use: r8169
        Kernel modules: r8169
07:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983 [144d:a808]
        Subsystem: Samsung Electronics Co Ltd Device [144d:a801]
        Kernel driver in use: nvme
        Kernel modules: nvme
16:00.0 PCI bridge [0604]: Intel Corporation Sky Lake-E PCI Express Root Port A [8086:2030] (rev 04)
        Kernel driver in use: pcieport
16:05.0 System peripheral [0880]: Intel Corporation Sky Lake-E VT-d [8086:2034] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:05.2 System peripheral [0880]: Intel Corporation Sky Lake-E RAS Configuration Registers [8086:2035] (rev 04)
16:05.4 PIC [0800]: Intel Corporation Sky Lake-E IOxAPIC Configuration Registers [8086:2036] (rev 04)
        Subsystem: Intel Corporation Sky Lake-E IOxAPIC Configuration Registers [8086:2036]
16:08.0 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:08.1 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:08.2 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:08.3 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:08.4 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:08.5 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:08.6 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:08.7 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:09.0 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:09.1 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:09.2 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:09.3 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:09.4 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:09.5 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:09.6 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:09.7 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:0a.0 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:0a.1 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208d] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:0e.0 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:0e.1 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:0e.2 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:0e.3 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:0e.4 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:0e.5 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:0e.6 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:0e.7 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:0f.0 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:0f.1 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:0f.2 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:0f.3 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:0f.4 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:0f.5 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:0f.6 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:0f.7 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:10.0 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:10.1 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:208e] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:1d.0 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:2054] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:1d.1 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:2055] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:1d.2 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:2056] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:1d.3 System peripheral [0880]: Intel Corporation Sky Lake-E CHA Registers [8086:2057] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:1e.0 System peripheral [0880]: Intel Corporation Sky Lake-E PCU Registers [8086:2080] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:1e.1 System peripheral [0880]: Intel Corporation Sky Lake-E PCU Registers [8086:2081] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:1e.2 System peripheral [0880]: Intel Corporation Sky Lake-E PCU Registers [8086:2082] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:1e.3 System peripheral [0880]: Intel Corporation Sky Lake-E PCU Registers [8086:2083] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:1e.4 System peripheral [0880]: Intel Corporation Sky Lake-E PCU Registers [8086:2084] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:1e.5 System peripheral [0880]: Intel Corporation Sky Lake-E PCU Registers [8086:2085] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
16:1e.6 System peripheral [0880]: Intel Corporation Sky Lake-E PCU Registers [8086:2086] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
17:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU106 [GeForce RTX 2060 SUPER] [10de:1f47] (rev a1)
        Subsystem: NVIDIA Corporation Device [10de:13ad]
        Kernel driver in use: nvidia
        Kernel modules: nouveau, nvidia_drm, nvidia
17:00.1 Audio device [0403]: NVIDIA Corporation TU106 High Definition Audio Controller [10de:10f9] (rev a1)
        Subsystem: NVIDIA Corporation Device [10de:13ad]
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
17:00.2 USB controller [0c03]: NVIDIA Corporation TU106 USB 3.1 Host Controller [10de:1ada] (rev a1)
        Subsystem: NVIDIA Corporation Device [10de:13ad]
        Kernel driver in use: xhci_hcd
17:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU106 USB Type-C UCSI Controller [10de:1adb] (rev a1)
        Subsystem: NVIDIA Corporation Device [10de:13ad]
        Kernel driver in use: nvidia-gpu
        Kernel modules: i2c_nvidia_gpu
64:00.0 PCI bridge [0604]: Intel Corporation Sky Lake-E PCI Express Root Port A [8086:2030] (rev 04)
        Kernel driver in use: pcieport
64:05.0 System peripheral [0880]: Intel Corporation Sky Lake-E VT-d [8086:2034] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
64:05.2 System peripheral [0880]: Intel Corporation Sky Lake-E RAS Configuration Registers [8086:2035] (rev 04)
64:05.4 PIC [0800]: Intel Corporation Sky Lake-E IOxAPIC Configuration Registers [8086:2036] (rev 04)
        Subsystem: Intel Corporation Sky Lake-E IOxAPIC Configuration Registers [8086:2036]
64:08.0 System peripheral [0880]: Intel Corporation Sky Lake-E Integrated Memory Controller [8086:2066] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
        Kernel driver in use: skx_uncore
64:09.0 System peripheral [0880]: Intel Corporation Sky Lake-E Integrated Memory Controller [8086:2066] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
        Kernel driver in use: skx_uncore
64:0a.0 System peripheral [0880]: Intel Corporation Sky Lake-E Integrated Memory Controller [8086:2040] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
64:0a.1 System peripheral [0880]: Intel Corporation Sky Lake-E Integrated Memory Controller [8086:2041] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
64:0a.2 System peripheral [0880]: Intel Corporation Sky Lake-E Integrated Memory Controller [8086:2042] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
        Kernel driver in use: skx_uncore
64:0a.3 System peripheral [0880]: Intel Corporation Sky Lake-E Integrated Memory Controller [8086:2043] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
64:0a.4 System peripheral [0880]: Intel Corporation Sky Lake-E Integrated Memory Controller [8086:2044] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
64:0a.5 System peripheral [0880]: Intel Corporation Sky Lake-E LM Channel 1 [8086:2045] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
64:0a.6 System peripheral [0880]: Intel Corporation Sky Lake-E LMS Channel 1 [8086:2046] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
        Kernel driver in use: skx_uncore
64:0a.7 System peripheral [0880]: Intel Corporation Sky Lake-E LMDP Channel 1 [8086:2047] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
64:0b.0 System peripheral [0880]: Intel Corporation Sky Lake-E DECS Channel 2 [8086:2048] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
64:0b.1 System peripheral [0880]: Intel Corporation Sky Lake-E LM Channel 2 [8086:2049] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
64:0b.2 System peripheral [0880]: Intel Corporation Sky Lake-E LMS Channel 2 [8086:204a] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
        Kernel driver in use: skx_uncore
64:0b.3 System peripheral [0880]: Intel Corporation Sky Lake-E LMDP Channel 2 [8086:204b] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
64:0c.0 System peripheral [0880]: Intel Corporation Sky Lake-E Integrated Memory Controller [8086:2040] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
64:0c.1 System peripheral [0880]: Intel Corporation Sky Lake-E Integrated Memory Controller [8086:2041] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
64:0c.2 System peripheral [0880]: Intel Corporation Sky Lake-E Integrated Memory Controller [8086:2042] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
        Kernel driver in use: skx_uncore
64:0c.3 System peripheral [0880]: Intel Corporation Sky Lake-E Integrated Memory Controller [8086:2043] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
64:0c.4 System peripheral [0880]: Intel Corporation Sky Lake-E Integrated Memory Controller [8086:2044] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
64:0c.5 System peripheral [0880]: Intel Corporation Sky Lake-E LM Channel 1 [8086:2045] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
64:0c.6 System peripheral [0880]: Intel Corporation Sky Lake-E LMS Channel 1 [8086:2046] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
        Kernel driver in use: skx_uncore
64:0c.7 System peripheral [0880]: Intel Corporation Sky Lake-E LMDP Channel 1 [8086:2047] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
64:0d.0 System peripheral [0880]: Intel Corporation Sky Lake-E DECS Channel 2 [8086:2048] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
64:0d.1 System peripheral [0880]: Intel Corporation Sky Lake-E LM Channel 2 [8086:2049] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
64:0d.2 System peripheral [0880]: Intel Corporation Sky Lake-E LMS Channel 2 [8086:204a] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
        Kernel driver in use: skx_uncore
64:0d.3 System peripheral [0880]: Intel Corporation Sky Lake-E LMDP Channel 2 [8086:204b] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
65:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU104 [GeForce RTX 2070 SUPER] [10de:1ec7] (rev a1)
        Subsystem: NVIDIA Corporation Device [10de:13aa]
        Kernel driver in use: vfio-pci
        Kernel modules: nouveau, nvidia_drm, nvidia
65:00.1 Audio device [0403]: NVIDIA Corporation TU104 HD Audio Controller [10de:10f8] (rev a1)
        Subsystem: NVIDIA Corporation Device [10de:13aa]
        Kernel driver in use: vfio-pci
        Kernel modules: snd_hda_intel
65:00.2 USB controller [0c03]: NVIDIA Corporation TU104 USB 3.1 Host Controller [10de:1ad8] (rev a1)
        Subsystem: NVIDIA Corporation Device [10de:13aa]
        Kernel driver in use: xhci_hcd
65:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU104 USB Type-C UCSI Controller [10de:1ad9] (rev a1)
        Subsystem: NVIDIA Corporation Device [10de:13aa]
        Kernel driver in use: vfio-pci
        Kernel modules: i2c_nvidia_gpu
b2:00.0 PCI bridge [0604]: Intel Corporation Sky Lake-E PCI Express Root Port A [8086:2030] (rev 04)
        Kernel driver in use: pcieport
b2:03.0 PCI bridge [0604]: Intel Corporation Sky Lake-E PCI Express Root Port D [8086:2033] (rev 04)
        Kernel driver in use: pcieport
b2:05.0 System peripheral [0880]: Intel Corporation Sky Lake-E VT-d [8086:2034] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
b2:05.2 System peripheral [0880]: Intel Corporation Sky Lake-E RAS Configuration Registers [8086:2035] (rev 04)
b2:05.4 PIC [0800]: Intel Corporation Sky Lake-E IOxAPIC Configuration Registers [8086:2036] (rev 04)
        Subsystem: Intel Corporation Sky Lake-E IOxAPIC Configuration Registers [8086:2036]
b2:12.0 Performance counters [1101]: Intel Corporation Sky Lake-E M3KTI Registers [8086:204c] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
b2:12.1 Performance counters [1101]: Intel Corporation Sky Lake-E M3KTI Registers [8086:204d] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
        Kernel driver in use: skx_uncore
b2:12.2 System peripheral [0880]: Intel Corporation Sky Lake-E M3KTI Registers [8086:204e] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
        Kernel driver in use: skx_uncore
b2:15.0 System peripheral [0880]: Intel Corporation Sky Lake-E M2PCI Registers [8086:2018] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
b2:16.0 System peripheral [0880]: Intel Corporation Sky Lake-E M2PCI Registers [8086:2018] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
b2:16.4 System peripheral [0880]: Intel Corporation Sky Lake-E M2PCI Registers [8086:2018] (rev 04)
        Subsystem: Intel Corporation Device [8086:0000]
b2:17.0 System peripheral [0880]: Intel Corporation Sky Lake-E M2PCI Registers [8086:2018] (rev 04)
b3:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983 [144d:a808]
        Subsystem: Samsung Electronics Co Ltd Device [144d:a801]
        Kernel driver in use: nvme
        Kernel modules: nvme
b4:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983 [144d:a808]
        Subsystem: Samsung Electronics Co Ltd Device [144d:a801]
        Kernel driver in use: nvme
        Kernel modules: nvme

Is single core boost properly applied in the VM? I’m thinking of a 10920X for my Passthrough setup.

You need to isolate and pin the cores, and use hugepages so the OS reserves memory specifically for the VM.

You’ve also only assigned 2 physical cores, so it’s performing only as well as a hyperthreaded dual core like the G4560.

I am not sure (assuming not)

Thanks, I’ll check into these as well.

I’ll give it a few more and see how it does (I thought I assigned 4 though)

Thanks for the input. I’ll get these addressed and see where I end up then.

Congrats!! It took me a good long while to start, figure out, and complete my PCI-E Passthrough project as well. Been running good for a month or two now. Very happy. I’m also running on the X299 platform and really looking towards an 10940X if they ever really are easily available. Driving 3+ hours to Microcenter to buy something I shouldn’t be in the first place isn’t very wife friendly! Especially during these times!

Hope all continues to go well for your setup.

Ya I’ve had this dream of being able to run all my games and just turn my head a bit and do some other stuff on my terminals or whatever in my preferred environment and all that. I don’t have to have split personalities anymore hehe. As much as Linux gaming has improved it still isn’t quite there yet. And games like Rust have taken a few steps back, hopefully that doesn’t become any sort of trend for other games.

I just built this box late last year so I doubt I will be doing any upgrading for a while. I did hesitate a bit because x299 isn’t “new”, but I’m impatient and didn’t want to wait for the next enthusiast platform to come out.

I wish I was near a microcenter. Closest thing I have is Frys (which is nice when they have things on their shelves)

@FurryJackman I did have a pretty good improvement in performance once I enabled the hugepages. I did that first before I set cpu affinity, but I did that as well. I think I am very near or perhaps even above native performance at this point. Thanks for the suggestions

Affinity is one thing, letting the VM know the IO threads (which 2 threads make up a single core) also improves performance. In virt-manager, you can’t set threads to let the VM interpret it as 2 hyperthreaded threads.

Best practice is to look at lstopo and assign IO threads based on which threads make up a physical core. You can only define IO threads using virsh and XML editing.

Well I did do this via virsh edit. I ended up using:
‘cpuset=“4-7”’ in the element. I found this on redhat site.

<vcpu placement="static" cpuset="4-7" current="4">20</vcpu>

Is this not what you were referring to?