Dies ist eine alte Version des Dokuments!


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 Hardware des Clients
  • Der Virtualisierer
  • Das Hostsystem
  • Das Gastsystem

Je nach Konfiguration der beteiligten Komponenten sind unterschiedliche Ergebnisse zu erwarten. Teilweise ist die 3D-Funktionalität komplett deaktiviert, läuft mit deutlich verminderter Leistung oder verursacht unterschiedliche Grafikfehler (fehlende Inhalte, schwarze Fenster, …). Auf dieser Seite wird versucht einen Überblick über die bisher gewonnenen Erkenntnisse in Bezug auf 3D in bwLehrpool zu geben, sowie Empfehlungen zur Optimierung gegeben.

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.

Im MiniLinux von bwLehrpool sind drei Treiber enthalten:

  • nouveau
  • nvidia
  • ati
  • intel ???

Konfiguration des Gastsystems (VM)

  • Aktuelle VMware-Tools
  • Systemumgebungsvariable 'SVGA_VGPU10'

Konfiguration der VM

  • virtualHW.version = „10“ / „12“
  • mks.enable3d = „TRUE“
  • hardwarecap auf v10 (wann?)

Benchmarks

  • SpecViewPerf
  • HP Z440
  • Nur bedingte Aussagekraft

Beispiele

Probleme mit bestimmten Applikationen sind

Catia:

Korrekte Darstellung (rote und blaue Rahmenlinie) Fehlerhafte Darstellung

Creo:

Korrekte Darstellung Fehlerhafte Darstellung

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.

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.

Vorteile Nachteile
  • VM hat direkten Zugriff auf Grafikkarte
  • Praktisch native Performance
  • CUDA Unterstützung
  • Unterstütung des kompletten OpenGL Befehlssatzes
  • 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 nicht kompatibel (zumindest Konvertierung nötig)

OpenGL 2.1 / 3.3

Ab Workstation 12 wird OpenGL 3.3 in Gastsystemen unterstützt. Allerdings nur das Core Profile, nicht jedoch das Compatibility Profile.

Voraussetzung dafür ist:

  • Die VM ist für die Hardwareversion 12 konfiguriert
  • Das Hostsystem (im Fall von bwLehrpool ist dies das ausgelieferte MiniLinux), die GPU sowie die verwendeten Grafiktreiber unterstützen OpenGL 4.0
  • Linuxsysteme müssen das vmwgfx-Kernelmodul in der Version 2.9.0 oder höher besitzen
  • Eine aktuelle Version von Mesa mit dem 'svga gallium'-Treiber

Ansonsten wird im Gastsystem OpenGL 2.1 verwendet.

Soll innerhalb der VM anstatt OpenGL 3.3 explizit die ältere Version verwendet werden, so kann dies im Fall von Windows über die Systemumgebungsvariable 'SVGA_VGPU10=0' erreicht werden. Anschließend verwendet die VM OpenGL 2.1. Dies kann nötig sein, falls bestimmte Applikationen falsche Grafikdarstellungen anzeigen, die z.B. auf die inkorrekte Nutzung des OpenGL 3.x Core Profiles zurückzuführen sind.

https://www.mesa3d.org/vmware-guest.html

Drucken/exportieren