ESXi 6.0 GPU Passthrough

Angespornt durch diesen Artikel und wie bereits hier angetönt, wollte ich auf meinem neuen Server eine AMD R9 285 Grafikkarte per PCI-Passthrough in eine Workstation VM durchreichen. Anders als im Artikel, sollte bei mir jedoch ESXi 6.0 auf dem neusten Patchlevel 2715440 zum Einsatz kommen. Soweit schien alles klar und ich war auch optimistisch, dass dieses Vorhaben so machbar ist. Wie ihr vielleicht schon anhand der von mir gewählten Zeitform erahnt, klappte es nicht ganz so wie gewünscht, zuerst aber mal der Reihe nach.

Vorbereitungen

Als Erstes sei jedem sicher mal der oben bereits erwähnte Artikel ans Herz gelegt. Zusätzlich waren bei meinem Supermicro Board noch BIOS Einstellungen zu tätigen. Und zwar musste die AMD Grafikkarte priorisiert werden, da sonst das PCI-Passthrough nicht funktionieren wollte. Zudem sei noch der Download einer Windows 10 Insider Preview ISO angeraten.

VM einrichten

Grundsätzlich kann gleich vorgegangen werden wie im Artikel beschrieben:

  • VM erstellen, PCI Geräte noch nicht hinzufügen
  • BIOS der VM auf EFI umstellen
  • VM starten
  • Betriebssystem installieren
  • VMWare-Tools installieren
  • VM herunterfahren
  • PCI-Geräte hinzufügen
  • ESXi-Host neu starten
  • VM starten
  • Grafikkarten Treiber installieren

Der Punkt 5 des Artikels ist bei ESXi 6 nicht mehr vonnöten, ESXi scheint das „PCI hole“ jetzt selbstständig zu setzen:

2015-06-21T18:54:22.550Z| vmx| I120: Automatically adjusting PCI hole to 1976 MB for passthrough RMRR

Beim Betriebssystem sei auch noch angemerkt, dass es mit meiner HW-Konfiguration leider nur mit Windows 10 klappen wollte.

Hat man die Schritte soweit abgearbeitet, sollte man anschliessend auf dem Bildschirm vom Anmeldebildschirm begrüsst werden:

Der Gerätemanager zeigt, dass alles ordnungsgemäss installiert wurde:

Vom Handling her fühlt sich das System wie eine Baremetal-Installation an. Auch Tests mit diversen Games zeigten keine Performanceprobleme. Das alles klingt jetzt natürlich zu schön um wahr zu sein. So ist es leider auch, denn dieses Setup weist ein paar gravierende Nachteile auf:

  • Der Start funktioniert nur ordnungsgemäss nach einem ESXi-Host Neustart. Das heisst, dass die VM selber nicht heruntergefahren, anschliessend wieder gestartet, oder einfach nur neu gestartet werden kann.
  • Auch funktioniert ein Standbybetrieb oder auch einfach nur ein Bildschirm ausschalten durch Windows nicht.
  • Auch kann man mit dem Monitor nicht zu einer anderen Bildquelle springen und anschliessend wieder zurück.

All diese Punkte ausser einem sauberen ESXi-Neustart führen ins Nirwana und die VM muss anschliessend hart ausgeschaltet werden. Somit ist diese Lösung nicht praxistauglich. Ich werde nun in den nächsten Tagen auf eine Windows 2012 R2 Baremetal-Installation mit Hyper-V Rolle umstellen. Diese Baremetal Windows-Installation wird Desktop-tauglich konfiguriert und mir anschliessend auch als Workstation dienen.

5 Gedanken zu „ESXi 6.0 GPU Passthrough

  1. Danke für deinen interessanten Bericht – Daumen hoch!

    Hab eine kurze Verständnisfrage:

    Verstehe ich das richtig, dass du alles auf deinen Host (ESXi-Hypervisor ) installierst (virtuelle Maschinen, …) und anschließend stellst du eine Verbindung über einen Client-PC her? Aber welche Verbindung? Wird ja keine SSH sein. 😉 …Hab den Grundaufbau nicht ganz verstanden. 🙁

    1. Der ursprüngliche Gedanke war eine VM – in welche eine physische Grafikkarte sowie Tastatur und Maus durchgereicht wird – an der sich anschliessend arbeiten lässt wie an einem normalen PC.

  2. Die VM mit GPU passthrough kann sehr wohl neugestartet werden. Dafür muss ein kleines script die Grafikkarte vor dem reboot „aushängen“ mit dem Programm „DevManView.exe“. Beim Neustart wird mit einem Script das auch „DevManView.exe“ aufruft die Karte wieder eingehängt. Das mache ich mit allen durchgereichten Karten (USB-Karte, TV-Tuner , Grafikkarte).
    Sucht in google nach „Xen 4.3, Windows 8 with VGA Passthrough“ dort ist alles erklärt , zwar mit XEN funktioniert aber auch für ESX

    1. Vielen Dank für deinen Input, dies war mir nicht bekannt. Für mich kommt solch eine Lösung jedoch nicht mehr in Frage. Bin mit meiner Baremetal-Lösung soweit zufrieden.

    2. Hallo Mr. Anderson,

      hast du diese logon und shutdown scripte und könntest mir diese zur Verfügung stellen?
      In dem Blog, wo das vorgehen erläutert wird, ist leider der Link down und ich habe bisher auch noch keine Antwort auf meine Nachfrage bekommen.

      Vielen Dank schon mal!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.