June 1, 201610 yr Boy that topic can make it sound a lot worse than it is I have been using a VM through unraid as my main windows 10 rig, and for the most part everything has been fine But with the release of Doom, i finally noticed a huge problem The game is slow, and I don't mean gameplay I mean everything about it is slow I know I'm no the only one who's playing the "return to tradition" awesomeness that is Doom Is anyone else have issues Or would know why Mad Max can be run at max while doom on slow is a slow chug what I'm running: ASUS M5A99FX with ATI card dedicated for Unraid EVGA GeForce GTX 960 4GB pass thru AMD FD8350FRHKBOX I love the idea of one system, but I'm wondering if it's time to separate the two again
June 1, 201610 yr I've got doom running on a windows VM and it runs fine at around 60fps with most (if not all) settings on the max. On the other hand, Battleborn runs really slowly on the same hardware...
June 1, 201610 yr Author So weird, let me ask how fast, in terms of speed should the marine be moving Because he's walking like a senior citizen, but so is everything it's not lag so much the entire game is at teh same slow slow speed Especially considering how well Doom(s) is coded it's very odd their code is usually the benchmark for coders Battleborn on mine works fine But then a game like Ghost in the Shell chugs
June 1, 201610 yr If you are playing Doom thru Steam, enable the fps counter... its in the steam settings, In-Game section - "In game fps counter". That should give you a good indication of your framerate. Anything above 30 should be playable, but of course higher is better.
June 2, 201610 yr Maybe this is an nvidia va amd thing then. Pretty sure Battleborn is an nvidia "sponsored" game as it has physx in it. Maybe Doom is optimised for AMD? Might explain battleborn working fine on your nvidia card and doom on my AMD one... Still, 15fps seems really low even taking that into account.
June 2, 201610 yr I play on an amd and find the performance is very good no issues at all. The pinning of cpu cores helped me and i need to run hyperv on for it to run well
June 2, 201610 yr Author what do you mean pinning and hyperv Is that some stuff that is done manually to the xml?
June 2, 201610 yr what do you mean pinning and hyperv Is that some stuff that is done manually to the xml? It might help to mention the version of unRAID you are running if you make future threads. CPU pinning is explained and demonstrated in the top sticky topic of this sub-forum. Hyper-V is explained in the wiki documentation. Search is your friend
June 3, 201610 yr Author I agree with searing, though before I started I didn't know how to start searching for it Following the CPU sticky I got the VM set up Now I'm pulling 18-21 fps Running Unraid 6.1.9 <domain type='kvm' id='1' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> <name>Main</name> <uuid>11593592-c37a-6295-c3d4-5ee1be345db3</uuid> <metadata> <vmtemplate name="Custom" icon="windows.png" os="windows"/> </metadata> <memory unit='KiB'>30932992</memory> <currentMemory unit='KiB'>30932992</currentMemory> <memoryBacking> <nosharepages/> <locked/> </memoryBacking> <vcpu placement='static'>6</vcpu> <cputune> <vcpupin vcpu='0' cpuset='2'/> <vcpupin vcpu='1' cpuset='3'/> <vcpupin vcpu='2' cpuset='4'/> <vcpupin vcpu='3' cpuset='5'/> <vcpupin vcpu='4' cpuset='6'/> <vcpupin vcpu='5' cpuset='7'/> <emulatorpin cpuset='0-1'/> </cputune> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-i440fx-2.3'>hvm</type> </os> <features> <acpi/> <apic/> </features> <cpu mode='host-passthrough'> <topology sockets='1' cores='6' threads='1'/> </cpu> <clock offset='localtime'> <timer name='rtc' tickpolicy='catchup'/> <timer name='pit' tickpolicy='delay'/> <timer name='hpet' present='no'/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/bin/qemu-system-x86_64</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source file='/mnt/cache/VMs/Main/vdisk1.img'/> <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='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source file='/mnt/disks/WDC_WD10EACS-07D6B0_WD-WCAU43599175-part1/Main/vdisk2.img'/> <backingStore/> <target dev='hdd' bus='virtio'/> <alias name='virtio-disk3'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </disk> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source file='/mnt/disks/WDC_WD10EACS-07D6B0_WD-WCAU43599175-part1/Main/vdisk3.img'/> <backingStore/> <target dev='hde' bus='virtio'/> <alias name='virtio-disk4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </disk> <controller type='usb' index='0'> <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='pci' index='0' model='pci-root'> <alias name='pci.0'/> </controller> <controller type='virtio-serial' index='0'> <alias name='virtio-serial0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </controller> <interface type='bridge'> <mac address='52:54:00:cc:ba:f4'/> <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 port='0'/> <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/Main.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> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x0fcf'/> <product id='0x1009'/> <address bus='5' device='2'/> </source> <alias name='hostdev0'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x1b1c'/> <product id='0x1b1b'/> <address bus='4' device='4'/> </source> <alias name='hostdev1'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x04d9'/> <product id='0x0167'/> <address bus='4' device='3'/> </source> <alias name='hostdev2'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x046d'/> <product id='0xc01e'/> <address bus='4' device='2'/> </source> <alias name='hostdev3'/> </hostdev> <memballoon model='virtio'> <alias name='balloon0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </memballoon> </devices> <qemu:commandline> <qemu:arg value='-device'/> <qemu:arg value='ioh3420,bus=pci.0,addr=1c.0,multifunction=on,port=2,chassis=1,id=root.1'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=04:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=04:00.1,bus=root.1,addr=00.1'/> </qemu:commandline> </domain>
June 3, 201610 yr I'm running the latest beta unraid with a gtx 780 passed to windows 10, gaming at 2k I get a minimum of 40fps with no issues at all with everything on medium My vm is allocated 8 cores, and 12gb memory in vm manager with hyperv enabled
June 3, 201610 yr I agree with searing, though before I started I didn't know how to start searching for it Following the CPU sticky I got the VM set up Now I'm pulling 18-21 fps Running Unraid 6.1.9 <domain type='kvm' id='1' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> <name>Main</name> <uuid>11593592-c37a-6295-c3d4-5ee1be345db3</uuid> <metadata> <vmtemplate name="Custom" icon="windows.png" os="windows"/> </metadata> <memory unit='KiB'>30932992</memory> <currentMemory unit='KiB'>30932992</currentMemory> <memoryBacking> <nosharepages/> <locked/> </memoryBacking> <vcpu placement='static'>6</vcpu> <cputune> <vcpupin vcpu='0' cpuset='2'/> <vcpupin vcpu='1' cpuset='3'/> <vcpupin vcpu='2' cpuset='4'/> <vcpupin vcpu='3' cpuset='5'/> <vcpupin vcpu='4' cpuset='6'/> <vcpupin vcpu='5' cpuset='7'/> <emulatorpin cpuset='0-1'/> </cputune> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-i440fx-2.3'>hvm</type> </os> <features> <acpi/> <apic/> </features> <cpu mode='host-passthrough'> <topology sockets='1' cores='6' threads='1'/> </cpu> <clock offset='localtime'> <timer name='rtc' tickpolicy='catchup'/> <timer name='pit' tickpolicy='delay'/> <timer name='hpet' present='no'/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/bin/qemu-system-x86_64</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source file='/mnt/cache/VMs/Main/vdisk1.img'/> <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='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source file='/mnt/disks/WDC_WD10EACS-07D6B0_WD-WCAU43599175-part1/Main/vdisk2.img'/> <backingStore/> <target dev='hdd' bus='virtio'/> <alias name='virtio-disk3'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </disk> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source file='/mnt/disks/WDC_WD10EACS-07D6B0_WD-WCAU43599175-part1/Main/vdisk3.img'/> <backingStore/> <target dev='hde' bus='virtio'/> <alias name='virtio-disk4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </disk> <controller type='usb' index='0'> <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='pci' index='0' model='pci-root'> <alias name='pci.0'/> </controller> <controller type='virtio-serial' index='0'> <alias name='virtio-serial0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </controller> <interface type='bridge'> <mac address='52:54:00:cc:ba:f4'/> <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 port='0'/> <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/Main.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> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x0fcf'/> <product id='0x1009'/> <address bus='5' device='2'/> </source> <alias name='hostdev0'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x1b1c'/> <product id='0x1b1b'/> <address bus='4' device='4'/> </source> <alias name='hostdev1'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x04d9'/> <product id='0x0167'/> <address bus='4' device='3'/> </source> <alias name='hostdev2'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x046d'/> <product id='0xc01e'/> <address bus='4' device='2'/> </source> <alias name='hostdev3'/> </hostdev> <memballoon model='virtio'> <alias name='balloon0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </memballoon> </devices> <qemu:commandline> <qemu:arg value='-device'/> <qemu:arg value='ioh3420,bus=pci.0,addr=1c.0,multifunction=on,port=2,chassis=1,id=root.1'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=04:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=04:00.1,bus=root.1,addr=00.1'/> </qemu:commandline> </domain> You need to pin your cores to how the thread pairs are. You can check this under,tools,sytem devices, CPU Thread Pairings. Where you have done <emulatorpin cpuset='0-1'/> you have pinned thread 0 from core 1 and thread 1 from core 2. I am guessing you have a 4 core cpu so you cpu would be like this 0-4 core 1 1-5 core 2 2-6 core 3 3-7 core 4 so emulatorpin should be <emulatorpin cpuset='0,4'/> then you should pin the remaining cores to the vm <cputune> <vcpupin vcpu='0' cpuset='1'/> <vcpupin vcpu='1' cpuset='2'/> <vcpupin vcpu='2' cpuset='3'/> <vcpupin vcpu='3' cpuset='5'/> <vcpupin vcpu='4' cpuset='6'/> <vcpupin vcpu='5' cpuset='7'/> <emulatorpin cpuset='0,4'/> </cputune> Also if you are putting the isocpu into your syslinux config then to isolate the 3 cores for the vm it should be append isolcpus=1,2,3,5,6,7 initrd=/bzroot Hope this helps
June 3, 201610 yr OPs post says they have a AMD FX-8350 which is an 8 core without hyper-threading, there are 4 modules and 2 cores per module. I don't know anything more but would it be safe to assume core 0 and 1 share the same module? Or did AMD go the other route with core 0 and 4 etc. Maybe there is some information about what cores unRAID likes to use on AMD CPUs somewhere that might help.
June 3, 201610 yr I used UnRAID with an AMD FX850 too, this was a misery for performance and gaming. UnRAID only delivers solid support for Intel. AMD does have virtualization functionality, they need to be supported by the motherboard though. This isn't AMD's fault, well, I bent the knee and went with a separate server, running UnRAID for the software RAID and plugins. It's still really annoying from Lime Technology to be like this without warning.
June 3, 201610 yr I used UnRAID with an AMD FX850 too, this was a misery for performance and gaming. UnRAID only delivers solid support for Intel. AMD does have virtualization functionality, they need to be supported by the motherboard though. This isn't AMD's fault, well, I bent the knee and went with a separate server, running UnRAID for the software RAID and plugins. It's still really annoying from Lime Technology to be like this without warning. Limetech doesn't author the KVM virtualization software, they just integrate it. KVM is open source, so anyone can view and work with it. The fact that AMD is not well supported by KVM isn't limetech's fault, they have no control over it.
June 4, 201610 yr Author After upgrading to the beta and pinning the CPUs, I got a glimpse, a quick glimpse of what doom should run as, only to have it pulled down to 18 fps So I'm at a crossroads Should I A) give up a dream of having only one tower be both my Rig and Unraid and buy or build a standalone system or B) I read the AMD vs intel comment and dug into it a little, should i try running my unraid system with say an i5 instead of the AMD? What say the experts? or any more ideas to try with what i have now As always thanks in advance
June 5, 201610 yr Author No, ironically, I sold it a while back I'll just get one at microcenter or newegg to try or start looking into a standalone system again Unless than any more tweaks i can try to my existing one
June 5, 201610 yr If there is nothing important on your system then upgrade to the latest beta and if not already, create the vm again using ovmf The new beta has a lot of vm enhancements and it has made a huge difference
June 5, 201610 yr If there is nothing important on your system then upgrade to the latest beta and if not already, create the vm again using ovmf The new beta has a lot of vm enhancements and it has made a huge difference yes i would definately try ovmf if you havent already. I find i get higher 3d mark scores on my ovmf vms than my seabios ones. Also as bigjme says make sure you try setting hypervisor to on. On unraid 6.19 and previous versions hypervisor will only work on off with nvidea cards and when you create the vm by default will be off. This can have a negative effect on windows vms in some situations. However on the beta versions hypervisor can be run on. However if you have upgraded from a previous version you will have to manually change this to on. Also after upgrade to beta change machine type from i440fx-2.3 to i440fx-2.5 I would also recommend running some benchmarks for both cpu and gpu. If you can run some benchmarks on bare metal. Install windows on a spare harddrive. Then boot from that instead of your usb flash drive. Run passmark cpu test and 3d mark firestrike and see what you get. Then run the same tests on your vm. Then post them back here. On both bare metal and vm update your nvidea graphics driver to newest version. --if you cant run bare metal tests 3dmark firestrike on gtx960 should be around 7000 and passmark cpu score on amd fx8350 should be around 8900 (On a side note. I have 2 profiles in my bios, one where all my harddrives are enabled for unraid boot, and another where only my windows hardrive is enabled and all unraid drives are disabled, so i cant break my array from windows when i want to compare baremetal! On my windows vm i use a 40 gig vdisk on ssd where i install the os. I then passthrough the harddrive i have windows 10 baremetal installed as a second disk for the vm. That physical disk is split 40 gigs os (where the baremetal windows is installed) then the rest of the hd a 950 gig partition used for programme and data install. So on the baremetal windows i install my games to the 950 gig data partition. Then on the vm i also install same game or programme onto the same 950 gig data partition. This way i can have the same games and programmes installed on bare metal and multiple different windows vms using the minimum of hard drive space)
June 6, 201610 yr Author Trying to rebuild a VM using the new BIOS, but hitting a tons of hiccups? Has anyone encountered when windows 10 would randomly shut down for new reason, I have already ruled out thermal and power
June 8, 201610 yr Author Sure as shooting I have a memory leak somewhere with Unraid And diving deep into the forums it seems the best way to fix it is to reinstall Unraid So I'm taking this as an opportunity I'm going to upgrade my parity drive from 3tb to 4tb preclearing twice of course (btw can i use a Vm while it's preclearing??) I'm adding a larger heat sink to the processor...just because I'll have the machine apart Blowing all my VMs completely away And I'm going to change out my cache drive from a 250 SSD + 120 SSD to two 250s Unless I should keep the 120 as good measure? This is going to be a long week! but hopefully we'll see a difference because it seems like a lot of people are decapitating hell demons as a smooth 30+fps
June 8, 201610 yr As a note, vms are leaking memory badly right now My one vm has 12gb allocated and I've seen it using up to 18gb (run htop on the server to see) In my server I have an 8gb and 12gb vm and they use around 28gb between them after a few days
June 8, 201610 yr As a note, vms are leaking memory badly right now My one vm has 12gb allocated and I've seen it using up to 18gb (run htop on the server to see) In my server I have an 8gb and 12gb vm and they use around 28gb between them after a few days What version of unraid? 6.1.9 here, and I have VM's in use daily and no sign of a leak. There is qemu memory overhead associated with managing each VM, but that does not grow uncontrollably over time, which is the definition of a leak. My VM's are stable over multiple weeks.
Archived
This topic is now archived and is closed to further replies.