การแสดงผลกราฟิกใน SDV Media

SDV Media มี API ของ EGL และ OpenGL ES สำหรับแสดงกราฟิกในโหมดที่ไม่มีพื้นผิว โดยไม่มีการผสานรวมระบบหน้าต่าง แต่แอปพลิเคชันจะจัดสรรและจัดการบัฟเฟอร์กราฟิกด้วยตัวเอง รวมถึงตั้งค่าบริบทการแสดงผลตามบัฟเฟอร์ดังกล่าว

ดูภาพรวมของขั้นตอนการตั้งค่าบริบทการแสดงผล OpenGL ที่คาดไว้ได้ที่ การจัดการจอแสดงผล

Vulkan

การใช้งานอ้างอิงของ SDV Media รองรับ Vulkan แบบเสมือนจริงในเวอร์ชันทดลอง หากต้องการเปิดใช้ Vulkan ให้เริ่มเป้าหมาย sdv_media_cf ด้วยอาร์กิวเมนต์บรรทัดคำสั่ง --gpu_mode=gfxstream_guest_angle เพิ่มเติม

cvd start --gpu_mode=gfxstream_guest_angle

ซึ่งจะทำให้ SDV Media รองรับ Vulkan แบบเสมือนจริง และแปลการเรียก EGL และ OpenGL ES เป็น Vulkan โดยใช้ไลบรารี ANGLE

ข้อจำกัดที่ทราบ

ลักษณะการทำงานในเป้าหมายอ้างอิง SDV จะแตกต่างกันไปตาม GPU ของโฮสต์

  • ระบบไม่รองรับการ์ดกราฟิก NVIDIA (รวมถึงเครื่อง Google Cloud)

  • การ์ดกราฟิก Intel กำหนดให้แอปพลิเคชันจัดสรรบัฟเฟอร์ GPU ด้วย แฟล็ก GBM_BO_USE_LINEAR เพื่อหลีกเลี่ยงการแสดงผลที่ไม่ถูกต้อง เมื่อใช้ sdv_multi_display_sample_rust ให้ตั้งค่าตัวแปรสภาพแวดล้อม GBM_USE_LINEAR เพื่อบังคับให้ตัวอย่างใช้แฟล็กนี้

    GBM_USE_LINEAR=1 sdv_multi_display_sample_rust
    
  • ระบบไม่รองรับการ์ดกราฟิก AMD เนื่องจากมีข้อบกพร่องของ เคอร์เนล ที่เปิดอยู่