SDV Media पर ग्राफ़िक्स रेंडरिंग

SDV Media, EGL और OpenGL ES API उपलब्ध कराता है. इनकी मदद से, बिना किसी सरफेस के ग्राफ़िक रेंडर किए जा सकते हैं. इसमें कोई विंडो सिस्टम इंटिग्रेशन नहीं होता. इसके बजाय, ऐप्लिकेशन खुद ही ग्राफ़िक बफ़र को असाइन और मैनेज करता है. साथ ही, इसके आधार पर रेंडरिंग कॉन्टेक्स्ट सेट अप करता है.

OpenGL रेंडरिंग के कॉन्टेक्स्ट सेटअप फ़्लो के बारे में खास जानकारी के लिए, डिस्प्ले मैनेज करना लेख पढ़ें.

Vulkan

SDV Media के रेफ़रंस इंप्लीमेंटेशन में, वर्चुअलाइज़ किए गए Vulkan के लिए एक्सपेरिमेंट के तौर पर सहायता उपलब्ध है. Vulkan को चालू करने के लिए, sdv_media_cf टारगेट को --gpu_mode=gfxstream_guest_angle कमांड लाइन आर्ग्युमेंट के साथ शुरू करें:

cvd start --gpu_mode=gfxstream_guest_angle

इससे SDV Media, वर्चुअलाइज़ किए गए Vulkan के लिए सहायता उपलब्ध कराता है. साथ ही, ANGLE लाइब्रेरी का इस्तेमाल करके, EGL और OpenGL ES कॉल को Vulkan में बदलता है.

सीमाएं

एसडीवी रेफ़रंस टारगेट पर होने वाला व्यवहार, होस्ट जीपीयू के हिसाब से अलग-अलग होता है.

  • NVIDIA के ग्राफ़िक्स कार्ड (Google Cloud मशीनों के साथ काम करने वाले कार्ड भी शामिल हैं) इस्तेमाल नहीं किए जा सकते.

  • Intel के ग्राफ़िक्स कार्ड के लिए, ऐप्लिकेशन को अपने GPU बफ़र को GBM_BO_USE_LINEAR फ़्लैग के साथ असाइन करना होता है, ताकि रेंडरिंग सही तरीके से हो. sdv_multi_display_sample_rust का इस्तेमाल करते समय, sdv_multi_display_sample_rust एनवायरमेंट वैरिएबल को सेट करें, ताकि सैंपल इस फ़्लैग का इस्तेमाल कर सके:GBM_USE_LINEAR

    GBM_USE_LINEAR=1 sdv_multi_display_sample_rust
    
  • ओपन कर्नेल बग की वजह से, AMD ग्राफ़िक्स कार्ड काम नहीं करते.