Performance problem with a gaming VM


Recommended Posts

Hello ! I am a beginner with unraid and I have a problem. When I created a gaming VM following the SpaceInvader One tutorial, I manage to launch it but when I launch at one the performances are very bad. For example on CSGO I find myself going from 250-300 FPS to 30 FPS, same on GTA I am at 15-20FPS against 60 in bare metal.

I also noticed that my GPU was used much less with the opposite VM than with a bare metal configuration (I tested with two GPUs), for exemple on GTA my GPU is used at 99% while with the VM it is only at 15-30%

image.thumb.png.ccc9d5cafd7c5370ef9ea1ad4e67cce5.png

 

Config :

2697 V2 x2

X9DRI-LN4F+

768GB DDR3 ECC

M6000 24GB

T600 4G

Samsung 860 Evo 250GB

image.thumb.png.f6a73512ae853550f794a7aabf9fbad3.png

 

Thank you in advance for your help !

Edited by DarkyCage
Link to comment
19 minutes ago, ryanm91 said:

I am experiencing the same thing. Interested to see what we learn. I have been using unRAID for 7 years and passing through my Nvidia card. Just got a 6700xt and a 165hz monitor I can't get over 70 fps in infinite. But bare metal I get 165 fps.

Sent from my SM-G996U using Tapatalk
 

Which tutorial did you follow ?

Link to comment
Which tutorial did you follow ?
Spaceinvader. I am passing a vbios I dumped from the card and an nvme stubbed through.

The only thing I was going to revisit was doing the xml as a multifunction device for the graphics card.

Have you watched the spaceinvader video for that edit? I was going to try that and the msifix

Sent from my SM-G996U using Tapatalk

Link to comment
6 minutes ago, ryanm91 said:

Spaceinvader. I am passing a vbios I dumped from the card and an nvme stubbed through.

The only thing I was going to revisit was doing the xml as a multifunction device for the graphics card.

Have you watched the spaceinvader video for that edit? I was going to try that and the msifix

Sent from my SM-G996U using Tapatalk
 

I did exactly the same thing but without result, I also tested the three bios, and several versions of Q35 & I440fx, I tested with windows 10 & 11 but I still have the same problem and I do not understand where it can come from ;-;

Link to comment
I did exactly the same thing but without result, I also tested the three bios, and several versions of Q35 & I440fx, I tested with windows 10 & 11 but I still have the same problem and I do not understand where it can come from ;-;
You did the pass through as multifunction device?

The only other thing I was reading about is special hyperV options.

I also isolated my CPU cores and pinned them to the VM so only the VM can use them.

Sent from my SM-G996U using Tapatalk

Link to comment
2 minutes ago, ryanm91 said:

You did the pass through as multifunction device?

The only other thing I was reading about is special hyperV options.

I also isolated my CPU cores and pinned them to the VM so only the VM can use them.

Sent from my SM-G996U using Tapatalk
 

Yes I did and I disabled the hyper-v

Link to comment
1 hour ago, DarkyCage said:

Hello ! I am a beginner with unraid and I have a problem. When I created a gaming VM following the SpaceInvader One tutorial, I manage to launch it but when I launch at one the performances are very bad. For example on CSGO I find myself going from 250-300 FPS to 30 FPS, same on GTA I am at 15-20FPS against 60 in bare metal.

I also noticed that my GPU was used much less with the opposite VM than with a bare metal configuration (I tested with two GPUs), for exemple on GTA my GPU is used at 99% while with the VM it is only at 15-30%

image.thumb.png.ccc9d5cafd7c5370ef9ea1ad4e67cce5.png

 

Config :

2697 V2 x2

X9DRI-LN4F+

768GB DDR3 ECC

M6000 24GB

T600 4G

Samsung 860 Evo 250GB

image.thumb.png.f6a73512ae853550f794a7aabf9fbad3.png

 

Thank you in advance for your help !

Which OS vers are you running.

Is the PCI slot and the allocated CPU cores on the same NUMA node?

Not sure if you will need to enable Hugepages to get the throughput.

Link to comment
11 minutes ago, SimonF said:

Which OS vers are you running.

Is the PCI slot and the allocated CPU cores on the same NUMA node?

Not sure if you will need to enable Hugepages to get the throughput.

Hello !

Windows 10 22H2

And I put the M6000 on the first X16 slot so in principle it is the second NUMA Nodeimage.png.7b63f89af303876cac14b58a6e131d68.png

Link to comment
1 hour ago, SimonF said:

Which OS vers are you running.

Is the PCI slot and the allocated CPU cores on the same NUMA node?

Not sure if you will need to enable Hugepages to get the throughput.

I just activated Hugepages and I still have bad performance with the GPU which is almost not usedimage.thumb.png.33fccd3cbd074196623fcad806e7d0da.png

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' id='1'>
  <name>Windows 10</name>
  <uuid>6545ed2e-ae0f-e830-c1f1-895626f6639d</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/>
  </metadata>
  <memory unit='KiB'>16777216</memory>
  <currentMemory unit='KiB'>16777216</currentMemory>
  <memoryBacking>
    <hugepages/>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>12</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='13'/>
    <vcpupin vcpu='1' cpuset='37'/>
    <vcpupin vcpu='2' cpuset='15'/>
    <vcpupin vcpu='3' cpuset='39'/>
    <vcpupin vcpu='4' cpuset='17'/>
    <vcpupin vcpu='5' cpuset='41'/>
    <vcpupin vcpu='6' cpuset='19'/>
    <vcpupin vcpu='7' cpuset='43'/>
    <vcpupin vcpu='8' cpuset='21'/>
    <vcpupin vcpu='9' cpuset='45'/>
    <vcpupin vcpu='10' cpuset='23'/>
    <vcpupin vcpu='11' cpuset='47'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-7.1'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/6545ed2e-ae0f-e830-c1f1-895626f6639d_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv mode='custom'>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
      <vendor_id state='on' value='none'/>
    </hyperv>
  </features>
  <cpu mode='host-passthrough' check='none' migratable='on'>
    <topology sockets='1' dies='1' cores='6' threads='2'/>
    <cache mode='passthrough'/>
  </cpu>
  <clock offset='localtime'>
    <timer name='hypervclock' present='yes'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/domains/Windows 10/vdisk1.img' index='3'/>
      <backingStore/>
      <target dev='hdc' bus='virtio'/>
      <boot order='1'/>
      <alias name='virtio-disk2'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/isos/Windows.iso' index='2'/>
      <backingStore/>
      <target dev='hda' bus='sata'/>
      <readonly/>
      <boot order='2'/>
      <alias name='sata0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/isos/virtio-win-0.1.225-2.iso' index='1'/>
      <backingStore/>
      <target dev='hdb' bus='sata'/>
      <readonly/>
      <alias name='sata0-0-1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <alias name='usb'/>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <alias name='usb'/>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <alias name='usb'/>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <controller type='sata' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x8'/>
      <alias name='pci.1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x9'/>
      <alias name='pci.2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0xa'/>
      <alias name='pci.3'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0xb'/>
      <alias name='pci.4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0xc'/>
      <alias name='pci.5'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/>
    </controller>
    <controller type='pci' index='6' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='6' port='0xd'/>
      <alias name='pci.6'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:ae:a6:f1'/>
      <source bridge='br0'/>
      <target dev='vnet0'/>
      <model type='virtio-net'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/0'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/0'>
      <source path='/dev/pts/0'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-1-Windows 10/org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='mouse' bus='ps2'>
      <alias name='input0'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input1'/>
    </input>
    <audio id='1' type='none'/>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x83' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev0'/>
      <rom file='/mnt/disk1/isos/vbios/m6000vbios.rom'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x83' slot='0x00' function='0x1'/>
      </source>
      <alias name='hostdev1'/>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source startupPolicy='optional'>
        <vendor id='0x04f2'/>
        <product id='0x1516'/>
        <address bus='2' device='4'/>
      </source>
      <alias name='hostdev2'/>
      <address type='usb' bus='0' port='1'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source startupPolicy='optional'>
        <vendor id='0x258a'/>
        <product id='0x1007'/>
        <address bus='2' device='3'/>
      </source>
      <alias name='hostdev3'/>
      <address type='usb' bus='0' port='2'/>
    </hostdev>
    <memballoon model='none'/>
  </devices>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+0:+100</label>
    <imagelabel>+0:+100</imagelabel>
  </seclabel>
</domain>

 

Link to comment
I just activated Hugepages and I still have bad performance with the GPU which is almost not usedimage.thumb.png.33fccd3cbd074196623fcad806e7d0da.png
xml version='1.0' encoding='UTF-8'?> type='kvm' id='1'> Windows 10 6545ed2e-ae0f-e830-c1f1-895626f6639d     xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/>   unit='KiB'>16777216  unit='KiB'>16777216          placement='static'>12     vcpu='0' cpuset='13'/>    vcpu='1' cpuset='37'/>    vcpu='2' cpuset='15'/>    vcpu='3' cpuset='39'/>    vcpu='4' cpuset='17'/>    vcpu='5' cpuset='41'/>    vcpu='6' cpuset='19'/>    vcpu='7' cpuset='43'/>    vcpu='8' cpuset='21'/>    vcpu='9' cpuset='45'/>    vcpu='10' cpuset='23'/>    vcpu='11' cpuset='47'/>     /machine      arch='x86_64' machine='pc-q35-7.1'>hvm    readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd   /etc/libvirt/qemu/nvram/6545ed2e-ae0f-e830-c1f1-895626f6639d_VARS-pure-efi.fd            mode='custom'>      state='on'/>      state='on'/>      state='on' retries='8191'/>      state='on' value='none'/>      mode='host-passthrough' check='none' migratable='on'>    sockets='1' dies='1' cores='6' threads='2'/>    mode='passthrough'/>   offset='localtime'>    name='hypervclock' present='yes'/>    name='hpet' present='no'/>  destroy restart restart    /usr/local/sbin/qemu    type='file' device='disk'>      name='qemu' type='raw' cache='writeback'/>      file='/mnt/user/domains/Windows 10/vdisk1.img' index='3'/>           dev='hdc' bus='virtio'/>      order='1'/>      name='virtio-disk2'/>      type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>       type='file' device='cdrom'>      name='qemu' type='raw'/>      file='/mnt/user/isos/Windows.iso' index='2'/>           dev='hda' bus='sata'/>           order='2'/>      name='sata0-0-0'/>      type='drive' controller='0' bus='0' target='0' unit='0'/>       type='file' device='cdrom'>      name='qemu' type='raw'/>      file='/mnt/user/isos/virtio-win-0.1.225-2.iso' index='1'/>           dev='hdb' bus='sata'/>           name='sata0-0-1'/>      type='drive' controller='0' bus='0' target='0' unit='1'/>       type='usb' index='0' model='ich9-ehci1'>      name='usb'/>      type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>       type='usb' index='0' model='ich9-uhci1'>      name='usb'/>      startport='0'/>      type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>       type='usb' index='0' model='ich9-uhci2'>      name='usb'/>      startport='2'/>      type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>       type='usb' index='0' model='ich9-uhci3'>      name='usb'/>      startport='4'/>      type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>       type='sata' index='0'>      name='ide'/>      type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>       type='pci' index='0' model='pcie-root'>      name='pcie.0'/>       type='pci' index='1' model='pcie-root-port'>      name='pcie-root-port'/>      chassis='1' port='0x8'/>      name='pci.1'/>      type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>       type='pci' index='2' model='pcie-root-port'>      name='pcie-root-port'/>      chassis='2' port='0x9'/>      name='pci.2'/>      type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>       type='pci' index='3' model='pcie-root-port'>      name='pcie-root-port'/>      chassis='3' port='0xa'/>      name='pci.3'/>      type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>       type='pci' index='4' model='pcie-root-port'>      name='pcie-root-port'/>      chassis='4' port='0xb'/>      name='pci.4'/>      type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/>       type='pci' index='5' model='pcie-root-port'>      name='pcie-root-port'/>      chassis='5' port='0xc'/>      name='pci.5'/>      type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/>       type='pci' index='6' model='pcie-root-port'>      name='pcie-root-port'/>      chassis='6' port='0xd'/>      name='pci.6'/>      type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/>       type='virtio-serial' index='0'>      name='virtio-serial0'/>      type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>       type='bridge'>      address='52:54:00:ae:a6:f1'/>      bridge='br0'/>      dev='vnet0'/>      type='virtio-net'/>      name='net0'/>      type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>       type='pty'>      path='/dev/pts/0'/>      type='isa-serial' port='0'>        name='isa-serial'/>           name='serial0'/>       type='pty' tty='/dev/pts/0'>      path='/dev/pts/0'/>      type='serial' port='0'/>      name='serial0'/>       type='unix'>      mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-1-Windows 10/org.qemu.guest_agent.0'/>      type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/>      name='channel0'/>      type='virtio-serial' controller='0' bus='0' port='1'/>       type='mouse' bus='ps2'>      name='input0'/>       type='keyboard' bus='ps2'>      name='input1'/>       id='1' type='none'/>    mode='subsystem' type='pci' managed='yes'>      name='vfio'/>             domain='0x0000' bus='0x83' slot='0x00' function='0x0'/>           name='hostdev0'/>      file='/mnt/disk1/isos/vbios/m6000vbios.rom'/>      type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>       mode='subsystem' type='pci' managed='yes'>      name='vfio'/>             domain='0x0000' bus='0x83' slot='0x00' function='0x1'/>           name='hostdev1'/>      type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>       mode='subsystem' type='usb' managed='no'>      startupPolicy='optional'>        id='0x04f2'/>        id='0x1516'/>        bus='2' device='4'/>           name='hostdev2'/>      type='usb' bus='0' port='1'/>       mode='subsystem' type='usb' managed='no'>      startupPolicy='optional'>        id='0x258a'/>        id='0x1007'/>        bus='2' device='3'/>           name='hostdev3'/>      type='usb' bus='0' port='2'/>       model='none'/>   type='dynamic' model='dac' relabel='yes'>   +0:+100   +0:+100 

 

Does the card have HDMI so audio and video pci devices in iommu? I don't see multifunction but notice you have an m6000 which may not split?

Sent from my SM-G996U using Tapatalk

Link to comment
14 minutes ago, DarkyCage said:

I just activated Hugepages and I still have bad performance with the GPU which is almost not usedimage.thumb.png.33fccd3cbd074196623fcad806e7d0da.png

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' id='1'>
  <name>Windows 10</name>
  <uuid>6545ed2e-ae0f-e830-c1f1-895626f6639d</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/>
  </metadata>
  <memory unit='KiB'>16777216</memory>
  <currentMemory unit='KiB'>16777216</currentMemory>
  <memoryBacking>
    <hugepages/>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>12</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='13'/>
    <vcpupin vcpu='1' cpuset='37'/>
    <vcpupin vcpu='2' cpuset='15'/>
    <vcpupin vcpu='3' cpuset='39'/>
    <vcpupin vcpu='4' cpuset='17'/>
    <vcpupin vcpu='5' cpuset='41'/>
    <vcpupin vcpu='6' cpuset='19'/>
    <vcpupin vcpu='7' cpuset='43'/>
    <vcpupin vcpu='8' cpuset='21'/>
    <vcpupin vcpu='9' cpuset='45'/>
    <vcpupin vcpu='10' cpuset='23'/>
    <vcpupin vcpu='11' cpuset='47'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-7.1'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/6545ed2e-ae0f-e830-c1f1-895626f6639d_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv mode='custom'>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
      <vendor_id state='on' value='none'/>
    </hyperv>
  </features>
  <cpu mode='host-passthrough' check='none' migratable='on'>
    <topology sockets='1' dies='1' cores='6' threads='2'/>
    <cache mode='passthrough'/>
  </cpu>
  <clock offset='localtime'>
    <timer name='hypervclock' present='yes'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/domains/Windows 10/vdisk1.img' index='3'/>
      <backingStore/>
      <target dev='hdc' bus='virtio'/>
      <boot order='1'/>
      <alias name='virtio-disk2'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/isos/Windows.iso' index='2'/>
      <backingStore/>
      <target dev='hda' bus='sata'/>
      <readonly/>
      <boot order='2'/>
      <alias name='sata0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/isos/virtio-win-0.1.225-2.iso' index='1'/>
      <backingStore/>
      <target dev='hdb' bus='sata'/>
      <readonly/>
      <alias name='sata0-0-1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <alias name='usb'/>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <alias name='usb'/>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <alias name='usb'/>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <controller type='sata' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x8'/>
      <alias name='pci.1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x9'/>
      <alias name='pci.2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0xa'/>
      <alias name='pci.3'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0xb'/>
      <alias name='pci.4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0xc'/>
      <alias name='pci.5'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/>
    </controller>
    <controller type='pci' index='6' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='6' port='0xd'/>
      <alias name='pci.6'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:ae:a6:f1'/>
      <source bridge='br0'/>
      <target dev='vnet0'/>
      <model type='virtio-net'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/0'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/0'>
      <source path='/dev/pts/0'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-1-Windows 10/org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='mouse' bus='ps2'>
      <alias name='input0'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input1'/>
    </input>
    <audio id='1' type='none'/>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x83' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev0'/>
      <rom file='/mnt/disk1/isos/vbios/m6000vbios.rom'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x83' slot='0x00' function='0x1'/>
      </source>
      <alias name='hostdev1'/>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source startupPolicy='optional'>
        <vendor id='0x04f2'/>
        <product id='0x1516'/>
        <address bus='2' device='4'/>
      </source>
      <alias name='hostdev2'/>
      <address type='usb' bus='0' port='1'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source startupPolicy='optional'>
        <vendor id='0x258a'/>
        <product id='0x1007'/>
        <address bus='2' device='3'/>
      </source>
      <alias name='hostdev3'/>
      <address type='usb' bus='0' port='2'/>
    </hostdev>
    <memballoon model='none'/>
  </devices>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+0:+100</label>
    <imagelabel>+0:+100</imagelabel>
  </seclabel>
</domain>

 

maybe @ghost82 may have some suggestions.

Link to comment
I don't have an integrated sound card ^^'
It's the audio portion of the Nvidia graphics card you are supposed to combine with the video portion into a multifunction device. unRAID by default splits it into two pci devices which is physically impossible. I am unsure if it actually fixes performance doing XML edits but it's one thing I haven't tried in my quest to fix the low graphics usage.

The one thing I find as a clue is amd overlay won't work on VM but does in bare metal. This leads me to think something in the driver is bottlenecking. I was going to swap my 1070ti back in and test it bare metal vs VM but then my SAS card died last night.

Sent from my SM-G996U using Tapatalk


  • Like 1
Link to comment

I have no idea but, you should set gpu as multifunction, as said:

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x83' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev0'/>
      <rom file='/mnt/disk1/isos/vbios/m6000vbios.rom'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0' multifunction='on'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x83' slot='0x00' function='0x1'/>
      </source>
      <alias name='hostdev1'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x1'/>
    </hostdev>
    

 

Check bios settings, maybe you have some bios options that throttles pcie devices, like it happened here:

https://forums.unraid.net/topic/129030-gpu-throttling-while-in-game-low-fps-low-gpu-usage/?do=findComment&comment=1175669

 

This is particularly true for hp servers, but I don't exclude that it happens with other builds.

 

Check irq sharing issues with msi utility, there are relevant posts and the utility in this forum.

 

@hot22shot suggests a change to the xml for large memory gpus, to expand the mmio address space to 64Gb, by adding this at the bottom of the xml before the domain closing tag:

  <qemu:commandline>
    <qemu:arg value='-fw_cfg'/>
    <qemu:arg value='opt/ovmf/X-PciMmio64Mb,string=65536'/>
  </qemu:commandline>
</domain>

 

Ref: https://forums.unraid.net/topic/129879-issue-with-windows-11-vm-rtx-3090-ti-passthrough/?do=findComment&comment=1182846

 

Edited by ghost82
  • Like 1
Link to comment

I am having the same issue of not having full GPU usage. Everything else works fine as intended. On my rtx 3080. Cyberpunk 2077 stuck at below 58 fps and seeing lows into the 15 fps range. When I get 90fps+ constant on bare metal. 

 

I will attempt the hugepages fix, once I make it home, but I have tried....

 

1. Uninstalling/ reinstalling the drivers using ddu.

2. Trying to remove the -hyperv code from my XML windows config file. But this line does not exist in my XML config.

3. Disabling windows virtualization within windows,  but that option was already unchecked.

 

There has to be some checklist out there of things to attempt to fix this, this seems to be a very common issue.

Link to comment
I am having the same issue of not having full GPU usage. Everything else works fine as intended. On my rtx 3080. Cyberpunk 2077 stuck at below 58 fps and seeing lows into the 15 fps range. When I get 90fps+ constant on bare metal. 
 
I will attempt the hugepages fix, once I make it home, but I have tried....
 
1. Uninstalling/ reinstalling the drivers using ddu.
2. Trying to remove the -hyperv code from my XML windows config file. But this line does not exist in my XML config.
3. Disabling windows virtualization within windows,  but that option was already unchecked.
 
There has to be some checklist out there of things to attempt to fix this, this seems to be a very common issue.
Yep all of us gamers seem to be losing frames bad lately. I am on Ryzen and AMD and still same issues. I did notice this morning in halo infinite bare metal I am average of about 20 percent CPU but in the VM I was 70 to 80 percent on same settings. I am using CPU passthrough but it seems like it's bottlenecking

Sent from my SM-G996U using Tapatalk

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.