[6.8.1] Need advice to upgrade current hardware or just tweak it


xxsxx47

Recommended Posts

Hi every one it's been while and i just unraid is the best ever :)

 

my current setup :

Cpu : intel core 5 4690k

motherboard : msi z97 gaming 5

gpu : EVGA GeForce RTX 2070 8 GB Black

ram : 16GB

nvme : Intel 660p Series 1.02 TB

 

i am thinking to upgrade to this or tweak things for the old to be better

 

cpu : AMD Ryzen 7 3700X 3.6 GHz 8-Core Processor

motherbouard : Gigabyte X570 AORUS ELITE ATX AM4 Motherboard

ram : TEAMGROUP T-Force Dark Pro DDR4 16GB KIT (2 x 8GB) 3200MHz (PC4 25600) CL 14

and put 2 nvme one is the samsung 970 for the os and the Intel 660p for the games

 

 

so am using a the unraid and win10 vm gaming but just feel like the gaming could be better 

 

for the vm i gave it 3 cores and 10 gb ram and the nvme as Unassigned Device and it has the win 10 os and games inside it , when the i am playing assassin creed odyess in high settings the fps is in 35 and there some lag here there and slow loading screen but its playble and 3 cores are always it 100% and gpu is at 43 to 52 %

 

any advise or tips to help to stable things and better playing the games

 

here the xml and picture for vm template , cpu pinning and main dashboard

 

thank you very much for you help .

 

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' id='1'>
  <name>Windows 10 - Next</name>
  <uuid>8574667b-b35b-7fa5-2f06-7c1b4fe43c2f</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/>
  </metadata>
  <memory unit='KiB'>10485760</memory>
  <currentMemory unit='KiB'>10485760</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>3</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='1'/>
    <vcpupin vcpu='1' cpuset='2'/>
    <vcpupin vcpu='2' cpuset='3'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-i440fx-4.2'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/8574667b-b35b-7fa5-2f06-7c1b4fe43c2f_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv>
      <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'>
    <topology sockets='1' cores='3' threads='1'/>
  </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/disks/INTEL_SSDPEKNW010T8_BTNH938428UY1P0B/Windows 10 - Next/vdisk1.img' index='3'/>
      <backingStore/>
      <target dev='hdc' bus='virtio'/>
      <boot order='1'/>
      <alias name='virtio-disk2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/isos/Windows/Windows 10 - 1903.iso' index='2'/>
      <backingStore/>
      <target dev='hda' bus='ide'/>
      <readonly/>
      <boot order='2'/>
      <alias name='ide0-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/Drivers/virtio-win-0.1.160-1.iso' index='1'/>
      <backingStore/>
      <target dev='hdb' bus='ide'/>
      <readonly/>
      <alias name='ide0-0-1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <controller type='pci' index='0' model='pci-root'>
      <alias name='pci.0'/>
    </controller>
    <controller type='ide' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </controller>
    <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>
    <interface type='bridge'>
      <mac address='52:54:00:ba:ac:23'/>
      <source bridge='br0'/>
      <target dev='vnet0'/>
      <model type='virtio'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' 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 - Next/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>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev0'/>
      <rom file='/mnt/user/isos/Bios/2070.dump'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x01' slot='0x00' function='0x1'/>
      </source>
      <alias name='hostdev1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x01' slot='0x00' function='0x2'/>
      </source>
      <alias name='hostdev3'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x01' slot='0x00' function='0x3'/>
      </source>
      <alias name='hostdev4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x045e'/>
        <product id='0x028f'/>
        <address bus='3' device='5'/>
      </source>
      <alias name='hostdev5'/>
      <address type='usb' bus='0' port='2'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x045e'/>
        <product id='0x0719'/>
        <address bus='3' device='6'/>
      </source>
      <alias name='hostdev6'/>
      <address type='usb' bus='0' port='3'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x04d9'/>
        <product id='0x1702'/>
        <address bus='3' device='3'/>
      </source>
      <alias name='hostdev7'/>
      <address type='usb' bus='0' port='4'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x1038'/>
        <product id='0x1702'/>
        <address bus='3' device='2'/>
      </source>
      <alias name='hostdev8'/>
      <address type='usb' bus='0' port='5'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x1058'/>
        <product id='0x0820'/>
        <address bus='4' device='3'/>
      </source>
      <alias name='hostdev9'/>
      <address type='usb' bus='0' port='6'/>
    </hostdev>
    <hub type='usb'>
      <alias name='hub0'/>
      <address type='usb' bus='0' port='1'/>
    </hub>
    <memballoon model='none'/>
  </devices>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+0:+100</label>
    <imagelabel>+0:+100</imagelabel>
  </seclabel>
</domain>

 

vm tamplet.PNG

cpu pinning.PNG

Main Dash.PNG

Edited by xxsxx47
to update the post
Link to comment
  1. Is there any process that does heavy IO while you are gaming?
  2. Is there anything else that writes stuff to the 660p while you are gaming?
  3. Install Tips and Tweaks plugin and turn on Turbo Boost + pick High Performance / On Demand as the governor using the plugin.

(1) will cause heavy IO wait which can manifest itself as high CPU usage.

(2) is on a similar boat but the 660p QLC makes it worse when it runs out of pseudo SLC cache it can write to.

 

Also perhaps try creating a new template and pick Q35 machine type + pick SATA as bus for the 2 ISO.

 

Other than that, I can't think of any other tweaks that can be done here. Your VM is quite likely CPU bound with the game.

  • Thanks 1
Link to comment
2 hours ago, testdasi said:

1. Is there any process that does heavy IO while you are gaming?

- no they aren't any heavy IO and if they are i will turn anything down so i can play the game peacefully .

 

2. Is there anything else that writes stuff to the 660p while you are gaming?

- no they aren't any write stuff while gaming and if they are i will turn anything down so i can play the game peacefully .

 

Install Tips and Tweaks plugin and turn on Turbo Boost + pick High Performance / On Demand as the governor using the plugin.

- already did them following spaceinvader videos

 

(1) will cause heavy IO wait which can manifest itself as high CPU usage.

(2) is on a similar boat but the 660p QLC makes it worse when it runs out of pseudo SLC cache it can write to .

 

Also perhaps try creating a new template and pick Q35 machine type + pick SATA as bus for the 2 ISO.

- will do that later tonight , can i remove the 2 iso after am done with them ?

 

Other than that, I can't think of any other tweaks that can be done here. Your VM is quite likely CPU bound with the game.

- so the only solution is to buy a new powerful CPU to overcome the bound, are the new parts compatible with the unraid

 

the new parts

cpu : AMD Ryzen 7 3700X 3.6 GHz 8-Core Processor

motherbouard : Gigabyte X570 AORUS ELITE ATX AM4 Motherboard

ram : TEAMGROUP T-Force Dark Pro DDR4 16GB KIT (2 x 8GB) 3200MHz (PC4 25600) CL 14

nvme : samsung 970 250 - for win 10 vm and let the 660p for games

 

Tips.PNG

Link to comment

so here to report after just letting windows vm use all the cores without pinning them and isolating them the game finally started to play nice like am on bare metal one but now the old problem sound static Crackling returned i can but watching in plex is very bad only fix to is pinning them and isolating the cpu .

 

so i don't know i should upgrade or wait till i get to point i cant play anymore

cpu pinning.PNG

Link to comment
19 hours ago, testdasi said:

If you are going to go non-isol and "unpin" your VM then unpin your dockers too and your Plex should be better.

 

For the crackling sound, have you done msi_util fix per SpaceInvader One?

Even if you have done it the past, do it again because I have seen Windows un-doing it under some situations.

already did the msi fix but didn't fix it for me , the only fix that worked for me is the pinning the cpu.

Will try different combination with the cpu pinning that will suite both gaming and watching in plex.

 

Thanks testdasi for help :)

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.