PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Virtualisierter Gaming-PC


Opprobrium
2017-09-04, 15:47:29
Hey,

als eher mittelfristig Projekt (gegen Jahresende) würde ich gerne diverse DualBoot und einzelene Systeme in einem Threadripper System vereinen.

Als Basis würde ich der Einfachheit halber Ubuntu LTS nehmen, auch wenn ich eigentlich andere Linux Distros bevorzuge. Die würde ich eben virtualisieren, so weit so gut.

Womit ich mich aber nicht so gut auskenne ist Virtualisierung mit IOMMU, also direktem Zugriff auf PCI(e) Geräte durch die Virtuelle Maschine.

Von dem was ich bisher gelesen habe sollte es prinzipiell kein Problem sein, einen virtuellen Windows PC, dem dann halt ein paar CPU Kerne, eine eigene SSD sowie eine Grafikkarte direkt zugeordnet sind, zu erstellen.

In meinem Fall würde ich dann eine ältere, langsamere GPU für den eigentlichen Computer Nutzen und eine RX Vega der Windows VM zuweisen. Diese würde dann auch einen eigenen Monitor zugeordnet bekommen, bzw. einen anderen Video Eingang am gleichen Monitor.

Hat hier jemand schon Erfahrung mit sowas? Falls dadurch minimale Input Lags oder Performance Abfälle im einstelligen Prozentbereich auftreten sollten ist das kein Problem, FPS spiele ich so gut wie nicht (mehr), und schon gar nicht im Multiplayer.

Welche Virtualisierungslösung nimmt man dafür? Bis jetzt habe ich eigentlich nur mit VirtualBox gearbeitet. Reicht das, oder braucht man dann schon was kommerzielleres?

Grüße

iuno
2017-09-04, 15:58:21
Ich habe das eine Zeit lang so gemacht, dazu hatte ich auch einen Thread hier: https://www.forum-3dcenter.org/vbulletin/showthread.php?t=571136. Es ist schon eine Weile her und daher nicht mehr so da, aber die Anleitung im Arch Wiki (https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF) ist auf jeden Fall hilfreich.

Performance ist voellig ok, wenn du so viele Kerne hast sowieso. Ich habe einfach KVM (QEMU) genommen und die Grafikkarte und Festplatte wirklich komplett durchgegeben (Windows konnte ich von der Platte dann nach Belieben auch mal einfach so booten).

Mit Ryzen gab es anfangs glaube ich ein paar Probleme was IOMMU betraf (https://level1techs.com/video/ryzen-iommu-pcie-passthrough-works), da solltest du nochmal vorher schauen. KVM kennt glaube ich auch noch keinen Zen mit SMT, das sollte aber auch unproblematisch sein.

Opprobrium
2017-09-04, 16:42:04
Ich habe das eine Zeit lang so gemacht, dazu hatte ich auch einen Thread hier: https://www.forum-3dcenter.org/vbulletin/showthread.php?t=571136. Es ist schon eine Weile her und daher nicht mehr so da, aber die Anleitung im Arch Wiki (https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF) ist auf jeden Fall hilfreich.

Cool, danke schonmal. Vielleicht traue ich mich dann auch einfach mal an Arch Linux, die Wiki habe ich jedenfalls schon oft genug für andere Distors "missbraucht" das sich der Sprung lohnt :cool:


Performance ist voellig ok, wenn du so viele Kerne hast sowieso. Ich habe einfach KVM (QEMU) genommen und die Grafikkarte und Festplatte wirklich komplett durchgegeben (Windows konnte ich von der Platte dann nach Belieben auch mal einfach so booten).

KVM les ich mich mal ein, Grafik und Festplatte (und einen Netzwerkadapter) komplett durchgeben war ja ohnehin der Plan. Das sich das dann auch so booten läßt, da wär ich gar nicht drauf gekommen. Cool. Und TR hat ja wirklich luxuriös viele Kerne. Ich wollte es eigentlich erst mit meinem 4770K testen, aber der hat aus irgendeinem Grund kein VT-d :mad:

Mit Ryzen gab es anfangs glaube ich ein paar Probleme was IOMMU betraf (https://level1techs.com/video/ryzen-iommu-pcie-passthrough-works), da solltest du nochmal vorher schauen. KVM kennt glaube ich auch noch keinen Zen mit SMT, das sollte aber auch unproblematisch sein.

OK, ist ja noch Zeit. Vor Oktober/November wird das eh nichts, bis dahin stecke ich auch weiter drin in der Materie.

iuno
2017-09-04, 17:06:51
Arch ist an sich kein Muss, kann ich aber auf jeden Fall empfehlen. Bin jetzt schon lange sehr zufrieden. Haben auch hier im Forum mehrere Arch-User ;)
Ja, Intel hat die Funktionalitaet bei einigen CPUs gestrichen, das ist wirklich aergerlich.

Opprobrium
2017-09-04, 17:20:22
Arch ist an sich kein Muss, kann ich aber auf jeden Fall empfehlen. Bin jetzt schon lange sehr zufrieden. Haben auch hier im Forum mehrere Arch-User ;)

Jo, ich nutze halt aus Gewohnheit gerne Suse, auch weil da eigentlich alles was ich so brauche schon in den Standardrepos ist und sich gut über Yast installieren lässt. Wird aber natürlich nicht so breit unterstützt wie Ubuntu, vor allem auch was Hilfethreads etc. angeht

Auch mag ich Ubuntu aus irgendeinem Grund nicht, hätte es jetzt halt als "unsichtbare" Plattform für den Rest genommen.

Da aber wie gesagt die ArchWiki immer mehr zu meiner Linux Bibel wurde werde ich wohl doch Ubuntu weiterhin verpönen :biggrin:

Vor allem weil ich ja durch die Windows VM nicht auf die Linux Treiber für die RX Vega angewiesen bin (und Arch da vermutlich mit etwas Kernel Arbeit ohnehin aktueller sein würde) :smile:

Ich werd dann wohl in ein paar Wochen sagen wie es läuft :up:

Emperator
2017-09-04, 18:17:56
Nested Page Tables sind bei bei der Kombination Ryzen/KVM kaputt. (https://community.amd.com/thread/215931)Solange das nicht gefixt ist, kann man Ryzen/TR/Epic nicht für den Einsatzzweck empfehlen.

Und Vega leidet wieder am Reset-Bug (https://www.youtube.com/watch?v=cDbn98QTAbg), d.h. beim Neustart der Windows VM, verabschiedet sich die Karte mit einen "BSOD" oder "Black Screen" und man muss den Host neu starten um die Karte wiederzubeleben.

Opprobrium
2017-09-04, 18:44:34
Nested Page Tables sind bei bei der Kombination Ryzen/KVM kaputt. (https://community.amd.com/thread/215931)Solange das nicht gefixt ist, kann man Ryzen/TR/Epic nicht für den Einsatzzweck empfehlen.

Danke für den Hinweis. AMD scheint dafür keine Resourchen übrig zu haben, aber das KVM Team scheint sich nun langsam der Sache anzunehmen [URL=https://www.reddit.com/r/VFIO/comments/6ubboq/possible_fix_for_kvmamd_npt_bug/](Link) (https://www.youtube.com/watch?v=cDbn98QTAbg)

Reset Bug bei Vega mach ich mich auch mal schlau.

Danke für die Hinweise

samm
2017-10-07, 11:35:18
Wie ist das Projekt vorangekommen? Ich hätte so etwas ähnliches vorgehabt, werde nun aber ein Win-Server / Linux Dualboot System erstellen, zumindest vorläufig. Bei meinem Mainboard (Asrock Taichi x399) war IOMMU keine Option: Sobald man es aktiviert, startet kein OS mehr. Könnte sich mit kommenden Releases noch verbessern *fingers crossed*

Emperator
2017-10-07, 14:08:08
Das liegt nicht am Board, sondern ist noch ein allgemeines TR Problem, das GPU-Passthrough überhaupt nicht funktioniert.

Gibt auch ein spezielles Bugreportformular (http://www.amdsurveys.com/se.ashx?s=5A1E27D24DB2311F) seitens AMD zu dem Thema.

DR.DEATH
2017-11-08, 22:36:12
Endlich steht bei AMD auch kein Performanceeinbruch bei KVM und NPT mehr bevor. Mal gucken ob das noch mit in den 4.15er Kernel kommt. (https://patchwork.kernel.org/patch/10027523/)

Opprobrium
2017-11-09, 15:58:43
Wie ist das Projekt vorangekommen?

Wegen schlechter Vega Unterstützung und einer kaputt gegangenen ZweitKarte für das Linux System liegt das Projekt momentan auf Eis, und ich nutze ein Dual Boot System, bei dem Windows gerade das fast exklusiv gebootete System ist (eben wegen Vega)

Ich gehe davon aus, dass das mit dem 4.14 und vor allem 4.15 Kernel besser wird und Linux dann wieder zum primären OS wird. Jetzt aber mit irgendwelchen Frickellösungen die Vega unter Linux zum Laufen zu bringen wenn das dann in ein paar Wochen direkt vom Kernel gemacht wird ist mir zu blöd, und da habe ich auch gar keine Zeit dafür.

Größter Gewinn aus der Aktion ist bis jetzt der Wechsel von OpenSUSE zu Arch Linux auch auf dem Laptop, da dadurch dutzende unnötiger Programme weg sind und mehrere GB Speicherplatz frei geworden sind. Der Speicherplatz ist mir dabei relativ egal, aber das Prinzip sich nur die Programme zu holen die man braucht ist mir sehr viel lieber, als immer zu versuchen die Programme die man nicht braucht wieder runterzuwerfen. Bei der Standardinstallation von Opensuse ist schon viel dabei.

Hasenpfote
2017-11-28, 19:43:51
Problem bei GPU-Passthrough ist meiner Meinung nach, dass man einen eigenen Monitor an die durchgereichte Grafikkarte hängen muss (oder den zweiten Eingang am Monitor nutzen muss).
Daran hatte ich überhaupt nicht gedacht.

Derzeit gibt es aber Bestrebungen das Problem ebenfalls zu lösen:
https://forum.level1techs.com/t/a-little-teaser-of-what-is-to-come/121641

VMware, Oracle und Co. sehen das leider nicht als Markt und daher müssen das Privatpersonen machen

Grundkurs
2017-11-28, 22:00:55
VMware, Oracle und Co. sehen das leider nicht als Markt und daher müssen das Privatpersonen machen
Schade, ich empfand GPU-Passthrough als die spannendste Neuentwicklung in der letzten Zeit. Wenn es irgendwann möglich sein sollte, auf einem Linux System über Windows-VM ohne große Performance-Einbußen zu zocken, könnte ich mir durchaus einen Nutzerzahlen-Sprung bei Linux vorstellen.
Man nutzt das datenschutzfreundliche Linux als Grundsystem und wenn man Photoshop / andere Produktivsoftware oder Gaming braucht, startet man einfach die VM, die 2-3 Klicks mehr machen den Kohl dann auch nicht fett.
Hoffe da tut sich noch ne Menge!

clm[k1]
2017-11-29, 10:39:57
Nunja, ein zweiter Monitor sollte nicht unbedingt ein Hindernis sein.
Ich hab mir gerade erst auch ein System mit KVM + pci-passthrough aufgesetzt.

Dabei läuft der Host im Zweischirmbetrieb, wovon der größere bei Bedarf für die VM verwendet wird. Somit sehe ich immer noch was auf dem Hostsystem passiert, auch wenn ich den Hauptmonitor auf den Eingang der VM umschalte.

Problematisch sind IMO die vielen veralteten Anleitungen im Internet (die einem empfehlen "i440FX" als Chipsatz zu nehmen statt dem eigentlich sinnvolleren "q35") - sowie ggfs. beschissen gestaltete BIOS-Menüs (bis ich die Option gefunden hatte um VT-d zu aktivieren, hats etwas gedauert)

Und SPICE hat bei mir auch ein paar Probleme gemacht (Audio/Sound-Störungen, laggy input...)
Aber das über virsh zu starten ist sowieso viel einfacher, weil man sich dafür schlicht ein Desktop-Icon anlegen kann.

Dann braucht man zwar entweder eine weitere Tastatur und Maus oder Software wie Synergy um das zu sharen. Letztere kostet zwar inzwischen immer mehr Geld. Aber es gibt noch eine eingeschränkte freeware version auf source-forge: https://sourceforge.net/projects/synergy-stable-builds/files/v1.8.8-stable/

bzgl. Radeon Vega: für Ubuntu-User gibts hier nen 4.14er Kernel mit den DC-Patches: https://github.com/M-Bab/linux-kernel-amdgpu-binaries
Ist zwar suboptimal, aber immerhin ein work-around bis 4.15 draußen ist.

samm
2017-12-03, 08:56:09
Die neueren Threadripper-Agesas (>= 1.0.0.6) sollen auch die UEFI-seitigen IOMMU-Issues behoben haben. Für mich selber ist es nun irrelvant, weil ich ungeduldigerweise den oldschool-Ansatz mit Dual-Boot fahre.

iuno
2017-12-15, 02:05:07
Mglw. interessant fuer diejenigen, die mit so einem Setup experimentieren wollen: https://www.youtube.com/watch?v=okMGtwfiXMo

Gast
2017-12-15, 08:03:07
Wie sieht es aus mit GNOME Boxes
https://wiki.gnome.org/Apps/Boxes

Ganon
2017-12-15, 11:18:12
GNOME Boxes ist auch nur eine GUI für libvirt.

Prinzipiell sind das ja aktuell alles nur Workarounds. Intel hat ja schon eine Weile mit XenGT/KVMGT GPU-Virtualisierung, aber wer zockt schon ernsthaft auf Intel GPUs.
Nvidias vGPU und AMDs MxGPU machen im Kern nichts anderes, befinden sich aber hinter riesigen Paywalls.

Sich einen PC zu bauen der im Endeffekt Komponenten für 2 PCs beinhaltet ist halt auch nicht sooo der Hammer.

clm[k1]
2017-12-15, 11:48:44
Es scheint schon Bestrebungen zu geben, dass Problem mit dem zweiten Monitor zu lösen: https://www.phoronix.com/scan.php?page=news_item&px=Looking-Glass-KVM-Frame-Relay
Long story short this allows for a graphics card PCI pass-through setup with a KVM guest whereby no separate monitor is needed but rather Looking Glass is like a virtual display for that GPU dedicated to the VM and displays the VM's rendered contents on your main monitor/GPU.
Braucht aber immer noch eine zweite GPU und funzt erst mal nur mit Windows 10.

Ganon
2017-12-15, 11:52:39
Das ist das was iuno indirekt auch verlinkt hat. Problem ist halt ein konstant vorhandener Delay bei der Bildausgabe. Der ist nicht groß, aber da.

Air Force One
2017-12-15, 12:38:54
Braucht man wirklich einen Bildschirm dafür?
Gibt doch so Dummys

clm[k1]
2017-12-15, 13:16:10
Braucht man wirklich einen Bildschirm dafür?
Gibt doch so Dummys
Wie meinst du das?
Beim "klassischen" pci-passthrough brauchst du einen zweiten Monitor (oder einen Monitor, mit mehreren Eingängen zwischen denen du umschalten musst), weil irgendwo muss die Ausgabe der zweiten GraKa ja angezeigt werden.

Ganon
2017-12-15, 13:48:49
Für optimale Performance ist sogar ein zweites Set Eingabegeräte und zweite Soundkarte ideal. Alles was virtualisiert "weitergereicht" werden muss geht halt auf die Performance oder ist mehr oder weniger störanfällig.

aufkrawall
2017-12-15, 13:52:56
1000Hz Polling Rate Maus käme mir da in den Sinn.

Ganon
2017-12-15, 14:12:30
Muss gar nicht mal so abgefahrenes Zeug sein. Eine virtuelle Maus wird in der Regel über eine Art Grafik-Tablet emuliert, damit man die Maus an beliebige Positionen setzen kann. Hardware-Cursor und so Kram hast du auch nicht, Raw-Input und so Zeugs mangels Treiber vermutlich auch nicht. Keyboard ist weniger kompliziert, da im Prinzip nur die Tasten weitergeleitet werden, aber auch hier hast du noch einen Layer dazwischen. Für Controller leitest du ja in der Regel das Gerät auch einfach 1:1 an die VM durch.

Beim Sound fehlen dir vermutlich treibertechnisch schon eine Tonne Sachen, was ein "Gamer" so vielleicht will. Wie clm[k1] ja schon genannt hat, kann da auch auf jeder Ebene irgendwas kaputt gehen und du hast Audio-Probleme.

Es ist eine nette Spielerei in meinen Augen, aber imo verballert man einfach viel zu viel Geld in einen PC der das alles packt, nur um dann nicht "umbooten" zu müssen und lebt dann auch noch mit weniger Performance als möglich.

Eisenhauer
2017-12-15, 14:37:17
hi,

betreibe meinen Ryzen mit Unraid und KVM Virtualisierung. Ein kleiner Abriss:


GPU Passtrough geht mit Single Graka (1070), Unraid läuft headless weiter
Sound über Graka (HDMI) ebenfalls Passtrough
NVMe SSD läuft ebenfalls per Passtrough, Windows musste nicht neu installiert werden und könnte auch direkt gebootet werden ohne UNraid
einige USB Ports (je nach IOMMU Gruppe) lassen sich ebenfalls per Passtrough durchreichen, damit native Tastatur und Maus und Hotplug
alles was per Passtrough läuft, läuft mit den original Treibern


Alles was Druchgereicht wird ist natürlich am Host nicht mehr verfügbar bis die VM gestoppt wird.

Einrichtung bedarf hier und da manueller Befehle, ist aber insgesamt sehr leicht. Performance bei CPU Tasks nicht messbar weniger. Bei GPU max 2-3% Verlust.

Air Force One
2017-12-15, 20:57:53
Ich meinte so etwas hier .war aber damals für etwas anderes gedacht als für das Thema hier.
https://www.amazon.de/Headless-Emulator-Passform-headless-1920-60hz-3pack-2k-3p/dp/B071779MNN


Ist jetzt nur so eine Idee, ich kann mit den Thema nichts anfangen und habe das gerade nur hier kurz mitgelesen und mich an die Dinger erinnert.
Gut möglich das es gar nicht zum Thema passt.
Gab es aber auch einzeln und günstiger.

clm[k1]
2017-12-15, 22:31:06
Ich meinte so etwas hier .war aber damals für etwas anderes gedacht als für das Thema hier.
https://www.amazon.de/Headless-Emulator-Passform-headless-1920-60hz-3pack-2k-3p/dp/B071779MNN


Ist jetzt nur so eine Idee, ich kann mit den Thema nichts anfangen und habe das gerade nur hier kurz mitgelesen und mich an die Dinger erinnert.
Gut möglich das es gar nicht zum Thema passt.
Gab es aber auch einzeln und günstiger.

Das ist in etwa so, als würden man den Grafik-output direkt nach /dev/null leiten.
Nur um das noch mal klar zu stellen: der Host hat bei pci-passthrough _keinen_ Zugriff auf die durch geschleifte Hardware! Man muss sogar im bootloader das system aktiv daran hindern sich die hardware unter den Nagel zu reißen geschweigen denn gar Treiber dafür zu laden.

Wenn man die hardware-beschleunigte Ausgabe des Gastsystems nun durch so ein Token ins Nirvana schickt, dann führt man den ganzen Grund für das Setup ja ad absurdum!

Woanders kann die HW-beschleunigte Grafikausgabe des Gastsystems ja nicht raus kommen (außer vielleicht demnächst mit erwähntem looking glas - was noch zu beweisen bleibt).

Alle Klarheiten beseitigt? :wink: