Gaming Windows virtualisieren

So schwer ist das Durchreichen der Grafikkarte auch wieder nicht.

Hier ein Beispiel unter Fedora mit KVM. Welches ich Virtualbox auf jeden Fall vorziehen würde.

Das Einrichten macht man ja auch nur einmal und dann ist gut für die nächsten Jahre.

Wenn man sich etwas Mühe gibt kann man auch die Windows VM später direkt booten. Dazu gibt es hier ein paar Tips. Besonders der XML Teil ist wichtig - korrekte uuid.

Offtopic: hier wird zum Teil vollmundig behauptet, dass das nicht funktioniert. Da würde mich mal interessieren auf welcher Grundlage diese Behauptungen gemacht wurden? Meiner Meinung nach sind diese falsch und irreführend.
 
  • Gefällt mir
Reaktionen: drake23 und ZuseZ3
ZuseZ3 schrieb:
Damit meine ich einen dedizierten Host und sowohl mein Linux, als auch mein Windows, zu virtualisieren.
Und was soll das bringen? Dann führst du die Modifkationen ja trotzdem exakt genauso aus. Macht es nur umständlicher.
jb_alvarado schrieb:
hier wird zum Teil vollmundig behauptet, dass das nicht funktioniert. Da würde mich mal interessieren auf welcher Grundlage diese Behauptungen gemacht wurden?
Unwissenheit, was sonst? Hat halt noch nicht jeder von PCIe Passthrough gehört.
 
  • Gefällt mir
Reaktionen: ZuseZ3 und jb_alvarado
jb_alvarado schrieb:
Das Einrichten macht man ja auch nur einmal und dann ist gut für die nächsten Jahre.
Wie gesagt, ich ziehe in Erwägung den Host auszuwechseln, da mir die Richtung von Ubuntu (mate) nicht gefällt. Dann sinds nur noch 6 Monate und nicht ein paar Jahre. Dazu bastel ich auch gerne mal am System rum und da ist es angenehm, wenn ich es einfach und schnell neu aufsetzen kann. Backups mache ich bisher nur von Daten.

Aber wie auch immer, dein Beispiel ist ja super simpel. Nur der Wayland/X11 Teil verwundert mich, was spricht gegen die Nutzung mit Wayland, ist dir das zufällig bekannt @jb_alvarado ?
Ergänzung ()

burglar225 schrieb:
Und was soll das bringen? Dann führst du die Modifkationen ja trotzdem exakt genauso aus. Macht es nur umständlicher.
Wie gesagt, ich kann dann nach belieben mein Linux durchrotieren und muss nicht erst noch mein Windows mit-fixen.
 
ZuseZ3 schrieb:
Wie gesagt, ich ziehe in Erwägung den Host auszuwechseln, da mir die Richtung von Ubuntu (mate) nicht gefällt. Dann sinds nur noch 6 Monate und nicht ein paar Jahre. Dazu bastel ich auch gerne mal am System rum und da ist es angenehm, wenn ich es einfach und schnell neu aufsetzen kann. Backups mache ich bisher nur von Daten.
Verstehe. Na vielleicht kannst dich ja schon vorher entscheiden welches neue Linux es sein soll 🙂. Wobei das Blacklisten und die Bootparameter setzen ja auch schnell gemacht sind. Falls Windows eine eigne Platte bekommt würde ich dann nur drauf achten, das die beim Wechsel des Hostsystems draußen ist. Sonst hast du unter Umständen dort später einen Linux Bootloader drauf.

Die XML von der VM sollte natürlich auch gesichert werden.

ZuseZ3 schrieb:
Nur der Wayland/X11 Teil verwundert mich, was spricht gegen die Nutzung mit Wayland
Gegen Wayland spricht nur, wenn man Barrier einsetzen möchte. Das unterstützt momentan leider nur X11. Barrier ist halt cool, wenn man Linux auf einem Bildschirm hat und Windows auf dem Zweiten - dann kannst mit Maus und Tastatur beide Systeme gleichzeitig bedienen, so als wäre es ein Betriebsystem mit zwei Bildschirmen.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: ZuseZ3
jb_alvarado schrieb:
Wobei das Blacklisten und die Bootparameter setzen ja auch schnell gemacht sind.
Eben, nachdem hier alle meinten das geht nicht / wird nix, habe ich eine deutlich komplexere Anleitung erwartet als das, was du da gepostet hast. Man muss natürlich am Ende schauen wie einfach es in der Realität läuft, aber so schwer sollte das dann ja hoffentlich nicht werden.
jb_alvarado schrieb:
Falls Windows eine eigne Platte bekommt würde ich dann nur drauf achten, das die beim Wechsel des Hostsystems draußen ist. Sonst hast du unter Umständen dort später einen Linux Bootloader drauf.
Urgh, ich dachte nur Windows macht so nen Unfug?

jb_alvarado schrieb:
Gegen Wayland spricht nur, wenn man Barrier einsetzen möchte. Das unterstützt momentan leider nur X11. Barrier ist halt cool, wenn man Linux auf einem Bildschirm hat und Windows auf dem Zweiten - dann kannst mit Maus und Tastatur beide Systeme gleichzeitig bedienen, so als wäre es ein Betriebsystem mit zwei Bildschirmen.
1. Interessant, zitiert wird die aktuelle Version von deinem Beitrag, auch wenn mir hier im Thread noch die erste Version angezeigt wird.
2. Danke, interessanter Grund. Ich hoffe mal, dass Wayland endlich alles wichtige abdeckt, wobei es aufgrund seines Ansatzes ja wohl schwer wird alles von X11 abzudecken. Aber ich werde beim zocken wohl nur selten
noch nebenbei programmieren, von daher ist das für mich immerhin nicht so wichtig :D

Vielen Dank auf jeden fall, hilft mir schonmal sehr.
 
ZuseZ3 schrieb:
Man muss natürlich am Ende schauen wie einfach es in der Realität läuft, aber so schwer sollte das dann ja hoffentlich nicht werden.
Klar kann immer mal was blödes reinfunken, was nicht vorhersehbar war. In den Linuxforen bekommt man da aber in der Regel gute Hilfe, wenn man wirklich selbst nicht mehr weiter kommt.
Bei einem frischen Aufsetzen ist es auch nicht schlimm wenn man mehrere Anläufe braucht 🙂.

ZuseZ3 schrieb:
Urgh, ich dachte nur Windows macht so nen Unfug?
Das müsste man noch mal verifizieren. Je nach Distribution wird man bei der Installation gefragt wo man den Bootloader installieren möchte.
 
  • Gefällt mir
Reaktionen: ZuseZ3
jb_alvarado schrieb:
Bei einem frischen Aufsetzen ist es auch nicht schlimm wenn man mehrere Anläufe braucht 🙂.
Hatte eh schon vor längerem angefangen mir ein setup script zu basteln für meine linux installation.
Wird wohl endlich mal Zeit dafür.

jb_alvarado schrieb:
Das müsste man noch mal verifizieren. Je nach Distribution wird man bei der Installation gefragt wo man den Bootloader installieren möchte.
Eben, sowas hätte ich, erst recht von nem Arch, auch erwartet. Naja, wird schon passen.
 
Habe selbst eine Windows VM am laufen mit PCIe-Passtrough unter Unraid (->Betriebssystem (Unraid)<-) welches am PC Headless läuft.
Den Vorteil darin sehe ich, das ich auch per iSCSI mehrere Platten aus dem Pool durchschleife und darauf alle Downloads, Games und anderen Stuff speichere, damit gibt es die selbe Ordnerstruktur in allen VM´s.
Auch der Unraid Unterbau ist dann nicht umsonst, da du Unraid auch total easy als NAS verwendest und es vollständig per WebIf steuerbar ist.

kleinere Änderungen sind da schon zu machen welche aber in 2 Minuten erledigt sind.

Anleitung:

den richtig emulierten Chipsatz verwenden:

1633210355419.png



Anpassungen in den Unraid Configs (damit Unraid Headless läuft): -> Somit kannst du z.B. die iGPU in der Linux VM verwenden und die stärkere GPU in deiner Gaming VM

/boot/config/go

1633209004370.png


KVM-xml (in der erweiterten Ansicht editierbar)

1633209344273.png


Erklärung:
multifunction gibt an das an dieser Busadresse mehrere Geräte bereitgestellt werden können (GPU-Soundmodul), deshalb muss der Soundpart auch auf diese Busadresse angepasst werden sowie die function-Adresse in der Hirarchie.
Bios sollte zu der Karte passend auch an die VM weitergegeben werden um die Treiberinstallation durchführen zu können.

Probleme bei NVidia-Karten:
Bei NVidia hat man das Problem das man zusätzlich den Bios File editieren muss da diese Funktion den Consumer-Karten vorenthalten wird - Treiber seitig.
gut erklärt hier:
->Workaround<-

Probleme bei AMD-Karten:
es existiert der so genannte AMD-Reset Bug der verhindert das nach einer erstmaligen Zuweisung die Hardware beim Neustart der VM (nach einem Suspend oder Reboot) nicht zurückgesetzt wird.
Für Linux Guest´s gibt es hier bereits Patches jedoch unter Windows noch nicht.
->Workaround<-

Ergänzend noch der Link für die ->Bios-Rom´s<-

Damit sollte alles dazu gesagt sein ;)

PS.: Unraid macht die Virtualisierung von Mac OS über die Community Applications ->Link<-, mit der App Macinabox auch noch zum Kinderspiel inkl. GPU-Passtrough lt. den vorgenannten Schritten.
->Erklärungsvideo von TheGeekFreaks dazu <-
 
Zuletzt bearbeitet:
stinger2k schrieb:
Probleme bei NVidia-Karten:
Bei NVidia hat man das Problem das man zusätzlich den Bios File editieren muss da diese Funktion den Consumer-Karten vorenthalten wird - Treiber seitig.
gut erklärt hier:
das sollte mittlerweile erschlagen sein, nur am Rande erwähnt, ich kann mittlerweile sauber auch ohne vbios die VM's booten

stinger2k schrieb:
Probleme bei AMD-Karten:
es existiert der so genannte AMD-Reset Bug der verhindert das nach einer erstmaligen Zuweisung die Hardware beim Neustart der VM (nach einem Suspend oder Reboot) nicht zurückgesetzt wird.
Für Linux Guest´s gibt es hier bereits Patches jedoch unter Windows noch nicht.
auch das ist mit der letzten unraid version sowie dem AMD Reset patch erledigt mit 6xxx Karten.

stinger2k schrieb:
mit der App Macinabox auch noch zum Kinderspiel inkl. GPU-Passtrough
das "Kinderspiel" würde ich jetzt mal nicht ganz so stehen lassen ;) aber ja, der docker macht viel Vorbereitung und die scripts ediieren passend die xml's ... aber mit GPU passthrough haben vielen oft Ihre Probleme ;)

Zusammengefasst ist für das Thema immer noch die Kombi Intel/Nvidia am einfachsten, das ist es tatsächlich mehr oder weniger "click & go" mittlerweile.

"gefühlt" auch kein echter Unterschied zu einer bare metall Installation mehr ...

Hier im Parallelbetrieb 3 VM's

1633238159394.png


2 x dgpu, 1 x gvt-g sogar (anderes Thema), die 2 Nvidia mit Ihrem eigen USB Controller im passthrough, also alles nativ durchgereicht ... ;)

@ZuseZ3 also ja, das wird mittlerweile aktiv praktiziert mit Gaming VM's ...
 
  • Gefällt mir
Reaktionen: stinger2k und jb_alvarado
alturismo schrieb:
auch das ist mit der letzten unraid version sowie dem AMD Reset patch erledigt mit 6xxx Karten.
mit der 6.9.2 (der letzten stable) existiert der noch, fährst du schon die 6.10.0 ) ist halt immer noch beta als rc1?

Das booten der VM´s mit der 3090 bei mir, funktionierte auch immer aber der Treiber spackt dann rum bei der Installation zumindest noch in der Konstellation bis zum 475er in der Windows VM.
 
stinger2k schrieb:
halt immer noch beta als rc1?
yep, aber unraid beta ist ja eigentlich nur wegen der features "beta" ... daher kann man RC eigentlich immer nehmen ;)

stinger2k schrieb:
funktionierte auch immer aber der Treiber spackt dann rum bei der Installation zumindest noch in der Konstellation bis zum 475er in der Windows VM.
sollte ja nicht mehr sein da auch Nvidia Thema VM mittlerweile geöffnet hat ... wundert mich jetzt das der Treiber da "meckert".

ich hab halt nur ne 3070 ;) und ne 1030, alles "schmerzfrei", wie bootest du unraid ? und was nutzt du als Bios bzw. Mashine Type ?

Beispiel (das TPM noch wegdenken, kommt erst die Tage raus, ist für win 11 updates, läuft auch bereits)
unraid im uefi starten und VM's am Besten auch ...ovmf, mashine type sollte egal sein, i44 oder q35), ich hab alles auf q35 außer die gaming (noch keine Zeit gehabt umzustellen da im Nachgang mit etwas Aufwand)

1633285649967.png


hier Beispiel der Gaming VM mit rBar aktiv, performance ist Top

1633285504094.png
 
Unter Ubuntu 21.04 mit qemu-kvm, hugepages und CPU-pinning komme ich mit entsprechenden Config-tweaks momentan auf 100% GPU- 95% Singlecore- und 75-90% Multicore-Performance (auf einen einzelne Kern gerechnet). In Spielen wie Warzone/Battlefield die GPU-limitiert sind hat man praktisch keinen Performanceverlust zu einer bare-metal Windows-Maschine.

Controlller, Externe USB-Soundkarten oder andere USB-Geräte können in die VM gereicht werden und dort dann auch ohne Virtualisierung mittels deren Treiber nativ genutzt werden. Besonders bei der Maus und Shootern ist das von Vorteil, Input-Lag existiert somit nicht (um mit dem Host zu interagrieren braucht man dann eine zweite Maus oder man verbindet sich per SSH aus dem Gast raus zurück in den Host). GSYNC und Shadow-Play laufen ebenfalls einwandfrei.
Fearing schrieb:
Allerdings fangen die Spieleentwickler wohl damit an, Spieler mit VM zu bannen.
Soll so schon bei GTAV Online, CSgo und Valorant vorgekommen sein.
Keylan schrieb:
Heute ist doch eine große Masse an Spielen direkt auf Linux verfügbar und die Titel für die das nicht zutrifft, sind in der Regel die mit einem Anti-Cheat der auch die Virtualisierung erkennen wird und damit bei Windows in der VM das Spiel blockiert.
Und bei all diesen Spielen kannste mittels config (und manchmal kernel-patch) die VM verstecken und sie laufen wieder.
ZuseZ3 schrieb:
Gerade auch erst wieder gemerkt, wie sch**lecht NVIDIA was sowas angeht ist. Ärgerlich, früher hatte ich immer ne AMD Gpu, dafür keine APU.

Alleine so Sachen wie das verstecken der consumer Grafikkarte, damit der Treiber nicht streikt klingt etwas langwieriger.
Der altbekannte "Error 43" gehört der Vergangenheit an, seit Treiber 465 können jetzt auch ohne Config-hacks Nvidia Consumer Karten durchgereicht werden.
 
  • Gefällt mir
Reaktionen: jb_alvarado und alturismo
StructureToPtr schrieb:
Und bei all diesen Spielen kannste mittels config (und manchmal kernel-patch) die VM verstecken und sie laufen wieder.
Ist das so?

Ich würde liebend gern mein Gaming System auf Linux umstellen. Bisher halten mich aber einige Titel mit EAC davon ab. Mir erschließt sich dabei nicht ganz warum z. B. Hunt Showdown mit EAC nicht in Proton laufen sollte, in der Win-VM aber eine einfache Konfig Einstellung das ganze lösen sollte.
Wenn ich nach Lösungen suche bekomme ich immer nur zu lesen, dass Leute diese EAC Spiele nicht unter Linux zum Laufen bekommen. Nicht in Proton, Wine oder VM.
Sehr viele Leute scheinen deshalb nach wie vor auf Windows direkt oder Dualboot zu setzen. Wenn das also so Einfach ist wäre ich für Ausführungen oder Links auf Tutorials Dankbar.

Ich habe auch viele Tutorials zum durchreichen von Hardware in die VM gefunden, aber leider meist wenig Info darüber in welchen Anwendungsfällen das etwas anderes als Perfomance beeinflusst.
 
Keylan schrieb:
Ich würde liebend gern mein Gaming System auf Linux umstellen. Bisher halten mich aber einige Titel mit EAC davon ab. Mir erschließt sich dabei nicht ganz warum z. B. Hunt Showdown mit EAC nicht in Proton laufen sollte, in der Win-VM aber eine einfache Konfig Einstellung das ganze lösen sollte.
Wenn ich nach Lösungen suche bekomme ich immer nur zu lesen, dass Leute diese EAC Spiele nicht unter Linux zum Laufen bekommen. Nicht in Proton, Wine oder VM.
Sehr viele Leute scheinen deshalb nach wie vor auf Windows direkt oder Dualboot zu setzen. Wenn das also so Einfach ist wäre ich für Ausführungen oder Links auf Tutorials Dankbar.
Also zu Hunt kann ich nichts sagen aber Apex und BF2042 (beides EAC Spiele) laufen einwandfrei in der VM. Proton ist anders als eine volle VM, da wird soweit ich weiß kein Hypervisor zwischengeschaltet.

In qemu reicht es meist schon anständige Namen für die virtualisierten smbios Geräte zu haben, zB:
XML:
<sysinfo type="smbios">
    <bios>
        <entry name="vendor">HP Inc.</entry>
        <entry name="version">B02</entry>
        <entry name="date">01/10/2021</entry>
    </bios>
    <system>
        <entry name="manufacturer">HP Inc.</entry>
        <entry name="product">Generic</entry>
        <entry name="version">1.0.0</entry>
        <entry name="uuid">DEADBEEF-D1CE-D1CE-D1CE-DEADBEEFD1CE</entry>
    </system>
    <baseBoard>
        <entry name="manufacturer">ASUSTeK COMPUTER INC.</entry>
        <entry name="product">TUF GAMING X570-PLUS</entry>
        <entry name="version">Rev X.0x</entry>
        <entry name="serial">123456789012345</entry>
    </baseBoard>
    <chassis>
        <entry name="manufacturer">HP Inc.</entry>
        <entry name="version">1.10</entry>
    </chassis>
</sysinfo>
<os>
    <smbios mode="sysinfo"/>
</os>
<disk type="block" device="disk">
    <serial>S4AAAA0M0000000</serial>
    <vendor>SAMSUNG</vendor>
    <product>MZ-76P256B</product>
</disk>
Hyper-V braucht auch ne vendor_id und CPU-Clocks sollten hypervclock aktiviert haben.
Die Partition für die VM sollte nicht kleiner sein als 128GiB (sonst jammert zB. Vanguard/Valorant wegen "VM"). CPU-Mode die originale Topologie kopieren lassen, SVM und intvtsc aktivieren, dann noch ganz billig KVM verstecken und das wars eigentlich:
XML:
<kvm>
    <hidden state="on"/>
</kvm>

Wird nur nicht so gerne an die große Glocke gehängt da man damit ohne Probleme HWID-bans umgehen kann, und zwar dauerhaft. AntiCheat-Entwickler haben das Nachsehen hier; die Chancen einen korrekt konfigurierten, selbst kompilierten Hypervisor zu erkennen gehen gegen 0.
 
  • Gefällt mir
Reaktionen: ArcherV, Keylan und stinger2k
@StructureToPtr Danke für die Info. Werde wohl dann kommendes WE mal versuchen was auf zu setzten. Auch schön gleich die Info zu haben mit welchem Hypervisor du das aufgesetzt hast. Ich bin selbst noch relativ frisch in Linux und habe nur mit Virtualbox auf einem Linux Host gebastelt.
 
ZuseZ3 schrieb:
Windows ala host ist für mich, alleine aus Datenschutzgründen, volkommen indiskutabel @Bruzla

Nur als kleine Zwischenanmerkung: du kannst Windows 10 durchaus soweit "mundtot" schalten das man damit klar kommen kann. Hier die Anleitung falls es dich interessiert: https://www.bsi.bund.de/SharedDocs/...iSyPHus/Analyse_Telemetriekomponente_1_2.html

Ich will dich keinesfalls überzeugen, ich will nur zeigen das es durchaus geht wenn man will.

@StructureToPtr danke für die Anleitung. Ich glaube da bahnt sich ein neues Projekt an..
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben