Rendu graphique sur SDV Media

SDV Media fournit des API EGL et OpenGL ES pour effectuer le rendu de graphiques en mode sans surface. Aucune intégration de système de fenêtrage n'est disponible. Au lieu de cela, l'application alloue et gère elle-même les tampons graphiques, et configure le contexte de rendu en fonction de ceux-ci.

Pour obtenir une présentation du flux de configuration du contexte de rendu OpenGL attendu, consultez la section Gérer les écrans.

Vulkan

L'implémentation de référence de SDV Media fournit une compatibilité expérimentale avec Vulkan virtualisé. Pour activer Vulkan, démarrez la cible sdv_media_cf avec un argument de ligne de commande --gpu_mode=gfxstream_guest_angle supplémentaire :

cvd start --gpu_mode=gfxstream_guest_angle

SDV Media prend alors en charge Vulkan virtualisé et traduit les appels EGL et OpenGL ES en Vulkan à l'aide de la bibliothèque ANGLE.

Limites connues

Le comportement sur la cible de référence SDV varie en fonction du GPU hôte.

  • Les cartes graphiques NVIDIA (y compris les machines Google Cloud) ne sont pas compatibles.

  • Les cartes graphiques Intel nécessitent que les applications allouent leurs tampons GPU avec l'option GBM_BO_USE_LINEAR pour éviter un rendu incorrect. Lorsque vous utilisez sdv_multi_display_sample_rust, définissez la variable d'environnement GBM_USE_LINEAR pour forcer l'exemple à utiliser cette option :

    GBM_USE_LINEAR=1 sdv_multi_display_sample_rust
    
  • Les cartes graphiques AMD ne sont pas compatibles en raison d'un bug de noyau ouvert.