Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
allgemein:3d_support [2017/06/13 15:54 CEST] – sritter | allgemein:3d_support [2022/10/18 10:35 CEST] (aktuell) – [Ausblick] sritter | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== 3D-Unterstützung ====== | + | ====== 3D-Unterstützung |
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 7: | Zeile 7: | ||
* Das Gastsystem | * Das Gastsystem | ||
- | Je nach Konfiguration der beteiligten Komponenten sind unterschiedliche Ergebnisse zu erwarten. Teilweise ist die 3D-Funktionalität komplett deaktiviert, | + | Je nach Konfiguration der beteiligten Komponenten sind unterschiedliche Ergebnisse zu erwarten. Teilweise ist die 3D-Funktionalität komplett deaktiviert, |
Zeile 13: | Zeile 13: | ||
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 | + | ==== Verwendeter |
- | * nouveau | + | |
- | * nvidia | + | |
- | * ati | + | |
- | * intel ??? | + | |
+ | 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 geladen, da mit den quelloffnenen nouveau-Treibern nur sehr rudimentäre 3D-Beschleunigung möglich ist. | ||
===== Konfiguration des Gastsystems (VM) ===== | ===== Konfiguration des Gastsystems (VM) ===== | ||
- | * Aktuelle VMware-Tools | ||
- | * Systemumgebungsvariable ' | ||
+ | Innerhalb der Virtuellen Maschine kann die Grafik ebenfalls zu einem gewissen Grad beeinflusst werden. Die VMs sehen nur die von VMware bereitgestellte virtuelle Grafikkarte ' | ||
+ | |||
+ | Weiterhin kann teilweise beeinflusst werden, welche OpenGL Version in der VM zur Verwendung kommt. Falls die VM alle Voraussetzungen für OpenGL 3.3 erfüllt, damit jedoch Probleme innerhalb bestimmter Software auftritt, kann Windows über eine Systemumgebungsvariable auf OpenGL 2.1 gezwungen werden. Legen Sie dazu die Systemumgebungsvariable ' | ||
+ | ((Einen grafischen Editor zum direkten Bearbeiten der Umgebungsvariablen bietet der Befehl '' | ||
+ | |||
+ | 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: | ||
+ | |||
+ | 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. | ||
+ | |||
+ | <note important> | ||
===== Konfiguration der VM ===== | ===== Konfiguration der VM ===== | ||
- | | + | |
- | * mks.enable3D=true | + | Die Konfiguration der VM selbst erfolgt über die zugehörige Beschreibungsdatei (' |
- | * hardwarecap auf v10 (wann?) | + | |
+ | Wenn mit Hilfe der bwLehrpool-Suite eine VM auf den Satellitenserver hochgeladen wird, so wird auch immer die zugehörige ' | ||
+ | |||
+ | 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, | ||
+ | |||
+ | 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 (' | ||
+ | |||
+ | 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 '/ | ||
+ | |||
+ | | ||
+ | * mks.enable3d | ||
===== Benchmarks ===== | ===== Benchmarks ===== | ||
Zeile 34: | Zeile 49: | ||
* Nur bedingte Aussagekraft | * Nur bedingte Aussagekraft | ||
+ | ==== Beispiele ==== | ||
- | ===== Ausblick ===== | + | Probleme mit bestimmten Applikationen sind häufig nicht auf den ersten Blick ersichtlich. Bei dem Programm ' |
- | Zur Zeit wird von bwLehrpool ausschließlich VMware als Virtualisierer unterstützt. Die alternative Nutzung von VirtualBox wird parallel evaluiert und ist realistisch. Ob sich daraus jedoch Verbesserungen für 3D ergeben ist eher unwahscheinlich. | + | |
- | Eine mögliche Lösung für vermutlich alle Grafikprobleme wäre das direkte Durchreichen der Grafikkarte an die VM. Dies ist mit den genannten Virtualisieren jedoch nicht möglich. | + | Catia: |
+ | | {{: | ||
+ | | Korrekte Darstellung (rote und blaue Rahmenlinie vorhanden) | Fehlerhafte Darstellung (ohne Rahmenlinien) | | ||
+ | Nach diversen Tests konnte festgestellt werden, dass nur mit einer bestimmten Konfiguration der VM, die gewünschten Linien sichtbar wurden: | ||
+ | | HW-Version 10 + 3D | HW-Version 10 + kein 3D | HW-Version 12 + 3D | HW-Version 12 + 3D + openGL2 (SVGA_VGPU10=0) | HW-Version 12 + kein 3D | | ||
+ | | x | :) | :) | x | :) | | ||
+ | Creo: | ||
+ | | | | | ||
+ | | Korrekte Darstellung | Fehlerhafte Darstellung | | ||
- | OpenGL 2.1 / 3.3 | + | ===== Ausblick ===== |
+ | 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. Die alternative Nutzung von QEMU/KVM wird derzeit entwickelt. | ||
- | Ab Workstation 12 wird OpenGL | + | ^ Vorteile ^ Nachteile | |
+ | | < | ||
+ | * VM hat direkten Zugriff auf Grafikkarte | ||
+ | * Praktisch native Performance | ||
+ | * CUDA Unterstützung | ||
+ | * Unterstütung des kompletten | ||
+ | </ | ||
+ | * Verlust der Hardwareunabhängigkeit | ||
+ | * Korrekter Treiber muss in der VM installiert werden | ||
+ | * Erstellung und Bearbeitung der VM mit qemu nur unter Linux und ohne ohne grafische Verwaltung möglich | ||
+ | * Bisherige VMs vermutlich | ||
+ | </ | ||
- | Voraussetzung | + | |
- | * Die VM ist für die Hardwareversion 12 konfiguriert | + | |
- | * Das Hostsystem (im Fall von bwLehrpool | + | ===== OpenGL 2.1 / 3.3 / 4.1 ===== |
- | * Linuxsysteme müssen das vmwgfx-Kernelmodul | + | |
+ | ==== OpenGL 2.1 bzw. 3.3 ==== | ||
+ | |||
+ | Ab Workstation 12 wird **OpenGL 3.3** in Gastsystemen unterstützt. Allerdings **nur das Core Profile**, nicht jedoch das Compatibility Profile((Weitere Informationen: | ||
+ | |||
+ | __Voraussetzung | ||
+ | * Die VM ist für **Hardwareversion 12** oder höher | ||
+ | * Das Hostsystem (im Fall von bwLehrpool das ausgelieferte | ||
+ | * Linuxsysteme müssen das vmwgfx-Kernelmodul Version 2.9.0 oder höher besitzen | ||
* Eine aktuelle Version von Mesa mit dem 'svga gallium' | * Eine aktuelle Version von Mesa mit dem 'svga gallium' | ||
Zeile 59: | Zeile 103: | ||
Soll innerhalb der VM anstatt OpenGL 3.3 explizit die ältere Version verwendet werden, so kann dies im Fall von Windows über die Systemumgebungsvariable ' | Soll innerhalb der VM anstatt OpenGL 3.3 explizit die ältere Version verwendet werden, so kann dies im Fall von Windows über die Systemumgebungsvariable ' | ||
- | https:// | + | https:// |
+ | https:// | ||
+ | |||
+ | ==== OpenGL 4.1 ==== | ||
+ | |||
+ | Ab Workstation 16((https:// | ||
+ | * 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/ | ||
+ | * Das Hostsystem (im Fall von bwLehrpool das ausgelieferte Mini-/ | ||
+ | |||
+ | |||
+ | <wrap hi> | ||
+ | ==== GL_Extensions ==== | ||
+ | |||
+ | To use the // | ||
+ | extensions in a Windows XP or Windows 7 or later guest operating system, you must install Microsoft | ||
+ | DirectX End-User Runtime in the guest operating system. OpenGL is an API that is used to | ||
+ | Define 2D and 3D computer graphics. You can download Microsoft DirectX End-User Runtime from the Microsoft Download Center Web site.((Workstation 12 Pro Handbuch: https:// | ||
+ | |||
+ | ===== CREO Parametrics ===== | ||
+ | |||
+ | Wenn Sie in CREO schwarze Flächen oder falsche Darstellungen feststellen, | ||
+ | < | ||
+ | enable_opengl_fbo no | ||
+ | enable_opengl_shader yes | ||
+ | use_software_opengl no | ||
+ | graphics opengl | ||
+ | !graphics win32_gdi | ||
+ | </ |