SDV Media 提供 EGL 和 OpenGL ES API,用于在无界面模式下渲染图形。它没有窗口系统集成,而是由应用自行分配和管理图形缓冲区,并据此设置渲染上下文。
如需大致了解预期的 OpenGL 渲染 上下文设置流程,请参阅管理显示屏。
Vulkan
SDV Media 的参考实现为虚拟化 Vulkan 提供实验性 支持。如需启用 Vulkan,请使用额外的
--gpu_mode=gfxstream_guest_angle 命令行实参启动 sdv_media_cf 目标:
cvd start --gpu_mode=gfxstream_guest_angle
这样一来,SDV Media 便可支持虚拟化 Vulkan,并使用 ANGLE 库将 EGL 和 OpenGL ES 调用转换为 Vulkan。
已知限制
SDV 参考目标上的行为因主机 GPU 而异。
不支持 NVIDIA 显卡(包括 Google Cloud 机器)。
Intel 显卡要求应用使用
GBM_BO_USE_LINEAR标志分配其 GPU 缓冲区,以避免渲染不正确。使用sdv_multi_display_sample_rust时,请设置GBM_USE_LINEAR环境变量以强制示例使用此标志:GBM_USE_LINEAR=1 sdv_multi_display_sample_rust由于存在未解决的 内核 bug,因此不支持 AMD 显卡。