SDV Media でのグラフィック レンダリング

SDV Media は、サーフェスレス モードでグラフィックをレンダリングするための EGL API と 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
    
  • AMD グラフィック カードは、オープン カーネル バグのためサポートされていません。