Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
allgemein:3d_support [2019/04/09 13:33 CEST] – creo sritterallgemein:3d_support [2022/10/18 10:35 CEST] (aktuell) – [Ausblick] sritter
Zeile 1: Zeile 1:
-====== 3D-Unterstützung ======+====== 3D-Unterstützung in VMware ======
  
 Die Unterstützung von 3D innerhalb Virtueller Maschinen hängt von einer Reihe unterschiedlicher Parameter ab. Dazu gehören u.a.: Die Unterstützung von 3D innerhalb Virtueller Maschinen hängt von einer Reihe unterschiedlicher Parameter ab. Dazu gehören u.a.:
Zeile 12: Zeile 12:
 ===== Client-Hardware ===== ===== Client-Hardware =====
 bwLehrpool abstrahiert durch Virtualisierung von der zugrundeliegenden Hardware. Dies hat den Vorteil, dass sich VMs in der Regel auf allen Poolrechner gleich verhalten. Je nach Prozessor, RAM oder Festplatten-Ausstattung werden die VMs natürlich trotzdem unterschiedlich performant ausgeführt. Im Fall von 3D-Anwendungen spielt zusätzlich die Grafikkarte eine wichtige Rolle. bwLehrpool abstrahiert durch Virtualisierung von der zugrundeliegenden Hardware. Dies hat den Vorteil, dass sich VMs in der Regel auf allen Poolrechner gleich verhalten. Je nach Prozessor, RAM oder Festplatten-Ausstattung werden die VMs natürlich trotzdem unterschiedlich performant ausgeführt. Im Fall von 3D-Anwendungen spielt zusätzlich die Grafikkarte eine wichtige Rolle.
- 
-Im MiniLinux von bwLehrpool sind drei Treiber enthalten: 
-  * nouveau 
-  * nvidia 
-  * ati 
-  * intel ??? 
  
 ==== Verwendeter Treiber ==== ==== Verwendeter Treiber ====
  
-Wenn bwLehrpool startet, werden in der Regel generische Grafiktreiber geladen. Diese funktionieren auf der meisten Hardware sehr gut, unterstützen aber im Fall von z.B. Nvidia (nouveau) keine volle 3D-Beschleunigung.  +Wenn bwLehrpool startet, werden in der Regel quelloffene Grafiktreiber geladen. Diese funktionieren auf der meisten Hardware sehr gut. Für nVidia-Karten werden hingegen die prorietären Treiber des Herstellers geladenda mit den quelloffnenen nouveau-Treibern nur sehr rudimentäre 3D-Beschleunigung möglich ist.
- +
-Manche Karten sind nicht mit dem proprietären Treiber kompatibel oder verursachen andere Grafikprobleme. Daher werden nur bekannte und getestete Grafikkarten auf Basis einer Whitelist für den proprietären Treiber freigeschalten. Sollten Sie daher feststellendass 3D-Anwendungen (z.B. auch Aero Transparenzeffekte) innerhalb der VM nicht funktionieren, ist die Karte höchstwahrscheinlich nicht freigegeben. Um sicher zu gehen können Sie auf dem betreffenden Client den dmesg-Output oder Xorg-Log auf die Stichworte 'nvidia' bzw. 'nouveau' prüfen.  +
- +
-Sie können das Verhalten temporär überschreiben, um zu testen, ob die Karte mit den nvidia-Treibern fehlerfrei läuft. Dazu bis zum bwLehrpool PXE-Menü booten, auf dem entsprechenden bwLehrpool-Eintrag TAB drücken und der Kernel Command Line den Parameter 'nvidia' hinzufügen. Damit werden für diese Sitzung die Treiber erzwungen. Im dmesg oder Xorg-Log sollte jetzt auch irgendwo auftauchen, dass 'nvidia' und nicht 'nouveau' geladen wurde. Anschließend eine VM mit 3D-Beschleunigung (unter Windows z.B. mit dxdiag prüfen) booten und irgend einen 3D-Test, CAD oder ähnliches starten.  +
- +
-Wenn das System stabil läuft und keine Grafikfehler während der Benutzung auftreten, nehmen wir diese gerne ebenfalls auf unsere Whitelist auf. Dazu benötigen wir lediglich den Namen sowie die PCI-ID der Grafikkarte  +
- +
-=== Freigeschaltene Grafikkarten === +
- +
-Derzeit verwenden folgende Grafikkarten den proprietären Nvidia-Treiber: +
-^ PCI-ID    ^ Bezeichnung             | +
-| 10de:087d | Nvidia ION              | +
-| 10de:0ff3 | Nvidia Quadro K420      | +
-| 10de:0df8 | Nvidia Quadro 600       | +
-| 10de:13bb | Nvidia Quadro K620      | +
-| 10de:0fc2 | Nvidia GeForce GT 630   | +
-| 10de:11c0 | Nvidia GeForce GTX 660  | +
-| 10de:1382 | Nvidia GeForce GTX 745  | +
-| 10de:1381 | Nvidia GeForce GTX 750  | +
-| 10de:0193 | Nvidia GeForce 8800 GTS | +
-| 10de:0dd8 | Nvidia Quadro 2000      | +
-| 10de:0ffe | Nvidia Quadro K2000     | +
-| 10de:13ba | Nvidia Quadro K2200     | +
-| 10de:06dd | Nvidia Quadro 4000      | +
-| 10de:11fa | Nvidia Quadro K4000     | +
- +
  
 ===== Konfiguration des Gastsystems (VM) ===== ===== Konfiguration des Gastsystems (VM) =====
Zeile 59: Zeile 26:
 Nicht zuletzt spielt die verwendete Endanwendersoftware eine große Rolle. Hier muss genau geprüft werden, welche Parameter konfiguriert werden können (Rendering Modus / Hardwarebeschleunigung: OpenGL, DirectX, Software). Manche Applikationen funktionieren besser/schlechter unter OpenGL 2.1 oder einer höheren Hardwareversion (virtualHW.version). Nicht zuletzt spielt die verwendete Endanwendersoftware eine große Rolle. Hier muss genau geprüft werden, welche Parameter konfiguriert werden können (Rendering Modus / Hardwarebeschleunigung: OpenGL, DirectX, Software). Manche Applikationen funktionieren besser/schlechter unter OpenGL 2.1 oder einer höheren Hardwareversion (virtualHW.version).
  
-Es empfielt sich alle möglichen Kombinationen in Verbindung mit der Software zu evaluieren, um das bestmögliche Ergebnis zu erzielen. Für solche Aufgaben lassen sich beispielsweise sehr gut studentische Hilfskräfte nutzen, die die unterschiedlichen Möglichkeiten testen und zurückmelden. +Es empfielt sichalle möglichen Kombinationen in Verbindung mit der Software zu evaluieren, um das bestmögliche Ergebnis zu erzielen. Für solche Aufgaben lassen sich beispielsweise sehr gut studentische Hilfskräfte nutzen, die die unterschiedlichen Möglichkeiten testen und zurückmelden. 
  
 <note important>Bitte beachten Sie, dass alle Änderungern in einer VM in bwLehrpool nichtpersistent sind. Das heißt sobald Sie die VM herunterfahren, werden alle Änderungen (neue VMware-Tools, Systemumgebungsvariable etc.) wieder zurückgesetzt. Sie müssen die VM daher immer lokal bearbeiten und mittels bwLehrpool-Suite neu auf Ihren Satellitenserver hochladen.</note> <note important>Bitte beachten Sie, dass alle Änderungern in einer VM in bwLehrpool nichtpersistent sind. Das heißt sobald Sie die VM herunterfahren, werden alle Änderungen (neue VMware-Tools, Systemumgebungsvariable etc.) wieder zurückgesetzt. Sie müssen die VM daher immer lokal bearbeiten und mittels bwLehrpool-Suite neu auf Ihren Satellitenserver hochladen.</note>
Zeile 66: Zeile 33:
 Die Konfiguration der VM selbst erfolgt über die zugehörige Beschreibungsdatei ('.vmx'). Dort wird beispielsweise definiert, welcher Netzwerk- oder Festplattencontroller verwendet wird, ob 3D-Beschleunigung aktiviert werden soll und welche Hardware-Version die VM besitzt. Die Konfiguration der VM selbst erfolgt über die zugehörige Beschreibungsdatei ('.vmx'). Dort wird beispielsweise definiert, welcher Netzwerk- oder Festplattencontroller verwendet wird, ob 3D-Beschleunigung aktiviert werden soll und welche Hardware-Version die VM besitzt.
  
-Wenn mit Hilfe der bwLehrpool-Suite eine VM auf den Satellitenserver hochgeladen wird, so wird auch immer die zugehörige 'vmx' in Teilen gespeichert. In dieser wird beispielsweise festgelegt, ob 3D-Beschleunigung aktiviert wird oder welche Hardwareversion verwendet wird. Nähere Informationen hierzu finden Sie unter [[client:bwlehrpool-suite#beschreibungsdatei_der_virtuellen_maschine_bearbeiten|Verwaltung Virtueller Maschinen und Veranstaltungen]].+Wenn mit Hilfe der bwLehrpool-Suite eine VM auf den Satellitenserver hochgeladen wird, so wird auch immer die zugehörige 'vmx' in Teilen gespeichert. In dieser wird beispielsweise festgelegt, ob 3D-Beschleunigung aktiviert wird oder welche Hardwareversion verwendet wird
 + 
 +Diese Einstellungen können Sie auch nach dem Hochladen einer VM mittels der bwLehrpool-Suite anpassen. Doppelklicken Sie dazu Ihre VM in der VM-Übersicht, wechseln Sie in den Reiter "VM-Versionen", rechtsklicken Sie die aktuellste Version in der Liste, und Wählen Sie schließlich "VM-Konfiguration". Nähere Informationen hierzu finden Sie unter [[client:bwlehrpool-suite#beschreibungsdatei_der_virtuellen_maschine_bearbeiten|Verwaltung Virtueller Maschinen und Veranstaltungen]].
  
 Die dort gesetzten Werte können jedoch je nach Clienthardware von bwLehrpool zur Laufzeit verändert werden. So wird der Wert für die 3D-Beschleunigung ('mks.enable3d') bei nicht bestimmten Grafikkarten deaktiviert. Die dort gesetzten Werte können jedoch je nach Clienthardware von bwLehrpool zur Laufzeit verändert werden. So wird der Wert für die 3D-Beschleunigung ('mks.enable3d') bei nicht bestimmten Grafikkarten deaktiviert.
Zeile 72: Zeile 41:
 Als bwLehrpool Administrator können Sie sich die zum Start einer VM verwendeten vmx auf einem Client ansehen. Verbinden Sie sich dazu beispielsweise per SSH und root-Account mit einem gebooteten Client. Unter '/tmp/virt/vmware/' finden Sie Unterordner für jede gestartete VM. Darin finden Sie neben dem 'vmware.log' auch die 'run-vmware.conf'. Diese entspricht der 'vmx' Als bwLehrpool Administrator können Sie sich die zum Start einer VM verwendeten vmx auf einem Client ansehen. Verbinden Sie sich dazu beispielsweise per SSH und root-Account mit einem gebooteten Client. Unter '/tmp/virt/vmware/' finden Sie Unterordner für jede gestartete VM. Darin finden Sie neben dem 'vmware.log' auch die 'run-vmware.conf'. Diese entspricht der 'vmx'
  
-  * virtualHW.version = "10" / "12"+  * virtualHW.version = "10" / "12" / "16"
   * mks.enable3d = "TRUE"   * mks.enable3d = "TRUE"
-  * hardwarecap auf v10 (wann?) 
  
 ===== Benchmarks ===== ===== Benchmarks =====
Zeile 100: Zeile 68:
  
 ===== Ausblick ===== ===== Ausblick =====
-Zur Zeit wird von bwLehrpool ausschließlich VMware als Virtualisierer unterstützt. Die alternative Nutzung von VirtualBox wird parallel evaluiert. Das sich daraus jedoch Verbesserungen für 3D ergeben ist jedoch eher unwahrscheinlich+Zur Zeit wird von bwLehrpool neben VMware auch VirtualBox als Virtualisierer unterstützt. Damit ist die beschleunigte Grafikunterstützung begrenzt, da Grafikkarten nur virtualisiert innerhalb der VM bereitgestellt werden können.
  
-Eine mögliche Lösung wäre dagegen das direkte Durchreichen der Grafikkarte an die VM (GPU Passthrough). Dies ist mit QEMU, jedoch nicht mit VMware oder VirtualBox möglich. Es wäre denkbar, dass in Zukunft QEMU in bwLehrpool zur Verfügung gestellt wird. +Eine mögliche Lösung wäre dagegen das direkte Durchreichen der Grafikkarte an die VM (GPU Passthrough). Dies ist mit QEMU, jedoch nicht mit VMware oder VirtualBox möglich. Die alternative Nutzung von QEMU/KVM wird derzeit entwickelt.
  
 ^ Vorteile ^ Nachteile | ^ Vorteile ^ Nachteile |
Zeile 119: Zeile 87:
  
  
-===== OpenGL 2.1 / 3.3 =====+===== OpenGL 2.1 / 3.3 / 4.1 =====
  
-Ab Workstation 12 wird OpenGL 3.3 in Gastsystemen unterstützt. Allerdings nur das Core Profile, nicht jedoch das Compatibility Profile((Weitere Informationen: https://www.khronos.org/opengl/wiki/Core_And_Compatibility_in_Contexts)). +==== OpenGL 2.1 bzw. 3.3 ====
  
-Voraussetzung dafür ist: +Ab Workstation 12 wird **OpenGL 3.3** in Gastsystemen unterstützt. Allerdings **nur das Core Profile**, nicht jedoch das Compatibility Profile((Weitere Informationen: https://www.khronos.org/opengl/wiki/Core_And_Compatibility_in_Contexts)).  
-  * Die VM ist für Hardwareversion 12 konfiguriert + 
-  * Das Hostsystem (im Fall von bwLehrpool das ausgelieferte MiniLinux), die GPU sowie die verwendeten Grafiktreiber unterstützen OpenGL 4.0+__Voraussetzung dafür ist:__ 
 +  * Die VM ist für **Hardwareversion 12** oder höher konfiguriert 
 +  * Das Hostsystem (im Fall von bwLehrpool das ausgelieferte Mini-/MaxiLinux), die GPU sowie die verwendeten Grafiktreiber unterstützen OpenGL 4.0
   * Linuxsysteme müssen das vmwgfx-Kernelmodul Version 2.9.0 oder höher besitzen   * Linuxsysteme müssen das vmwgfx-Kernelmodul Version 2.9.0 oder höher besitzen
   * Eine aktuelle Version von Mesa mit dem 'svga gallium'-Treiber   * Eine aktuelle Version von Mesa mit dem 'svga gallium'-Treiber
Zeile 135: Zeile 105:
 https://www.mesa3d.org/vmware-guest.html \\ https://www.mesa3d.org/vmware-guest.html \\
 https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2139606 https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2139606
 +
 +==== OpenGL 4.1 ====
 +
 +Ab Workstation 16((https://docs.vmware.com/en/VMware-Workstation-Pro/16/rn/VMware-Workstation-16-Pro-Release-Notes.html#Whatsnew)) unterstützt VMware auch **OpenGL 4.1** und **DirectX 11** unter bestimmten Voraussetzungen:
 +  * Die VM ist für **Hardwareversion 18** oder höher konfiguriert
 +  * (Laut VMware ist eine Nvidia Grafikkarte erforderlich. In unseren Tests wurde jedoch auch ohne Nvidia Karte OpenGL 4.1/DirectX11 aktiviert)
 +  * Das Hostsystem (im Fall von bwLehrpool das ausgelieferte Mini-/MaxiLinux), die GPU sowie die verwendeten Grafiktreiber unterstützen OpenGL 4.5
  
  
 +<wrap hi>VMware Workstation 16 wird erst ab Mini-/MaxiLinux 28 ausgeliefert.</wrap>
 ==== GL_Extensions ====  ==== GL_Extensions ==== 
  
Drucken/exportieren