SDV Media è un sistema operativo leggero che aggiunge funzionalità multimediali a SDV Core.
Implementazione di riferimento di SDV Media
Figura 1. Architettura SDV Media.
SDV Media si basa su SDV Core e aggiunge funzionalità multimediali consentendo l'accesso a motori hardware come GPU, video e audio. Le release future potrebbero aggiungere altri motori hardware.
L'implementazione di riferimento utilizza VirtIO per implementare l'astrazione hardware, in particolare virtio-gpu, virtio-media, virtio-snd e virtio-input.
L'implementazione utilizza librerie standard dello spazio utente per accedere alle funzionalità multimediali come OpenGL (ES), Vulkan, EGL, Video4Linux e tinyalsa, quindi un'implementazione di produzione può sostituire i driver VirtIO e implementare queste interfacce con soluzioni specifiche dell'hardware.
SDV Media contiene tutte le funzionalità di SDV Core, ovvero lo stack di comunicazione SDV, utilizza GKI e include tutte le altre funzionalità di SDV.
Opzioni di integrazione
Il resto della pagina spiega le due opzioni per l'integrazione di SDV Media.
Opzione 1: basata sull'host (consigliata)
Figura 2. Integrazione basata sull'host.
L'opzione di integrazione basata sull'host utilizza VirtIO all'interno del guest per implementare la funzionalità indipendentemente dall'hardware effettivo. I driver specifici dell'hardware sono integrati sul lato host e implementano i dispositivi in base all'interfaccia standardizzata basata su VirtIO per comunicare con il guest.
Le prestazioni dipendono dall'implementazione del dispositivo e del driver lato host, ma i test hanno dimostrato che il sistema può raggiungere prestazioni e velocità di avvio elevate.
Un altro vantaggio di questa soluzione è che le immagini dell'infrastruttura e dell'hardware possono essere molto simili, in quanto l'ospite utilizza interfacce standardizzate. Ciò comporta modifiche minime o nulle per l'esecuzione su dispositivi diversi; la dipendenza dall'hardware è limitata all'host.
Opzione 2: astrazione della libreria dello spazio utente
Figura 3. Astrazione della libreria dello spazio utente.
In questa opzione di integrazione, le interfacce standardizzate sono le librerie OpenGL (ES), Vulkan, EGL, Video4Linux e tinyalsa a livello utente. Il partner è responsabile dell'orchestrazione della suddivisione tra ospite e host, mentre lo sviluppatore di app è responsabile della compatibilità con le interfacce della libreria dello spazio utente.
Questo approccio porta probabilmente a driver diversi negli ambienti di infrastruttura e hardware, il che può comportare differenze significative nel comportamento e le immagini non possono essere trasferite senza adattamento a ambienti diversi.
Questo approccio è destinato ai partner che non supportano completamente VirtIO.
Requisiti multimediali per SDV
I requisiti di SDV Media presuppongono che tutti i requisiti di SDV Core siano soddisfatti. Ciò può essere ottenuto utilizzando l'implementazione di riferimento o sostituendo le librerie di sistema con soluzioni specifiche del fornitore, come descritto nelle sezioni precedenti.