[Lösung] Passthrough für Nvidia Geforce GTX Consumer GPUs in VSphere (ESXi) 6.0

Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Epyc und Zocken ist ein eher abwegiger Ansatz, da Epyc nur sehr niedrige Taktraten erreicht.

Die CPU-Auslastung der Spiele die ich spiele bewegt sich bei 10-20 %, CPU ist ein i7-4770K auf 3,8 GHz, da kann der Epyc mit seinen 2,9 GHz Turbo ganz gut mithalten...
 
Es gibt demnächst ja auch einen "frequenzoptimierten" Epyc 7371 (leider aber nicht als günstigere 7xxxP Single-Socket Variante). Turbo 3.6Ghz all-core, 3.8Ghz bei bis 8 Kerne. "Gerade mal" 200W TDP. :hust:

Und dann steht ja 2019 der Eypc2 alias Rome noch an.
 
Ich hab einen gebrauchten Epyc 7351P geschossen, für 550 €. Der frequenzoptimierte Epyc wird mindestens das 4-fache kosten, steht also in keinem Verhältnis zum geplanten Nutzen.
Außerdem habe ich hier für hohe Singlecore-Leistung noch einen E3-1280 V2, zwar etwas in die Jahre gekommen, kenne aber keine Anwendung die ich nutze die noch mehr IPC bräuchte um noch optimaler zu laufen.
 
ok...nun wird's interessant: mit EFI-BIOS in der VM gibt's bei den minFPS eine Verbesserung - und zwar wird das dann sogar besser als bare-metal:

Anhang anzeigen 416763

Und in der Tat schein eher die CPU als die Graka zu limitieren, hier Benchmark auf Ultra-Settings:

Anhang anzeigen 416767

Auch wenn die Sache schon etwas älter ist: Gibt es mittlerweile Erkenntisse darüber, weshalb ein GPU-Passthrough bei VMs, die im EFI-Modus installiert sind, besser laufen könnten?

Plane gerade neue VMs, die regelmäßig PCIe-Geräte durchgereicht bekommen sollen und habe bisher eigentlich stets im klasischen nicht-EFI-Modus gearbeitet.

Macht es etwas aus, wenn der Host dabei im nicht-EFI-Modus läuft? Bei einem verwendeten System kann das Mainboard durch BIOS-Bugs leider generell nicht im EFI-Modus booten, wenn ein propietäres mezzanine SAS-HBA-Modul verbaut ist, standard PCIe-Plätze sind leider alle belegt.
 
Du, gib mal nicht zu viel auf meine subjektiven Ergebnisse. Da war m.E. insgesamt vermutlich ohnehin die CPU am Limit (lahmer Xeon v1). Ich habe auch nicht ausreichend viele Testläufe mit verschiedenen Anwendungen/Benchmarks für eine repräsentative Aussage gemacht. War mir halt nur bei dem Direktvergleich mal aufgefallen.

Am besten probierst Du das einfach mal aus - so eine VM ist ja schnell aufgesetzt. Your milage may (will?) vary.
 
Sorry, ich mal wieder. Weil ich neulich an ganz anderer Stelle noch über einen "ESXi all-in-one Daddler" mit Consumer-Hardware rumphilosophiert hatte, wollte ich es nicht nur bei (bei mir inzwischen etwas angestaubter) Theorie belassen.

Also mal flugs 'nen USB-Stick in die Daddelkiste, ESXi drupp, NFS-SSD-Share vom fixen Filer gemounted und es konnte losgehen...

Hardware:
ASUS Strix Z270G Gaming
i7-7700K
32GB RAM (2400er ECC UDIMM - fragt nicht...)
Mellanox Connectx-4 (die Realtek Board-NIC wird ja eh von ESXi nicht supported)
NVIDIA RTX 2080Ti FE

Hier mein Zwischenstand nach diversen Installations- und Testorgien:
Letzte wirklich funktionierende ESXi-Softwareversion (jedenfalls mit NVIDIA, bzw. der 2080Ti) ist 6.5U2! Ab 6.7 bekommt man die Graka zwar zum Laufen, aber ein Reboot (oder Shutdown und Neuboot) der VM macht's kaputt - Error 43. Der Host schießt sich zwar beim Reboot nicht mehr ab (wie früher), aber man muss den ESXi-Host neustarten damit es wieder geht. Alltagstauglich ist natürlich anders.

VM-Settings im Prinzip wie oben im HowTo. Der Haken bei "hardwaregestützte Virtualisierung für das Gastbestriebssystem..." ist übrigens überflüssig bzw. quatsch (lässt sich mit Passthrough-Devices eh nicht aktivieren). Abweichend davon


VM-Settings:
CPU: 8 Cores (8 Kerne auf 1 Socket)
RAM: 16 GB
Anteile: Hoch (1.000.000)
Passthrough: RTX 2080Ti + Asmedia Onboard USB 3.x (praktisch, dass das Board den dabei hat :d )
EFI-BIOS

Performance ist schon beeindruckend (3DMARK):
Baremetall (32GB RAM): 11268 NVIDIA GeForce RTX 2080 Ti video card benchmark result - Intel Core i7-7700K Processor,ASUSTeK COMPUTER INC. STRIX Z270G GAMING
VM (16GB RAM): 11411 NVIDIA GeForce RTX 2080 Ti video card benchmark result - Intel Core i7-7700K Processor,Intel Corporation 440BX Desktop Reference Platform

Dass die VM schneller ist als Windows selbst (!), schiebe ich mal auf Messintoleranzen und "altes Windows" vs. "fresh install"... :d

Wenn jemand eine Lösung für das VM-Reboot-Thema findet, alles von hier hab' ich schon durch (bis auf das Deaktivieren der GPU vor Reboot - das ist für mich keine Option).

ToDo: echte Games ausprobieren und diverse USB-Geräte (u.a. Monitoring für die WaKü ;) ) in die VM hängen. Ach, und GPU-Overclocking... :d
 
Zuletzt bearbeitet:
Hast du vom 6.5u2 auf den 6.7 aktualisiert oder frisch installiert ?

Ich weis nicht wie sich so ein Update verhält wenn VMware Elemente in der neueren Version streicht ob die dann gelöscht werden in Treiber etc.
Ggf ein Versuch wert.

Der Leistungsunterschied könnte vlt auch daran liegen, dass esxi die cpu nicht in Energiepsarmodie schickt.
 
Nur frisch.
 
Grad kein Bock. Testen der VM macht mehr Spaß. ;)
 
Super Interessant - War ja schon früh im Thread mit dabei. Muss ich mal wieder zum Testen selbst versuchen ;)
Gibt es eig. Messungen zum Stromverbrauch? Was passiert, wenn die VM down/aus ist? Geht die GPU in IDLE / "aus"? Wäre interessant, wenn man seinen HomeSrv als Workstation noch zusätzlich konfigurieren kann, ohne groß mehr Strom zu verbrauchen, als wenn man eine seperate Workstation herunterfährt...
 
Puh. VM ist momentan im Modus „Höchstleistung“. :d

Verbrauch schwankt aktuell zwischen 70-97W. Lade gerade nur Zeug herunter. Hab leider gerade nicht im Kopf, wo das blanke Blech lag.
 
Noch ein kurzes Update:

Hab nun erfolgreich ESXi mit GPU-/USB-Passthrough auf Threadripper/X399 hingefrickelt:

TR4Running.jpg

ESXi-Version:
6.7U2 (läuft mit VM-Reboot Bug)
6.5U2 lief (bisher) nicht

Hardware:
Board: ASUS X399 Prime A
CPU: TR 1920X@4GHz allcore
RAM: 2x16GB ECC 2400@2666
GPU: 2080Ti FE
Kühlung: Wasser

BIOS Settings: (nur Abweichungen von default)
Advanced\CPU Configuration: NX Mode --> Enabled
Advanced\CPU Configuration: SVM Mode --> Enabled
Advanced\PCI Subsystem Settings: SR-IOV Support --> Enabled
Advanced\AMD CBS\NBIO Common Options\NB Configuration: IOMMU --> Enabled
Advanced\AMD CBS\NBIO Common Options: ACS Enable --> Enable
Advanced\AMD CBS\NBIO Common Options: PCIe ARI Support --> Enable
Advanced\AMD CBS\NTB Common Options\NTB Enable --> Enable
Advanced\AMD CBS\NTB Common Options\NTB Mode --> Random

TO CHECK wg. Reboot bug: Advanced\AMD CBS\NBIO Common Options: PCIE RESET Control: Disbabled (=GPIO mode) auf Enable (=PciRstBTmr mode)?


ESXi/VM Settings:
CPU: 8 Kerne, 1 Socket (mehr geht grad lizenztechnisch nicht)
hypervisor.cpuid.v0 = FALSE
pciPassthru0.msiEnabled = FALSE
passthru.map: nvidia auf d3d0 (statt bridge)
Startmodus: BIOS (nicht EFI)

Passthrough Devices:
GPU in Slot1 an 0000:41
Onboard USB3 an 0000:42 (= die 4 USB3-Anschlüsse hinten ganz links vom IO-Shield - praktisch, man braucht keine separate USB-PCIe-Karte)

Passthrough-Settings.JPG

Achtung: Man darf den USB-Controller der 2080Ti NICHT an die VM geben! Sonst bootet die VM nicht.
 
Zuletzt bearbeitet:
Grats zum Erfolg :)


Mal eine Frage zum Reboot Bug.

So wie ich das gelesen habe, kann man den nicht umgehen wenn man aufgrund von zb Windows Updates statt eines Neustart herunterfährt und wieder startet - stürzt der esxi dennoch ab und erst wenn man den Neustarten geht wieder ?

Also jedesmal Host reboot, wenn die vm warum auch immer Neustartet etc.


Hast du mal getestet wie sich es unter zb Ubuntu verhält ? Fals die graka (die Quadro zb) unter Ubuntu richtig läuft - samt Ton etc.

Wäre bei mir nur ne htpc vm - ohne zu spielen - dazu braucht es nicht unbedingt Windows ^^
 
Zuletzt bearbeitet:
Korrekt. Macht keinen Unterschied ob "reboot" oder "shutdown + neustart" der VM. Immerhin: den ESXi reißt's nicht mehr in den Tod, nur die Passthroug-Graka liefert danach den bekannten "Error 43" (die virtuelle Graka mit Anzeige im Browser funktioniert).

Mit Linux hab ich das noch nie getestet. Wer braucht denn in Linux 'ne leistungsstarke Graka? ;)
 
Mal ein kurzes Update:

Bei mir werkelt ja aktuell ein ESXi auf Threadripper-Basis (X399D8A-2T) mit einer Gaming-VM (2080Ti im PCIe-Passthrough).

Wenn die Gaming-VM länger läuft (mehrere Tage), zickt irgendwann der Sound und in Games hab ich dann z.T. fiese Ruckler - trotz 3-stelligen FPS. Der Ursache habe ich leider noch nicht weiter nachgehen können. Da ich eine USB-Soundkarte in der VM hab (über einen onboard USB-Controller ebenfalls im PCIe-Passthrough) hätte mal als erstes dieses Konstrukt im Verdacht. Nachprüfen konnte das aber wie gesagt noch nicht. Auch an/ausschalten der USB-Soundlösung hilft dann nicht. Muss mal schauen, ob ein Reboot der VM hilft. Kann das aber leider gerade auch mangels Zeit nicht richtig durchtesten.
 
Hallo,

da ich gerade dabei bin meine zwei gtx960 und die rx480 unter 6.7v2 durchzureichen habe ich mich erstmal an deine Anleitung gehalten.
Ist die Annahme, dass zuerst die Anbieder-ID dann die Device-ID eingetragen wird und demnach anzupassen ist? Dann würde dies bei mir so ausschauen:
# NVIDIA GPU
10de 1401 link false
# NVIDIA Audio
10de 0fba d3d0 false
# AMD GPU
1002 67df link false
# AMD Audio
1002 aaf0 d3d0 false

Die Einstellungen in der VM:
hypervisor.cpuid.v0 = FALSE
pciPassthru0.msiEnabled = FALSE
pciPassthru1.msiEnabled = FALSE
Und natürlich der reservierte Arbeitsspeicher.

Wird ein pciHole benötigt? es scheint inzwischen dynamisch verwaltet zu sein mit pciHole.dynStart = 3072

Danke, hier ist es wenigstens etwas verständlich beschrieben.

EDIT:
Aktuell laufen die Nvidia in Error 43 und die AMD führt nach der Treiberinstallation zum bluescreen.
 
Zuletzt bearbeitet:
Zu NVIDIA: Kommentier‘ den für die GPU selbst mal aus. „Link“ funzte nur bei/bis ESXi 6.5. 6.7 hab ich nur mit der 2080ti und da funzte link auch nicht, sondern am besten die „ESXi Werkseinstellungen“, also gar kein Override in der passthru.map

Zu AMD: keine Ahnung. Würde da auch erstmal gar nichts zu in die passthru.map packen - was passiert dann?

Und natürlich wenn nix funzt erstmal separat testen. :d

Sonstige Infos wären auch noch ggf. interessant, insb. welches Mainboard.
 
Zuletzt bearbeitet:
Hallo,

danke für die schnelle Rückmeldung. Das System ist ein alter Rechner um den Umgang mit ESXI zu erlernen.
Mainboard GA-Z87X-OC Force (mit PLX 8747), CPU 4790k, RAM 32GB (kein ECC), GPUs 2x gtx960 + rx480, USB 3.0 3x VL805 (auf Pericom PI7C9X2G), frische Win10 VM mit EFI Bios auf ESXi 6.7.0u2.
Klar wird einzeln getestet, aktuell nur eine 960 bringt Code 43.
# NVIDIA GPU
#10de 1401 link false
# NVIDIA Audio
10de 0fba d3d0 false

hypervisor.cpuid.v0 = FALSE
pciPassthru0.msiEnabled = FALSE
pciPassthru1.msiEnabled = FALSE
pciPassthru2.msiEnabled = FALSE

Die USB 3 karte läuft super durchgereicht.

MfG Basti
 
Im BIOS sind vt-d & vt-x aktiviert?

Sonst mal d3d0 statt link probieren. Ist echt immer trial&error. Ggf. einfach mal 6.5U2 installieren - unter der war NVIDIA wohl noch am einfachsten zur Zusammenarbeit zu überreden.
 
Hatte noch nie ein Board mit PLX-Chip zwischen den Fingern. Hab mit GPU-Passthrough selber auch nur auf 1151v1/Z270/i7, 1155/C204/Xeon, 3647/C622/Xeon und TR4/X399/1920X rumgespielt.

Die 9xx-Reihe konnte ich leider nicht testen. (Meine 980Ti ist immer noch als Dauerleihgabe außer Haus - zusammen mit dem Unterbau auf Basis i7-3770K). ;) Hab damals daher nur GTX285, GTX680 und 1080Ti (alle auf dem Intel S1200BTLR, also C204 mit Xeon E3-v1) ausprobiert und zuletzt halt die 2080Ti auf Z270 und X399.

Ggf. mal alle anderen Devices außer einer GPU rauszupfen. USB in Slot com Chipsatz mal testen.

EDIT: am besten mal in den hier stecken, und vor allem nichts in die Orangenen:

„3 x PCI Express x16 slots, running at x16 (PCIEX16_1~3)
* For optimum performance, if only one expansion card is to be installed, be sure to install it in the PCIEX16_2 slot.

The PCIEX16_2 slot will become unavailable when an expansion card is installed in the orange PCI Express x16 slot.“
 
Zuletzt bearbeitet:
Ist bestimmt unterschiedlich, genauso wie sich UnRaid nicht wie ESXI verhält.
 
Habe trotzdem was gelernt hier.

Advanced\AMD CBS\NBIO Common Options: ACS Enable --> Enable

Das hat wohl geholfen habe nun mehr iommu groups :)
 
Schon alles irgendwie komisch. Mit einem Threadripper 3960X und dem ASRock TRX40 Taichi braucht's wieder andere Passthrough-Settings, damit die 2080Ti im passthrough läuft:

ESXi frisch aufgesetzt mit 6.7U3b.

Frische Win10-VM installiert mit 1909 ISO aus dem Media Creation Tool.

Nur hypervisor.cpuid.v0 = FALSE, keine sonstigen Anpassungen in den erweiterten VM-Optionen (insb. kein msiEnabled = FALSE).
Nur GPU durchgereicht (aktuell kein Audio, kein USB, kein UCSI Device durchgereicht).
Kein Edit der passthru.map notwendig.

GPU lüppt anscheinend (Bild auf dem Monitor hab ich jedenfalls, Games muss ich noch testen). VM-Reboot funzt.

Läuft2.jpg


Wenn ich mit der VM auch daddeln kann und das Streaming noch gescheit hinbekomme, komme ich so langsam zum ultimativen Gaming-Mainframe im Keller... :d

Coming up next: 2. VM auf gleichem Host mit TitanXp im Passthrough für Game-Streaming an Wohnzimmer Schmalspur-PCchen (Up2).
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh