cap089 Posted June 11, 2020 Share Posted June 11, 2020 Hi! Last year I already planned to build my 2-in-1 system to get my NAS (with Plex etc.) and my gaming machine in one case... Due lack of compatibility to the new Ryzen 3rd generation (R9 3900X) and the X570 chipset of my Asus Strix E-Gaming I gave up the idea to use unRAID for my usecase.... In the last weeks I tried it again and everything seems to work except for the mouse behaviour in games. I have the same FPS like on a baremetal Windows but my wireless Logitech G603 seems to be not as responsive like on a baremetal Windows. It is very frustrating and I tense up in my elbow My question is now: Does this have something to do with the Logitech wireless mouse itself or is it a CPU overhead problem or something else? (Of course the mouse is fully charged and set to performance mode in the G-Hub) At first a summary of my Windows VM: - using 8 cores (+ SMT) - assigned 20 GB RAM - passthrough my NVME SSD and backup hdd etc. - passthrough all available USB controllers except the one were the unRAID flash drive is plugged in - of course passthrough my GTX 1080 Here some notes which I have done so far: - Testing with Q35 and i440f - isolate the CPU cores which are pinned to the Windows VM - using the MSI-Utility and check every box As I am passthrough my Windows drive (NVME SSD) directly to the VM in unRAID I can dual boot and compare the results between KVM mode and baremetal... At least my XML by using Q35: <?xml version='1.0' encoding='UTF-8'?> <domain type='kvm' id='2'> <name>Windows 10 neu</name> <uuid>46730009-27da-a4bc-544c-020dbd3fadec</uuid> <metadata> <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/> </metadata> <memory unit='KiB'>20971520</memory> <currentMemory unit='KiB'>20971520</currentMemory> <memoryBacking> <nosharepages/> </memoryBacking> <vcpu placement='static'>16</vcpu> <cputune> <vcpupin vcpu='0' cpuset='4'/> <vcpupin vcpu='1' cpuset='16'/> <vcpupin vcpu='2' cpuset='5'/> <vcpupin vcpu='3' cpuset='17'/> <vcpupin vcpu='4' cpuset='6'/> <vcpupin vcpu='5' cpuset='18'/> <vcpupin vcpu='6' cpuset='7'/> <vcpupin vcpu='7' cpuset='19'/> <vcpupin vcpu='8' cpuset='8'/> <vcpupin vcpu='9' cpuset='20'/> <vcpupin vcpu='10' cpuset='9'/> <vcpupin vcpu='11' cpuset='21'/> <vcpupin vcpu='12' cpuset='10'/> <vcpupin vcpu='13' cpuset='22'/> <vcpupin vcpu='14' cpuset='11'/> <vcpupin vcpu='15' cpuset='23'/> </cputune> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-q35-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/46730009-27da-a4bc-544c-020dbd3fadec_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='8' threads='2'/> <cache mode='passthrough'/> <feature policy='require' name='topoext'/> </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='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/isos/virtio-win-0.1.173-2.iso' index='2'/> <backingStore/> <target dev='hdb' bus='sata'/> <readonly/> <alias name='sata0-0-1'/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> <disk type='block' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source dev='/dev/disk/by-id/ata-Samsung_SSD_850_EVO_1TB_S2RFNX0HA24183T' index='1'/> <backingStore/> <target dev='hdc' bus='sata'/> <alias name='sata0-0-2'/> <address type='drive' controller='0' bus='0' target='0' unit='2'/> </disk> <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='pci' index='7' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='7' port='0xe'/> <alias name='pci.7'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x6'/> </controller> <controller type='virtio-serial' index='0'> <alias name='virtio-serial0'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x00' 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> <serial type='pty'> <source path='/dev/pts/1'/> <target type='isa-serial' port='0'> <model name='isa-serial'/> </target> <alias name='serial0'/> </serial> <console type='pty' tty='/dev/pts/1'> <source path='/dev/pts/1'/> <target type='serial' port='0'/> <alias name='serial0'/> </console> <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-2-Windows 10 neu/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='0x0a' slot='0x00' function='0x0'/> </source> <alias name='hostdev0'/> <rom file='/mnt/user/domains/gtx1080.dump'/> <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x0a' slot='0x00' function='0x1'/> </source> <alias name='hostdev1'/> <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> </source> <boot order='1'/> <alias name='hostdev2'/> <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='0x05' slot='0x00' function='0x0'/> </source> <alias name='hostdev3'/> <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x07' slot='0x00' function='0x1'/> </source> <alias name='hostdev4'/> <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x07' slot='0x00' function='0x3'/> </source> <alias name='hostdev5'/> <address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/> </hostdev> <memballoon model='none'/> </devices> <seclabel type='dynamic' model='dac' relabel='yes'> <label>+0:+100</label> <imagelabel>+0:+100</imagelabel> </seclabel> </domain> Thanks in advance! Quote Link to comment
hrubak Posted June 18, 2020 Share Posted June 18, 2020 Hello, I have went through the comment and I am wondering, whether you are noticing any improvement in passing through the USB controller vs passing through the mouse itself? Also by not as responsive, are you noticing this on the desktop and out of "cpu heavy use cases" also? Quote Link to comment
cap089 Posted June 18, 2020 Author Share Posted June 18, 2020 Hi thanks for your reply. So far I did not tested it by passing through the mouse itself because this is often mentioned to cause problems.... So I just discard this option for me. On the desktop everything works fine, the problem occurs just in games. Quote Link to comment
hrubak Posted June 18, 2020 Share Posted June 18, 2020 (edited) I am running 3 gaming VMs 1 with USB controller passthrough and 2 with devices passed through (mouse and keyboard) and I have not encountered any responsiveness issue (with 3 cores +HT for each VM), so I would advise you to test both cases if you can. Passed through USB controller and also mouse only to see, whether it makes any difference. Edited June 19, 2020 by hrubak Typo Quote Link to comment
cap089 Posted June 18, 2020 Author Share Posted June 18, 2020 Ok I will test it soon. Just thought about it could be a driver issue or something else (?) But I already reinstalled the G-Hub.. Quote Link to comment
cap089 Posted June 22, 2020 Author Share Posted June 22, 2020 On 6/18/2020 at 5:48 PM, hrubak said: so I would advise you to test both cases if you can. Passed through USB controller and also mouse only to see, whether it makes any difference. Hi! So I tested it with the direct passthrough of the mouse but it seems to be even worse. Sadly with this limitation unRAID does not fit my needs... Quote Link to comment
hrubak Posted June 22, 2020 Share Posted June 22, 2020 Hello, I am sorry for this, but I am honestly out of ideas. Last resort would be to try the mouse plugged in (if that is possible), however that would kill the wireless capability.... But just as a test, it could be done quickly to see, whether that could be an issue. Maybe someone more experienced would be able to come with more information or things to try. I am still a newbie, when it comes to all the things that Unraid can do, so, sorry that I couldn't help you out here :(. Quote Link to comment
cap089 Posted June 22, 2020 Author Share Posted June 22, 2020 Hi! No problem. Thank you very much, anyway. Plugging in the mouse is not possible because its only Wireless mouse with batteries - so no way otherwise I would have tried this out. Quote Link to comment
hrubak Posted June 22, 2020 Share Posted June 22, 2020 (edited) Oh sorry, I thought that it is rechargeable with USB plugging possibility as I only had 1 wireless mouse (a4tech bloody r30) which was capable of wireless and wired operation, so I thought the Logitech could work the same way. Seems like Logitech only allows this with their G903.. Well then hopefully someone with more experience will stumble upon this thread Edited June 22, 2020 by hrubak Quote Link to comment
Recommended Posts
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.