סקירה כללית על שילוב מדיה ב-SDV

‫SDV Media היא מערכת הפעלה קלילה שמוסיפה פונקציונליות של מדיה ל-SDV Core.

הטמעה לדוגמה של מדיה ב-SDV

SDV Media

איור 1. ארכיטקטורת המדיה של SDV.

‫SDV Media מבוסס על SDV Core ומוסיף יכולות מדיה על ידי מתן גישה למנועי חומרה כמו GPU, וידאו ואודיו. יכול להיות שבעתיד נוסיף מנועי חומרה נוספים.

ההטמעה לדוגמה משתמשת ב-VirtIO כדי להטמיע את הפשטת החומרה, ובפרט virtio-gpu,‏ virtio-media,‏ virtio-snd ו-virtio-input.

ההטמעה משתמשת בספריות רגילות של מרחב משתמשים כדי לגשת ליכולות מדיה כמו OpenGL (ES),‏ Vulkan,‏ EGL,‏ Video4Linux ו-tinyalsa, כך שהטמעה של ייצור יכולה להחליף את מנהלי ההתקנים של VirtIO ולהטמיע את הממשקים האלה באמצעות פתרונות ספציפיים לחומרה.

‫SDV Media מכילה את כל הפונקציונליות של SDV Core, כלומר היא מכילה את מחסנית התקשורת של SDV, משתמשת ב-GKI וכוללת את כל התכונות האחרות של SDV.

אפשרויות שילוב

בהמשך הדף הזה מוסברות שתי האפשרויות לשילוב של SDV Media.

אפשרות 1: מבוססת-מארח (מומלצת)

אפשרות שילוב 1: מבוססת-מארח

איור 2. שילוב מבוסס-מארח.

אפשרות השילוב מבוססת-המארח משתמשת ב-VirtIO בתוך האורח כדי להטמיע את הפונקציונליות באופן בלתי תלוי בחומרה בפועל. הדרייברים הספציפיים לחומרה משולבים בצד המארח ומיישמים מכשירים בהתאם לממשק מבוסס VirtIO המתוקנן כדי לתקשר עם האורח.

הביצועים תלויים במכשיר בצד המארח וביישום של מנהל ההתקן, אבל בבדיקות התברר שהמערכת יכולה להשיג ביצועים גבוהים ומהירות הפעלה גבוהה.

יתרון נוסף של הפתרון הזה הוא שתמונות בתשתית ובחומרה יכולות להיות דומות מאוד, כי האורח משתמש בממשקים סטנדרטיים. כך אפשר להריץ את האפליקציה במכשירים שונים עם שינויים מינימליים או ללא שינויים בכלל. התלות בחומרה מוגבלת למארח.

אפשרות 2: הפשטה של ספריית מרחב המשתמש

הפשטה של ספרייה במרחב המשתמש

איור 3. הפשטה של ספריית מרחב המשתמש.

באפשרות השילוב הזו, הממשקים המתוקננים הם ספריות ברמת נמוכה של מרחב המשתמש: OpenGL (ES),‏ Vulkan,‏ EGL,‏ Video4Linux ו-tinyalsa. השותף אחראי לתיאום החלוקה בין האורח למארח, ומפתח האפליקציה אחראי לתאימות לממשקי ספריית מרחב המשתמש.

הגישה הזו מובילה כנראה לשימוש במנהלי התקנים שונים בסביבות של תשתית וחומרה, מה שעלול לגרום להבדלים משמעותיים בהתנהגות. בנוסף, אי אפשר להעביר תמונות בלי להתאים אותן לסביבות שונות.

הגישה הזו מיועדת לשותפים שאין להם תמיכה מלאה ב-VirtIO.

דרישות המדיה של SDV

הדרישות של SDV Media מניחות שכל הדרישות של SDV Core מתקיימות. כדי לעשות את זה, אפשר להשתמש בהטמעה לדוגמה או להחליף את ספריות המערכת בפתרונות ספציפיים לספק, כמו שמתואר בקטעים הקודמים.