Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

At my wits end with latency and audio drops in win10vm w/ threadripper 1950x

Featured Replies

Yep, looks like its fixed the driver crippling memory scaling (in windows anyway). Im seeing a 5-10% increase in GPU benchmarks after updating to RC4. :) 

Was hoping for more, but it looks like my bottleneck is my aging CPU now! (2x E5-2670). 

 

Ive been meaning to put my hand in my pocket and upgrade to a threadripper build for a while now.... Im very interested to see what performance gains you guys are getting after this patch...

 

Thankyou @limetech :)

Edited by billington.mark

  • Replies 94
  • Views 15.6k
  • Created
  • Last Reply

I'm on i440FX and dunno if it's worth it to switch to Q35.

I had serious issues before with Q35 and i440FX is working kinda good right now.

Switching template to Q35 broke my system the last time and I had to start by zero.

So would like to know if there is much of a difference before starting from scratch again :D

 

Anyone could do some comparison with both machine types on RC4 and share?

 

Specs in signature.

gpgpu.png

@Nooke I'am currently testing a lot of different settings. Main VM runs still on i440fx and i have a second template as Q35 configured with the same devices passthrough as my main VM. So far it looks promising. Still trying to find the best settings for numa settings pinning etc. Will report back later.

 

 

3 minutes ago, bastl said:

@Nooke I'am currently testing a lot of different settings. Main VM runs still on i440fx and i have a second template as Q35 configured with the same devices passthrough as my main VM. So far it looks promising. Still trying to find the best settings for numa settings pinning etc. Will report back later.

 

looking forward to it

thanks mate!

 

The changes aren't that big in synthetic benchmarks like Timespy or Heaven. In FarCry 5 i saw more improvement. I guess the fact that a real game constantly streaming textures and stuff is what I see here. A synthetic benchmark loads all the stuff right at the beginning into memory. Games like Doom and FarCry at least feel smoother now. Below an overview what I've tested.

 

summary.thumb.png.47d92f7bc87088584be758888fb78403.png

 

Test 1 was my original i440fx VM with some manual tweaks like numatune, emulatorpin and iothread set. For test 2 I created a fresh Q35 VM with the same corecounts, RAM, NVME, SSD, GPU as in test 1 and applied all the tweaks from the i440fx VM + the Qemu arguments at the end of the XML

  <qemu:commandline>
    <qemu:arg value='-global'/>
    <qemu:arg value='pcie-root-port.speed=8'/>
    <qemu:arg value='-global'/>
    <qemu:arg value='pcie-root-port.width=16'/>
  </qemu:commandline>

Test 3 is a fresh Q35 VM with no manual tweaks. Only GPU and SSD/NVME passthrough, same cores and RAM as before without the Qemu arguments at the end. Test 4 is the same as test 3. I only added the Qemu part. And finally test 5 is basically test 2 with a couple tweaks.

 

In test 5 I changed the memory mode from 'preferred' to strict

    <memory mode='strict' nodeset='1'/>

added some changes in the hyperv section

    <hyperv>
      ...      
      <vpindex state='on'/>
      <synic state='on'/>
      <stimer state='on'/>
      <reset state='on'/>
    </hyperv>

and I changed some parts of the EPYC fix

old:

  <cpu mode='custom' match='exact' check='partial'>
    <model fallback='forbid'>EPYC-IBPB</model>
    <topology sockets='1' cores='7' threads='2'/>
    <feature policy='require' name='topoext'/>
    <feature policy='disable' name='monitor'/>
    <feature policy='require' name='x2apic'/>
    <feature policy='require' name='hypervisor'/>
    <feature policy='disable' name='svm'/>
  </cpu>

new:

  <cpu mode='custom' match='exact' check='full'>
    <model fallback='forbid'>EPYC</model>
    <topology sockets='1' cores='7' threads='2'/>
    <cache level='3' mode='emulate'/>
    <feature policy='require' name='topoext'/>
    <feature policy='disable' name='monitor'/>
    <feature policy='require' name='hypervisor'/>
    <feature policy='disable' name='svm'/>
    <feature policy='disable' name='x2apic'/>
  </cpu>

 

CPUZ scores also looks pretty good now. 

cpuZ.png.1c039c1457b38f9d6178fd2251a99cee.png

 

WIN10_NVME_UEFII_Q35_RC4.xml

 

 

1 hour ago, bastl said:

The changes aren't that big in synthetic benchmarks like ...

 

 

Thank you for this. 
This is a great baseline to compare my Xeon build to. 

Rabbit Trail: I encountered this audio breaking up issue on my Win 10 VM on Threadripper with broadcasting to YouTube via xSplit. I resolved it by not passing through a PCI audio card (on the video card) and passing through a USB2 sound card dongle.

 

What I used: https://www.amazon.com/gp/product/B06XNJLHXS/

@jbartlett Did you had the MSI fix applied for the audio device of that card inside this VM?

30 minutes ago, bastl said:

@jbartlett Did you had the MSI fix applied for the audio device of that card inside this VM?

No. I was not aware of this thread at the time.

I've found RC4 helps with Lag etc making it much more viable to game with - However at first attempt I am still showing up PCI Express x1.  Does anyone know if I need to modify my vm xml config as well as run RC4, or should it just work out of the box?

 

I'm guessing I need to add this to make it work?

 

<qemu:commandline>

  <qemu:arg value='-global'/>

  <qemu:arg value='pcie-root-port.speed=8'/>

  <qemu:arg value='-global'/>

  <qemu:arg value='pcie-root-port.width=16'/>

</qemu:commandline>

Edited by Marshalleq

For anyone else, that seems to have worked.  So not quite out of the box, but at least simple to make happen within the xml.

It only works for Q35 Vms.

Can I change my i440FX  VM to a Q35 or do I have to create a new one ? :)

@Symon Both should work. Depending on the unraid version and the stuff you passing through and how your current VM is setup, upgrading can end with an error. The savest way is to creat a new VM with the Q35 machine type, same cores RAM etc as the original one, different name. You can point it to the existing i440fx vdisk and carry over your maybe manual tweaked parts in the xml to the new one if you need. Before you screw something up, always make a backup first. 

17 minutes ago, bastl said:

@Symon Both should work. Depending on the unraid version and the stuff you passing through and how your current VM is setup, upgrading can end with an error. The savest way is to creat a new VM with the Q35 machine type, same cores RAM etc as the original one, different name. You can point it to the existing i440fx vdisk and carry over your maybe manual tweaked parts in the xml to the new one if you need. Before you screw something up, always make a backup first. 

Thanks for your help, I will create a new one to be safe :)

Do you know if this creates problems with the Window 10 License as the hardware ID's change?

13 hours ago, Symon said:

Do you know if this creates problems with the Window 10 License as the hardware ID's change?

Yes, it can. If you copy over the UUID from the activated VM to the new one, it may help. I don't know how many changes it takes before MS gets cranky, but the less you change between the VM's the better. As he said, keep RAM, core assignments, passthroughs, etc as consistent as possible.

  • 7 months later...

@bastl how were you able to get Unraid to utilize your 3rd slot GPU instead of the 1st slot GPU (1080ti)?

 

I haven't been able to find a way to force Unraid to utilize my 3rd slot GPU (GT 710) and passthrough my 1st slot GPU (2080 Super), so I just have the passthrough GPU in slot 3 (which is assigned to Node 0) and my unraid GPU in slot 1 (assigned to Node 1).

 

 

@Giggity_Grant You have to stub/bind the GPU you wanna passthrough so unraid doesn't load it at all. If I add the pci ids of the card in the 1st slot Unraid wont pick it up and will use the card in the 3rd slot. Not sure if I changed something in the BIOS as well but I think I only had an option for the link speeds of the slots not for the order or how IOMMU handles it.

@bastl Thanks for your reply!

 

I originally tried disabling CSM, which seemed to work - but then I ran into the same issues that other folks in this forum mentioned. After seeing your comment, I re-enabled CSM, and stubbed the pci-ids of the 1st slot card. It's back up and running at least.

 

I'm still running through the thread and trying a few of the mentioned solutions.

 

Is there anything in particular that I would have to add in order to get unRaid to pick up a basic GPU in the 3rd slot, or is this something that happens automatically (since the 1st slot GPU is stubbed)?

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.