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

regnets

Neuling
Thread Starter
Mitglied seit
10.08.2011
Beiträge
35
Hallo,

ich habe lange nach einer Lösung gesucht um Nvidia Consumer Grade GPU an die VMs durchzureichen (PCIe-Passthrough), ich bin jetzt auf folgende einfache Lösung gestoßen.

Diese ist eigentlich dafür gedacht, dass das VM OS nicht merkt, dass es virtualisiert ist und man somit weiteren Virtualisierungstechniken in der VM nutzen kann wie z.B. Hyper-V (nested virtualization).

Lustiger weise ist es auch so möglich den Error 43 des Nvidia Grafikkarten Treiber zu umgeben.

Gefunden habe ich es auf dieser Seite:
https://ianmcdowell.net/blog/esxi-nvidia/

Danach noch ein bisschen weiter geschaut und folgende weitere Information gefunden:
ПроброÑ� видеокарты NVIDIA в VMware ESXi 6.0 | vMind.ru (Seite ist glaube ich auf russisch? Google Übersetzer hilft ein klein wenig)
https://www.reddit.com/r/homelab/comments/441w1z/help_needed_with_esxi_60_gtx_960_passthrough_and/ (weiter unten ist ein Eintrag von JimmyWillows)

Die Lösung lautet wie folgt (ich kopiere hier die Infos, damit falls die Websiten vom Netz gehen wir immer noch eine Quelle haben ;) ).
- Gewünschte VM Herunterfahren
- *.vmx-Datei der gewünschten Maschine mit GPU Passthrough öffnen
- Am Ende der Datei folgende Zeile hinzufügen:
hypervisor.cpuid.v0 = FALSE
- Datei speichern
- PCIe-Passthrough für die GPU aktivieren (hier ggfls. nicht das Audio Device mit durchreichen, da es zu Problemen führen könnte)
- VM Starten

Ich sammel mal weiter hier Informationen:
1. Anscheinend funktioniert der Passthrough nur direkt nach dem Boot des ESXi, um den Passthrough nach Reboot der VM nutzen zu können, muss wohl die Grafikkarte sicher entfernt werden (mit devcon als Scheduled Task beim Herunterfahren)
2. Es müssen weitere Parameter in der *.vmx Datei gesetzt werden, sonst gibt es bei AMD Karten anscheinend einen BSOD (ESXi GPU Passthrough for an HTPC | WebbosWorld)
pciHole.start = "1200"
pciHole.end = "2200"

Hier ein paar Threads die sinnvolle Erfahrungen enthalten haben:
https://communities.vmware.com/thread/461404?start=0
https://forums.servethehome.com/ind...-esxi-box-when-shutdown-rebooting-guest.9397/
https://www.pugetsystems.com/labs/articles/Multi-headed-VMWare-Gaming-Setup-564/ -> Vollständige Diskussion -> https://disqus.com/home/discussion/pugetsystems/multiheaded_vmware_gaming_setup/
https://steamcommunity.com/groups/steamuniverse/discussions/0/648817378213272097/

Hört sich plausibel an, ich werde das spätestens am Wochenende mit einem i7 4790/GTX770 ausprobieren.

Hat jemand von euch damit Erfahrungen? Für mich wäre das schon der absolute Knaller, ich habe leider nur Nvidia Consumer CPUs und habe eigentlich seit 2 Jahren abgeschrieben, die mit ESXi in eine VM zu bekommen.

Ich hoffe das es klappt, leider bin ich noch bis Freitag auf Dienstreise, vllt. kann jemand von euch das schon früher testen?

Interessant wäre auch eine sinn-hafte Übersetzung der russischen Website :d.

Gruß

regnets
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Selbst ist der Mann bzw. die Frau. Viel Spaß beim Testen und dann berichten! :d
 
Ich würde dir da gerne weiterhelfen, stehe aber noch ganz am Anfang des Projekts. Meine Motivation ist, mittelfristig (sprich: bis der Support für Win7 ausläuft oder zu viele Spiele auf DX12 setzen) den Absprung von Windows als Haupt-OS zu schaffen und zu einem Desktop-Linux zu wechseln. Ganz ohne Windows wirds zwar nicht gehen, aber 90% wäre schon mal ein Anfang. Dual Boot würde natürlich auch funktionieren, ist aber uncool und bei virtualisierter Grafik geht zu viel Leistung verloren, also soll mit VT-D die Grafikkarte durchgeleitet werden. Board (inkl. Chipsatz) und CPU müssen es unterstützen und man benötigt wohl zwei Grafikkarten (bzw. IGP), an letzterem fehlt es bei mir derzeit noch (wg. Xeon CPU ohne GPU). Ich habe gutes über QEMU mit KVM gelesen, aber wie gesagt noch nichts getestet...
 
Hi Sweetchuck,

ich würde dir empfehlen ein eigenes Thema aufzumachen, mir geht es um den Passthrough von Grafikkarten rein auf ESXi Basis.

Für deinen Zecke würde ich unRAID oder Proxmox empfehlen, bei den Systemen ist das durchleiten von Geräten ein viel kleineres Problem.

Ich nutze ESXi weil es nicht die eierlegende Wollmilchsau ist, wie z.B. unRAID.

Das ist bestimmt für dich interessant: https://linustechtips.com/main/topic/465735-2-gamers-1-cpu-virtualized-gaming-build-log/

Gruß

regnets
 
Zuletzt bearbeitet:
Hi pumuckel,

also hast du es schon mit Flag hypervisor.cpuid.v0 = FALSE getestet? Mir war die Info neu.

Ich hab schon vor langer Zeit probiert Geforce GPUs durch zu reichen und bin wie wahrscheinlich auch du auf den Error 43 im Geräte Manager gestoßen.

Mir ist es bewusst, dass Nvidia die Benutzung in VMs blockt um ihre Profi Karten zu kaufen, aber wenn mit dem Flag auch Nested Virtualization möglich ist und einige Leuten berichten, dass es geht, ist es einen Versuch Wert!
 
Zuletzt bearbeitet:
Nvidia geht aktiv gegen Virt der consumer GPUs vor (bei Qemu/KVM hilft da der flag)

AMD gehen eigentlich (fast) alle
 
Wie gesagt, dass ist mir bewusst und ich weiß das der Nvidia Geforce Treiber so gestrickt ist in einer VM nicht zu laufen.

Also hast du es mit dem Flag schon getestet oder kanntest du das Flag schon? Ich habe weder im ESXi Hilfethread noch im Unterforum mit dem Suchbegriff etwas finden können.
 
nur in Qemu/kvm ... zu esxi kann ich dir zu NVidia nix sagen, da ich das aktiv vermeide (= nichtmal mehr probiere)
 
Zuletzt bearbeitet:
Es freut mich, dass du Qemu/kvm benutzt und nur AMD Karten nutzt.

Aber naja, dass ist nicht mein Anliegen, deswegen habe ich den Thread erstellt, es geht mir um Geforce Consumer GPUs und ESXi.

Das es mit Qemu/kvm/proxmox/unRaid geht ist mir bekannt, aber dafür brauchen wir dann kein Thema.

Mir ist auch bekannt, dass es bisher keine Lösung gegeben hat, aber wenn du mal nach hypervisor.cpuid.v0 = FALSE und Geforce googlest, findest du sehr sehr wenig ergebnisse. Der Blogeintrag von Ian McDowell ist vom 9. April 2016 und deswegen wollte ich nachfragen ob jemand anders der ESXi und Nvidia Karten nutzt lust hat, dass auszuprobieren, weil ich vor dem Wochenende (oder auch erst das danach) zum testen komme und vielleicht ist es für andere Menschen die ESXi und Geforce Karten nutzen interessant.
 
was nutzt es dann, wenn ich dir sage : ESXi und NVidia Consumer VGA = nogo

du kannst dir ne alte 460 holen und auf Quadro umflashen ... :)
 
Zuletzt bearbeitet:
Vielleicht liest du nochmal meinen ersten Thread durch, in den 3 Quellen sind, bei denen es mit dem Flag geht.

Ich zitiere mal Ian, dann brauchst du nicht die Links zu durchsuchen:
PCI Passthrough of NVidia cards is usually software-restricted to the professional Quadro series of cards. Desktop cards will flat out not work whatsoever if the drivers detect that they are being run inside virtualization. Through all the research I did online, I found that only KVM allows you to passthrough NVidia GPUs by toggling the "kvm=off" flag so the drivers can't detect virtualization and don't throw an error -43 when they detect they are in a VM.

I got this to work on an Arch linux install with KVM/libvirt, however I wanted the same thing to be possible on ESXi, which is my preferred hypervisor.


After hours of trail and error, I finally found a solution. It's really simple, but I found nobody else online who was able to actually get it to work.
 
Zuletzt bearbeitet:
dann entschuldige ich mich hiermit förmlich für meine nutzlosen beiträge und wünsche dir alles Gute bei deiner Suche
 
Ach Quark entschuldigen, ein Forum ist doch zum austauschen gedacht, da kann man sich auch schonmal mißverstehen ;).

Ich werde auf jedenfall berichten, sobald ich auf meinen Desktop Rechner ESXi installiert habe, ich denke eine GTX770 in einen MicroServer Gen8 oder Gen7 ist nicht wirklich möglich (rein platz technisch :d )
 
Hab bis jetzt noch nie davon gehört dass das ohne Quadro/Telsa, oder ordentlich per GRID Karte, funktionieren sollte.
Selbst mit AMD Karten funktioniert das nicht anstandslos, dort muss man öfter mal den Host starten, was nicht Sinn der Sache ist.

Sobald es hier ein paar Bilder gibt in denen etwas 3D Beschleunigt wird könnte es interessant werden. Denn aktuell wird von VMware alles in der GPU Sparte vom Support gezogen, da nur noch GRID die Lösung sein sollte.
Für den Rest der Leser hier, der ggf nur wegen 3D Beschleunigung in seinem eigenem Server interessiert ist: Holt euch in der Bucht eine Nvidia Quadro K2000 bzw. K4000, besser noch die ältere Quadro 4000.

Dabei muss man auch beachten das auch dort Beschränkungen gegeben sind: vDGA funktioniert mit den K Modellen (dedizierte Grafik), vDGA sowie vSGA funktioniert bei den ohne K Modellen (shared Grafik).

Na da bin ich mal gespannt. Habe auch öfters mal nach einer Lösung gesucht ohne gleich die GRID K1 zu holen. :fresse:
 
Apropos Nvidia Consumer GPUs in VSphere (ESXi) 6.0: habe die ZOTAC GEFORCE GTX 1050 MINI mal zum laufen gebracht. Laufen tut sie, mal schauen ob das für ein vHTPC reicht.
 
Apropos Nvidia Consumer GPUs in VSphere (ESXi) 6.0: habe die ZOTAC GEFORCE GTX 1050 MINI mal zum laufen gebracht. Laufen tut sie, mal schauen ob das für ein vHTPC reicht.



Darf man fragen wie genau? Habe den Flag gesetzt bekommen beim booten ein Bluescreen....
 
Darf man fragen wie genau? Habe den Flag gesetzt bekommen beim booten ein Bluescreen....

Hab zwar recht mühe mit esxi und gpu passthrough gehabt. War alles nicht so richtig reproduzierbar aber lieft schlussendlich mit "hypervisor.cpuid.v0 = FALSE". Bluescreens hatte ich keine. Hab die Karte schon wieder ausgebaut da ich die PCI Slots für andere Passthroughs brauche und bleibe erst mal beim Intel NUC als HTPC.
 
Hat mich jetzt auch schon ein wenig Fummelei gekostet. Ich versuch's gerade mit folgender Hardware:

i7-7700k (hat vt-d) auf Asrock Z270M-ITX/ac
2x16GB RAM
Nvidia GTX1080Ti FE

Software: ESXi 6.50a

Erste Hürde: Graka lässt sich nicht im GUI für Passthrough auswählen. Der Audio-Teil auf der GTX hingegen schon. Da half der Tipp aus dem serverthehome-Forum. Also:

1. Audio-Part für passthrough ausgewählt - NICHT REBOOTET.

2. SSH-Dienst enabled und mit putty auf dem Host angemeldet

3. esx.conf mit vi editiert und manuell die Zeilen für meine graka eingefügt (owner = "passthru"; device = "1b06"; vendor = "10de")

4. Nach REBOOT steht dann immerhin im Host sowohl bei der Graka wie auch Audio "Aktiviert/Aktiv" - aber witzigerweise kein Haken daneben. Ist das bei Euch auch so?

5. Hypervisor für die VM versteckt mit hypervisor.cpuid.v0 = FALSE

6. Als zusätzliche Geräte noch ein DVD-Laufwerk für die Installation hinzugefügt und USB-Geräte für Maus und Tastatur durchgereicht.

...so jetzt mal OS installieren. Wünscht mir Glück... ;-)
 
Zuletzt bearbeitet:
.... wer sich für den Zweck keine nun super güstige AMD 460-480 bzw die baugleichen 5er kauft, dem wünsche ich zwar gerne Glück, aber ist "shortsighted" da AMD GPU-V supporten wird ... was nvidia nur per grid tut

AMDGPU - ArchWiki
 
Zuletzt bearbeitet:
Keine Sorge. Ich brauche das gar nicht für irgendwas. Ist mehr eine Machbarkeitsstudie mit eh vorhandener Hardware. Ich musste nur gerade am Daddelrechner rumfrickeln, da juckte es in den Fingern das Mal zu probieren.

Habs aber aufgegeben. Hab die graka zwar in die VM bekommen. Aber richtig gelaufen ist es dann auch nicht (vielleicht weil das ja angeblich nur direkt nach dem ESXi Boot funktioniert) oder ich hab was anderes übersehen.
 
Keine Sorge. Ich brauche das gar nicht für irgendwas. Ist mehr eine Machbarkeitsstudie mit eh vorhandener Hardware. Ich musste nur gerade am Daddelrechner rumfrickeln, da juckte es in den Fingern das Mal zu probieren.

Habs aber aufgegeben. Hab die graka zwar in die VM bekommen. Aber richtig gelaufen ist es dann auch nicht (vielleicht weil das ja angeblich nur direkt nach dem ESXi Boot funktioniert) oder ich hab was anderes übersehen.

dann ist ja gut :) die RX 4xx laufen gut
 
Also ich könnte es gut brauchen :) aber notfalls muss ich mir ne Quadro kaufen, die sollen ja alles laufen richtig?
 
Zuletzt bearbeitet:
Nichts gegen dich pumuckel, und ein Hinweis ist ja schön und auch gut in einem Forum. Aber in einem Thread, wo im Titel und den Posting es tatsächlich geht nvidia GTX Karten in ESXi zum laufen zu kriegen, nervt es doch ein bisschen ständig ATI Vorschläge zu erhalten... :(
 
Hallo :)

Gibt es zu dem Thema bereits weitere Ergebnisse ? Ich habe Produktiv einen ML350P Gen8 mit ESXi 6.0 am laufen für diverse Dinge. Öfters ist mir schon der Gedanke gekommen eine VM zu erstellen als Media Center oder Arbeitsplatz. Daher wäre es reizvoll zu wissen ob man das z.b. mit einer GTX 970 lösen könnte?
Ansonsten würde mal einen der alten Proliant's aus dem Keller holen :)
 
@LaS0NE genau das habe ich auf meinem Würfel so laufen.

In meinem Würfel (Microserver Gen8) ist derzeit folgendes verbaut:
16GB RAM
Intel Xeon E-3 1270V2
KFA² NVIDIA GeForce GTX 750 TI (2048 MB)
4 HDDs + 1SSD

Installiert ist ESXi 6.5, darauf läuft zum einen eine Freenas VM in aktueller Version (interner SATA Controller per passthrough durchgereicht) und stellt mir zum einen einen mein Backup Storage zur Verfügung (4 HDDs) und zum anderen den 2. Storage für den ESXi per NFS (SSD). Das 1. Storage des ESXi wo auch Freenas von gestartet wird kommt von einer externen USB Platte (intern verbaut).
Desweiteren ist eine Windows10 VM installiert, auf diesen ist die GPU per passthrough durchgereicht und auch einer der USB Controller (für Maus u Tastatur). Die VM lässt sich ohne Probleme herunterfahren/hochfahren etc und ich kann damit ganz normal arbeiten wie an einer physischen Maschine. Hat allerdings etwas Zeit gekostet eh es wirklich fehlerfrei gelaufen ist.
Zu guter letzt ist noch eine Sophos VM installiert, als Failover für meine Produktive.
 
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