Grafik-Rendering auf SDV Media

SDV Media bietet EGL- und OpenGL ES-APIs zum Rendern von Grafiken in einem oberflächenlosen Modus. Es gibt keine Integration in das Fenstersystem. Stattdessen weist die Anwendung selbst Grafikpuffer zu und verwaltet sie und richtet den Rendering-Kontext darauf basierend ein.

Eine Übersicht über den erwarteten Ablauf für die Einrichtung des OpenGL-Renderingkontexts finden Sie unter Displays verwalten.

Vulkan

Die Referenzimplementierung von SDV Media bietet experimentelle Unterstützung für virtualisiertes Vulkan. Um Vulkan zu aktivieren, starten Sie das sdv_media_cf-Ziel mit dem zusätzlichen Befehlszeilenargument --gpu_mode=gfxstream_guest_angle:

cvd start --gpu_mode=gfxstream_guest_angle

Dadurch unterstützt SDV Media virtualisiertes Vulkan und übersetzt EGL- und OpenGL ES-Aufrufe mithilfe der ANGLE-Bibliothek in Vulkan.

Bekannte Einschränkungen

Das Verhalten auf dem SDV-Referenzziel variiert je nach Host-GPU.

  • NVIDIA-Grafikkarten (einschließlich Google Cloud-Maschinen) werden nicht unterstützt.

  • Bei Intel-Grafikkarten müssen Anwendungen ihre GPU-Puffer mit dem Flag GBM_BO_USE_LINEAR zuweisen, um eine falsche Darstellung zu vermeiden. Wenn Sie sdv_multi_display_sample_rust verwenden, legen Sie die Umgebungsvariable GBM_USE_LINEAR fest, um zu erzwingen, dass im Beispiel dieses Flag verwendet wird:

    GBM_USE_LINEAR=1 sdv_multi_display_sample_rust
    
  • AMD-Grafikkarten werden aufgrund eines offenen Kernel-Bugs nicht unterstützt.