eLpresidente Posted February 20 Share Posted February 20 (edited) Hi hat jemand hier Erfahrung gesammelt mit Zocken auf einer VM ? Ich hab immer wieder mal so Micro Ruckler drinnen.. ich hab jetzt schon folgende Dinge probiert.. keinen Shareordner (Virtiofs Mode) eingebunden, scheinbar macht das Probleme. Graka ist Durchgereicht mit angepassten BIOS auch die Soundkarte VM läuft auf einer eigenen NVME bin auf der neuesten Unraid Version 6.12.8 Maschine: hab ich jetzt auf i440fx-7.2 gestellt <-- das hat eine Verbesserung gebracht, aber immer noch nicht ganz sauber wie Baremetal. Der Bus für vdisk ist VirtIO (hab ich jetzt so gelassen, da Standard <-- hier gibts aber auch z.B. Sata) CPU Kerne hab ich nicht isoliert, würde gerne das Unraid die verwendet wenn VM nicht läuft.. ich schalte die VM tatsächlich nur ein wenn ich am TV zocken will Im Forum habe ich gesucht und bin nur auf ältere Beiträge und diesen hier gestoßen.. der Letzte Beitrag ist der wichtigste.. Hat jemand zufällig ein paar Workarounds hiervon angewendet, ich hab jetzt schon seit Tagen hier rumgemacht mit 2x Grafikkarte gewechselt und min. 20x Win neu installiert und seh den Wald vor lauter Bäumen nicht.. und bevor ich jetzt wieder wild was umstelle, frag ich hier mal nach. Oder hab ich hier einfach mal die Falsche Einstellung zum Thema GamingVM, ich denke das müsste sauber laufen wie ein normaler PC und kein Unterschied machen oder? klar statt 140 fps vielleicht nur 110 aber so diese Micro Ruckler sind nervig. anbei noch die XML falls da was drinnen falsch sein sollte: <?xml version='1.0' encoding='UTF-8'?> <domain type='kvm' id='22'> <name>Windows 11</name> <uuid>7ef27566-80ab-319f-473a-22faa2736086</uuid> <metadata> <vmtemplate xmlns="unraid" name="Windows 11" icon="windows11.png" os="windowstpm"/> </metadata> <memory unit='KiB'>20971520</memory> <currentMemory unit='KiB'>20971520</currentMemory> <memoryBacking> <nosharepages/> </memoryBacking> <vcpu placement='static'>12</vcpu> <cputune> <vcpupin vcpu='0' cpuset='0'/> <vcpupin vcpu='1' cpuset='1'/> <vcpupin vcpu='2' cpuset='2'/> <vcpupin vcpu='3' cpuset='3'/> <vcpupin vcpu='4' cpuset='4'/> <vcpupin vcpu='5' cpuset='5'/> <vcpupin vcpu='6' cpuset='6'/> <vcpupin vcpu='7' cpuset='7'/> <vcpupin vcpu='8' cpuset='8'/> <vcpupin vcpu='9' cpuset='9'/> <vcpupin vcpu='10' cpuset='10'/> <vcpupin vcpu='11' cpuset='11'/> </cputune> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-i440fx-7.2'>hvm</type> <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi-tpm.fd</loader> <nvram>/etc/libvirt/qemu/nvram/7ef27566-80ab-319f-473a-22faa2736086_VARS-pure-efi-tpm.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/game/Windows 11/vdisk1.img' index='3'/> <backingStore/> <target dev='hdc' bus='virtio'/> <serial>vdisk1</serial> <boot order='1'/> <alias name='virtio-disk2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/cache/isos/Win11_23H2_German_x64v2.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/cache/isos/virtio-win-0.1.240-1.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='pci' index='0' model='pci-root'> <alias name='pci.0'/> </controller> <controller type='sata' index='0'> <alias name='sata0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </controller> <controller type='virtio-serial' index='0'> <alias name='virtio-serial0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </controller> <controller type='usb' index='0' model='qemu-xhci' ports='15'> <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </controller> <interface type='direct' trustGuestRxFilters='yes'> <mac address='52:54:00:dc:1e:0d'/> <source dev='vhost0' mode='bridge'/> <target dev='macvtap21'/> <model type='e1000'/> <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-22-Windows 11/org.qemu.guest_agent.0'/> <target type='virtio' name='org.qemu.guest_agent.0' state='connected'/> <alias name='channel0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <input type='tablet' bus='usb'> <alias name='input0'/> <address type='usb' bus='0' port='1'/> </input> <input type='mouse' bus='ps2'> <alias name='input1'/> </input> <input type='keyboard' bus='ps2'> <alias name='input2'/> </input> <tpm model='tpm-tis'> <backend type='emulator' version='2.0' persistent_state='yes'/> <alias name='tpm0'/> </tpm> <audio id='1' type='none'/> <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/game/MSI2070 Super Ventus Gp-FIXED.rom'/> <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='0x01' slot='0x00' function='0x1'/> </source> <alias name='hostdev1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='no'> <source> <vendor id='0x045e'/> <product id='0x02e6'/> <address bus='1' device='2'/> </source> <alias name='hostdev2'/> <address type='usb' bus='0' port='2'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='no'> <source> <vendor id='0x046d'/> <product id='0x0a66'/> <address bus='1' device='5'/> </source> <alias name='hostdev3'/> <address type='usb' bus='0' port='3'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='no'> <source> <vendor id='0x046d'/> <product id='0xc52b'/> <address bus='1' device='9'/> </source> <alias name='hostdev4'/> <address type='usb' bus='0' port='4'/> </hostdev> <memballoon model='none'/> </devices> <seclabel type='dynamic' model='dac' relabel='yes'> <label>+0:+100</label> <imagelabel>+0:+100</imagelabel> </seclabel> </domain> Edited February 21 by eLpresidente XML eingefügt + besser beschrieben Quote Link to comment
alturismo Posted February 21 Share Posted February 21 4 hours ago, eLpresidente said: Hi hat jemand hier Erfahrung gesammelt mit Zocken auf einer VM ? yep 4 hours ago, eLpresidente said: Ich hab immer wieder mal so Micro Ruckler drinnen.. ich glücklicherweise nicht ich spiels aber auch keine Ego Shooter oder so letzte Spiele waren persönlich Alan Wake 2, aktuell spielt mein Frauchen Balduars Gate 3, alles 4k 60+ VRR wenn BG jetz Issues hätte würde mein Frauchen mir das sicher sagen ... bzw. anweisen "stell das ab" mein setup sieht allerdings auch anders aus - vdisk image virtio - q35 - isolierte Cores (das war hier der Gewinner, spürbar) - ein paar Anpassungen an der xml - emulator pin (einlesen, spürbar) - zusätzlich featureset und clock settings (einlesen, war aber nicht so spürbar ...) - PCIe passthrough separater USB Controller und ... keine powertop, Stromsparmechanismen am Server ... wenn ich mich recht erinnere ... sieht das bei dir anders aus 5 hours ago, eLpresidente said: , ich denke das müsste sauber laufen wie ein normaler PC und kein Unterschied machen oder? klar statt 140 fps vielleicht nur 110 aber so diese Micro Ruckler sind nervig. naja, ganz baremetal hast du nicht da ja darunter ein Host OS läuft, aber die Ruckler sind sicherlich nicht nice ... man kann sagen 5 - 10 % Verlust, je nach Setup ... bei AMD sind Mikroruckler meist normal (leider). wie gesagt, in Summe hatte ich anfangs (2017 oder so) auch ab und an leichte Ruckler, waren aber mit CPU Isolation setup Geschichte (hier zumindest), war auch der Grund für mich damals auf Unraid zu setzen. Pauschal hängt halt viel vom lokalen setup ab, bei meinem Schwager lief es auch perfekt so und der ist CS Gamer. Und falls doch noch aktiv, Stromsparmechanismen und Gaming ... naja Quote Link to comment
eLpresidente Posted February 21 Author Share Posted February 21 3 hours ago, alturismo said: letzte Spiele waren persönlich Alan Wake 2, aktuell spielt mein Frauchen Balduars Gate 3, alles 4k 60+ VRR ja gut Ego Shooter würde ich auch nicht über ne VM Spielen, ich hab die Microruckler auch immer in Verbindung mit Soundabbrüchen, ich glaub wenn der Sound nicht haken würde, wäre es garnicht so auffällig.. Quote 1. vdisk image virtio 2. q35 3. isolierte Cores (das war hier der Gewinner, spürbar) 4. emulator pin (einlesen, spürbar) 5. zusätzlich featureset und clock settings (einlesen, war aber nicht so spürbar ...) 6. PCIe passthrough separater USB Controller 7. Stromsparmechanismen Kurze Fragen/Rückmeldungen zu oben. 1. Ist bei mir auch so, lass ich erstmal 2. Ist das deine Maschine ? also wo ich 7.2 drinnen habe? 3. Probiere ich jetzt mal als Nächstes 4. Hab ich in dem oben beigefügten Thread gelesen, Wenn ich es richtig verstanden habe muss ich ein Kern isolieren (also nur einen für ihn alleine) und es diesem Emulator PIN in der XML zuweisen oder? 5. da Stand auch was im beigefügten Thread, würde ich probieren wenn die anderen Dinge keine Abhilfe schaffen 6. Okey das sollte jetzt nicht ausschlaggebend sein für meine Microhänger 7. Gut die muss ich tatsächlich ausschalten, du hast recht ich war der Schwabe mit dem Stromsparthema Zu dem Punkt vielleicht eine Frage: Ich hab mir ne 2070 eingebaut, die braucht im idle gefühlt 40-50 Watt, wieviel ziehen den deine? Da kann man auch nichts machen oder? ich dachte immer wenn die VM aus ist, braucht die Graka auch kein / kaum Strom, da Sie durchgereicht ist. Wenn da nichts zu machen ist, kann ich gleich aufhören 80W 24/7 ist mir dann doch etwas zuviel.. vorallem da ich ein Brief von meinem EVU bekommen habe das die Kw/h jetzt 42 Cent kosten soll Danke mal wieder für deine Hilfe Quote Link to comment
alturismo Posted February 21 Share Posted February 21 1 hour ago, eLpresidente said: 2. Ist das deine Maschine ? also wo ich 7.2 drinnen habe? was meinst du ? q35 ... wenn, dann ja, mashine type (q35 ist uefi, i4400 ist legacy) 1 hour ago, eLpresidente said: 4. Hab ich in dem oben beigefügten Thread gelesen, Wenn ich es richtig verstanden habe muss ich ein Kern isolieren (also nur einen für ihn alleine) und es diesem Emulator PIN in der XML zuweisen oder? Nein ich isoliere Kerne welche ich dann exklusiv der VM gebe, aber nie 0 !!! der sollte bei Linux immer dem Host gelassen werden. in meinem Beispiel, schau dir das Thema "Strom sparen Anätze" an ... ich meine da sind screens wie ich da ran gehe emulatorpin ist dann außerhalb der VM Kerne auf dem Host zugewiesen ... einfach einlesen, gibt es auch einen Thread im VM Bereich ... VM Performance ... emulator pin 1 hour ago, eLpresidente said: 6. Okey das sollte jetzt nicht ausschlaggebend sein für meine Microhänger nicht "unterbewerten ..." 1 hour ago, eLpresidente said: 7. Gut die muss ich tatsächlich ausschalten, du hast recht ich war der Schwabe mit dem Stromsparthema Zu dem Punkt vielleicht eine Frage: Ich hab mir ne 2070 eingebaut, die braucht im idle gefühlt 40-50 Watt, wieviel ziehen den deine? Da kann man auch nichts machen oder? ich dachte immer wenn die VM aus ist, braucht die Graka auch kein / kaum Strom, da Sie durchgereicht ist. Wenn da nichts zu machen ist, kann ich gleich aufhören 80W 24/7 ist mir dann doch etwas zuviel.. vorallem da ich ein Brief von meinem EVU bekommen habe das die Kw/h jetzt 42 Cent kosten soll naja, auch dazu siehe meinen Thread "Strom sparen Ansätze ..." lass aber das Thema CPU ACPI pstate mal außen vor, nur die nvidia persistenced Themen sind dafür interessant, ne Karte in den "sleep" schicken wenn nicht in use ... braucht zwar immer noch etwas Strom, aber nicht soviel wie "normal" Beispiel Quote Link to comment
Thorsten Posted February 21 Share Posted February 21 29 minutes ago, alturismo said: Interessantes Thema. Ich nutze schon sehr lange eine Windows 10 VM als Gaming PC bisher läuft alles sehr performant. Wobei ich sagen muss das ich nicht jede FPS hinterher jage. 1. Ich nutzte noch einen 60Hz Monitor 🙂 2. Mein Internet ist nicht immer stabil - Laut Router Statistic finden viele Fehlerkorekturen statt. Was ist das obrige Bild für ein Monitoring ? Quote Link to comment
eLpresidente Posted February 21 Author Share Posted February 21 (edited) 2 hours ago, alturismo said: naja, auch dazu siehe meinen Thread "Strom sparen Ansätze ..." lass aber das Thema CPU ACPI pstate mal außen vor, nur die nvidia persistenced Themen sind dafür interessant, ne Karte in den "sleep" schicken wenn nicht in use ... braucht zwar immer noch etwas Strom, aber nicht soviel wie "normal" dann fange ich tatsächlich damit an, weil 80 Watt 24/7 kann ich das ding nicht laufen lassen. kurz, da ich auf arbeit bin und nicht alles durchlesen kann.. du sprichst von diesem Thread oder? Strom sparen ansätze den Rest probiere ich erstmal selber wie oben beschrieben von dir durch.. Quote ich isoliere Kerne welche ich dann exklusiv der VM gebe, aber nie 0 !!! der sollte bei Linux immer dem Host gelassen werden. Okey das hab ich falsch gemacht, ich dachte die E-Cores reichen aus.. ich Pinn dann mal eben 4 von 6 P Cores inkl. ihr HT teil auf die VM (also 0 und 1 lass ich für unraid + E Cores) Quote was meinst du ? q35 ... wenn, dann ja, mashine type (q35 ist uefi, i4400 ist legacy) ja genau das hab ich gemeint.. ich probier es auch mal mit UEFI q35.. Edited February 21 by eLpresidente Quote Link to comment
Solution alturismo Posted February 21 Solution Share Posted February 21 5 hours ago, eLpresidente said: Okey das hab ich falsch gemacht, ich dachte die E-Cores reichen aus.. ich Pinn dann mal eben 4 von 6 P Cores inkl. ihr HT teil auf die VM (also 0 und 1 lass ich für unraid + E Cores) mal als Anhlatspunkt, Frauchen ist ja gerade am spielen während dem Gaming hast du (je nach Game und aktueller Last) schon ne andere Leistungsaufnahme ... das nur am Rand erwähnt. ist gerade während einer Sequenz ... 7 hours ago, Thorsten said: Was ist das obrige Bild für ein Monitoring ? nur zur Info, Dashboard ist HA, Sensoren sind selbst gemacht, Mix aus Unraid onboard, HW Monitor auf dem Client, MSI mit ... in json gepackt, als Sensoren bereitgestellt für HA und eingebunden, keine plug & play Lösung ... @eLpresidente Thema Pinning Unten siehst du meine generelle Isolierung, oben die Zuweisung der VM's _Media ist die Gaming VM ... die läuft an sich nur in isolierten Kernen. die andere ist der Desktop PC (Server == auch Desktop PC bei bedarf mit eigener GPU), der braucht nicht soviel ... CPU Last verteilt sich so wie folgt Emulator Pin liegt auf einem der laufenden Unraid Cores Spiele liegen auf einer separaten vdisk, nur dass ich die besser skalieren kann Thema dGPU's und persistence mode ... ich nutze dafür hook scripts, ist in dem genannten Link eigentlich gut erklärt, Achtung !!! geht NUR ohne vfio Binding's ... ### ACHTUNG ### kann zu Server Crashs führen wenn falsch konfiguriert und / oder parallele Zugriffe stattfinden und / oder VM falsch gestartet wird ### ACHTUNG ### EINLESEN !!! Das Thema mit ondemand, powersave, ... (acpi cpu) oder performance und powersave (pstate) mal links liegen lassen, das hat sich mittlerweile bis auf ~1-2 W erledigt mit den neueren Kernels ... Dann hab ich hier noch ein paar Anpassungen gemacht, aber dazu bitte einlesen ob und wie du das bei dir umsetzen willst .... ich erkläre jetzt hier nicht die komplette qemu Saga ... aber kvm / qemu kann halt noch einiges mehr was nicht in der webui ist, wenn man hart auf hart gehen will ... damit hast du bereits genug Material um vorwärts zu kommen. Meiner Erfahrung nach ist der große Hebel sauberes Pinning im Gaming Bereich ... ohne kommt man immer in die Mikroruckler Kiste rein, auch wenn oft gesagt wird man sollte alles Unraid überlassen, sehe ich persönlich meiner Erfahrung nach hierfür etwas anders testen und selbst entscheiden ist ja meine Devise daher halte ich mich hier normal auch gerne zurück. 1 1 Quote Link to comment
alturismo Posted February 21 Share Posted February 21 9 hours ago, eLpresidente said: 7. Gut die muss ich tatsächlich ausschalten, du hast recht ich war der Schwabe mit dem Stromsparthema Zu dem Punkt vielleicht eine Frage: Ich hab mir ne 2070 eingebaut, die braucht im idle gefühlt 40-50 Watt, wieviel ziehen den deine? Da kann man auch nichts machen oder? ich dachte immer wenn die VM aus ist, braucht die Graka auch kein / kaum Strom, da Sie durchgereicht ist. Wenn da nichts zu machen ist, kann ich gleich aufhören 80W 24/7 ist mir dann doch etwas zuviel.. vorallem da ich ein Brief von meinem EVU bekommen habe das die Kw/h jetzt 42 Cent kosten soll um das Thema etwas runder zu machen ... und auf deine PN Anfrage @eLpresidente, Danke aber Nein, mache ich nicht, alles nur zum Spaß hier und freut mich dass die VM jetzt lag frei läuft mit Isolation Voraussetzungen dass ich Nvidia Karten im Idle wenn Sie nicht in Nutzung sind etwas stromsparender bekomme 1/ KEIN VFIO bind ... ist zwingend notwendig um das umzusetzen, geht wenn dann nur wenn das System ne iGPU hat und nutzt - VM aufsetzen mit der/n NV Karte/n - VFIO binds raus, Unraid neu starten - VM's mal starten, stoppen, starten ... schauen ob das ohne VFIO bind alles läuft wie es soll - dazwischen auch mal Docker laufen lassen wo ggf. auf Hardware zugreifen wie Plex und co und prüfen dass diese NICHT Nvidia nutzen - dann kann man weiter machen ... 2/ VM aus 3/ in der Konsole mal folgenden Befehl ausführen nvidia-smi -i 0 -pm 1 & - damit setzen wir die GPU in den höchsten Ruhezustand ... dauert ein paar Sekunden ... - -i 0 == erste GPU, -i 1 == zweite GPU, usw usw ... mit nvidia-smi bekomme ich die ID angezeigt, bei einer ist es immer 0 - wenn erfolgreich (Ergebnis ok) können wir weiter machen 4/ in der Konsole mal folgenden Befehl ausführen nvidia-smi -i 0 -pm 0 & - damit heben wir den Ruhezustand .auf .. dauert ein paar Sekunden ... 5/ VM starten ob noch alles geht, ruhig das Spiel mehrmals wiederholen um zu schauen das alles stabil bleibt ... 6/ Automatisierung einrichten, wir wollen ja dass dies bei VM Start / Stop automatisch passiert und wir nicht jedesmal händisch ... - hook scripts qemu sind hierfür das Mittel der Wahl - diese sollten jedoch besser externe Scripts ausführen und nicht nativ alles beinhalten - Beispiel siehe Anlagen für meine Gaming VM, führt bei Start und bei Stop jeweils separate scripts aus Hier beispielsweise Inhalt des hook_scripts root@AlsServer:~# cat /etc/libvirt/hooks/qemu.d/hook_scripts #!/bin/bash if [ $1 = "AlsPC_Media" -a $2 = "prepare" -a $3 = "begin" ]; then /mnt/cache/system/hook_scripts/alspc_media_start.sh & /usr/local/emhttp/webGui/scripts/notify -e "Unraid Server Notice" -s "VM Info, "$1", "$2", "$3"" -i "normal" & elif [ $1 = "AlsPC_Media" -a $2 = "release" -a $3 = "end" ]; then /mnt/cache/system/hook_scripts/alspc_media_stop.sh & /usr/local/emhttp/webGui/scripts/notify -e "Unraid Server Notice" -s "VM Info, "$1", "$2", "$3"" -i "normal" & fi exit 0; Beispiel des Start scripts (muss natürlich +x gesetzt sein) #!/bin/bash nvidia-smi -i 0 -pm 0 & sleep 1 exit 0; Beispiel des Stop scripts (muss natürlich +x gesetzt sein) #!/bin/bash nvidia-smi -i 0 -pm 1 & sleep 1 exit 0; sprich, beim Start der VM AlsPC_Media (VM_Name case sensitiv) wird der mode off gesetzt, beim Ausschalten wieder aktiv gesetzt. Das sollte jetzt reichen ich kann das natürlich erweitern mit mehreren VM's wie hier, siehe Anhang meines hook_scripts ... habe das oben nur gekürzt, einfach erweitern und für jeden Vorgang ein separates script erstellen ... 1 1 Quote Link to comment
eLpresidente Posted February 21 Author Share Posted February 21 (edited) Quote Meiner Erfahrung nach ist der große Hebel sauberes Pinning im Gaming Bereich Du hast recht, so ist es auch.. jetzt läuft es schon viel besser, keine Ruckler mehr im Sound und auch visuell spürbar kaum noch. Quote Spiele liegen auf einer separaten vdisk, nur dass ich die besser skalieren kann Das mach ich beim nächsten Installieren auch Quote ### ACHTUNG ### kann zu Server Crashs führen wenn falsch konfiguriert und / oder parallele Zugriffe stattfinden und / oder VM falsch gestartet wird ### ACHTUNG ### EINLESEN !!! Das hab ich schnell gemerkt, hab den Server paar mal Abgeschossen und habs nicht hinbekommen, deswegen die PM an dich. Ich will dich aber hier im Forum auch nicht weiter nerven damit.. hab aufjeden fall es nach deiner Anleitung gemacht.. die ersten Male ist der Server gecrashed.. die anderen Male hat er gesagt der PCI Bus passt nicht zu iqmmu oder sowas.. hab dann versucht das mit dem Video von Spaceinvader hinzubiegen.. hab ich auch verstanden nur muss ich 4 Sachen zusammen binden und bei den letzten 2 Steig ich aus.. weiß nicht wo ich das was einstellen müsste in der XML Device 01:00.0 und 01:00.1 war mir verständlich (zumindest denk ich das ) Edited February 21 by eLpresidente Anpassung da Überschneidungen Quote Link to comment
eLpresidente Posted February 21 Author Share Posted February 21 8 minutes ago, alturismo said: um das Thema etwas runder zu machen ... und auf deine PN Anfrage @eLpresidente, Danke aber Nein, mache ich nicht, alles nur zum Spaß hier und freut mich dass die VM jetzt lag frei läuft mit Isolation Voraussetzungen dass ich Nvidia Karten im Idle wenn Sie nicht in Nutzung sind etwas stromsparender bekomme 1/ KEIN VFIO bind ... ist zwingend notwendig um das umzusetzen, geht wenn dann nur wenn das System ne iGPU hat und nutzt - VM aufsetzen mit der/n NV Karte/n - VFIO binds raus, Unraid neu starten - VM's mal starten, stoppen, starten ... schauen ob das ohne VFIO bind alles läuft wie es soll - dazwischen auch mal Docker laufen lassen wo ggf. auf Hardware zugreifen wie Plex und co und prüfen dass diese NICHT Nvidia nutzen - dann kann man weiter machen ... 2/ VM aus 3/ in der Konsole mal folgenden Befehl ausführen nvidia-smi -i 0 -pm 1 & - damit setzen wir die GPU in den höchsten Ruhezustand ... dauert ein paar Sekunden ... - -i 0 == erste GPU, -i 1 == zweite GPU, usw usw ... mit nvidia-smi bekomme ich die ID angezeigt, bei einer ist es immer 0 - wenn erfolgreich (Ergebnis ok) können wir weiter machen 4/ in der Konsole mal folgenden Befehl ausführen nvidia-smi -i 0 -pm 0 & - damit heben wir den Ruhezustand .auf .. dauert ein paar Sekunden ... 5/ VM starten ob noch alles geht, ruhig das Spiel mehrmals wiederholen um zu schauen das alles stabil bleibt ... 6/ Automatisierung einrichten, wir wollen ja dass dies bei VM Start / Stop automatisch passiert und wir nicht jedesmal händisch ... - hook scripts qemu sind hierfür das Mittel der Wahl - diese sollten jedoch besser externe Scripts ausführen und nicht nativ alles beinhalten - Beispiel siehe Anlagen für meine Gaming VM, führt bei Start und bei Stop jeweils separate scripts aus Hier beispielsweise Inhalt des hook_scripts root@AlsServer:~# cat /etc/libvirt/hooks/qemu.d/hook_scripts #!/bin/bash if [ $1 = "AlsPC_Media" -a $2 = "prepare" -a $3 = "begin" ]; then /mnt/cache/system/hook_scripts/alspc_media_start.sh & /usr/local/emhttp/webGui/scripts/notify -e "Unraid Server Notice" -s "VM Info, "$1", "$2", "$3"" -i "normal" & elif [ $1 = "AlsPC_Media" -a $2 = "release" -a $3 = "end" ]; then /mnt/cache/system/hook_scripts/alspc_media_stop.sh & /usr/local/emhttp/webGui/scripts/notify -e "Unraid Server Notice" -s "VM Info, "$1", "$2", "$3"" -i "normal" & fi exit 0; Beispiel des Start scripts (muss natürlich +x gesetzt sein) #!/bin/bash nvidia-smi -i 0 -pm 0 & sleep 1 exit 0; Beispiel des Stop scripts (muss natürlich +x gesetzt sein) #!/bin/bash nvidia-smi -i 0 -pm 1 & sleep 1 exit 0; sprich, beim Start der VM AlsPC_Media (VM_Name case sensitiv) wird der mode off gesetzt, beim Ausschalten wieder aktiv gesetzt. Das sollte jetzt reichen ich kann das natürlich erweitern mit mehreren VM's wie hier, siehe Anhang meines hook_scripts ... habe das oben nur gekürzt, einfach erweitern und für jeden Vorgang ein separates script erstellen ... Boah Nice, Danke ! damit setzt ich mich dann jetzt mal auseinander.. kann ein paar Tage dauern Danke für deine Hilfe "zum wohlwollen der Gemeinschaft" Quote Link to comment
alturismo Posted February 21 Share Posted February 21 2 minutes ago, eLpresidente said: hab ich auch verstanden nur muss ich 4 Sachen zusammen binden und bei den letzten 2 Steig ich aus.. weiß nicht wo ich das was einstellen müsste in der XML Device 01:00.0 und 01:00.1 war mir verständlich (zumindest denk ich das ) alle Haken da raus ... Video, Audio, USB Controller (x2) ... das geht NUR ohne VFiO bindings ... die Karte RTX20.. hat ja noch nen USB Controller siehe Quote Link to comment
alturismo Posted February 21 Share Posted February 21 5 minutes ago, eLpresidente said: Du hast recht, so ist es auch.. jetzt läuft es schon viel besser, keine Ruckler mehr im Sound und auch visuell spürbar kaum noch. zum guten Schluss, gerade Thema Audio und Win VM's ... noch 2 Dinge 1/ multifunction einrichten (einlesen, gibt es genug Infos dazu, Video und Audio auf einen slot setzen) 2/ MSI Fix ... ich hänge mal die Datei hier an bei Gelegenheit, Audio MSI Fix aktivieren, hilft auch bei Linux VM's ein muss per cmdline ... ich setze den Thread dann als gelöst an zum Thema LAG ... Quote Link to comment
eLpresidente Posted February 21 Author Share Posted February 21 1 minute ago, alturismo said: ich setze den Thread dann als gelöst an zum Thema LAG ... ja Thema LAG hat sich erledigt, können wir hier trotzdem weiter schreiben zum Thema Sparen? oder soll ich in deinem Thread weiter schreiben? Quote Link to comment
eLpresidente Posted February 21 Author Share Posted February 21 (edited) 21 minutes ago, alturismo said: 1/ multifunction einrichten (einlesen, gibt es genug Infos dazu, Video und Audio auf einen slot setzen) 2/ MSI Fix ... ich hänge mal die Datei hier an bei Gelegenheit, Audio MSI Fix aktivieren, hilft auch bei Linux VM's ein muss per cmdline ... 1. Bindung aufgehoben <-- erledigt, neugestartet.. 2. Nvidia Treiber installiert aus CA, VM + Docker in Settings ausgeschaltet und wieder eingeschaltet 3. NVIDIA Treiber gecheckt, sieht gut aus für mich 4. in der VM die Grafikkarte und Soundkarte durchgereicht, bzw. der VM zugeordnet.. 5. Fehlermeldung 6. Anpassungsversuche in der XML Angepasste Version: Aber trotzdem wieder die Fehlermeldung.. Siehst du meinen Fehler? Edited February 21 by eLpresidente bild entfernt Quote Link to comment
alturismo Posted February 21 Share Posted February 21 32 minutes ago, eLpresidente said: Siehst du meinen Fehler? wahrscheinlich ja, aber heute nicht mehr und morgen nicht gleich ... du wirst noch die USB Devices mit durchreichen müssen zur VM (wo an der GPU hängen), normal per manuellen Eintrag. lass mal multifunction "auf die Schnelle" sein und lies dich dazu clean ein ist ja nicht "elementar" sondern mehr "tweaking" ... Quote Link to comment
eLpresidente Posted February 21 Author Share Posted February 21 9 minutes ago, alturismo said: wahrscheinlich ja, aber heute nicht mehr und morgen nicht gleich ... du wirst noch die USB Devices mit durchreichen müssen zur VM (wo an der GPU hängen), normal per manuellen Eintrag. lass mal multifunction "auf die Schnelle" sein und lies dich dazu clean ein ist ja nicht "elementar" sondern mehr "tweaking" ... Kein Stress.. reicht auch die Tage, du hast heute schon genug für mich in die Tasten getippt Ja das hab ich ja vorher gemeint, ich muss noch die 2 anderen Dinge durchreichen, nur kein Schimmer wie Quote Link to comment
alturismo Posted February 22 Share Posted February 22 ### Nachtrag ### bei RTX 20xx Karten hängt ja noch ein zusätzlicher separater USB Controller mit an der Karte. ohne VFIO bind startet somit wie oben angezeigt die VM nicht (hatte ich nicht mehr dran gedacht) um dies zu "umkurven" und trotzdem ohne VFIO binds die VM inkl. RTX 20xx zum Laufen zu kriegen noch folgendes in der VM xml ergänzen, je nach Bus ... in dem oben gezeigten Beispiel (Danke @eLpresidente fürs testen) bei einer i44 Maschine (bus x01 function x2 bzw function x3) <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x01' slot='0x00' function='0x2'/> </source> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x01' slot='0x00' function='0x3'/> </source> </hostdev> bei einer q35 Maschine (bus x01 function x2 bzw function x3) <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x01' slot='0x00' function='0x2'/> </source> <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='0x3'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/> </hostdev> damit startet die VM auch ohne VFIO bindings und man kann weiter machen ... Quote Link to comment
Augustiner Posted April 4 Share Posted April 4 Hallo, danke an die Beiträge hier im Thread, das richtige CPU Pinning hat bei mir das ruckeln im HTPC abgestellt mit der Wiedergabe über MPC-HC / MADVR. Gruß Andi 2 1 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.