SDV Media ist ein schlankes Betriebssystem, das SDV Core Media-Funktionen hinzufügt.
SDV Media-Referenzimplementierung
Abbildung 1. SDV Media-Architektur.
SDV Media basiert auf SDV Core und fügt Medienfunktionen hinzu, indem der Zugriff auf Hardware-Engines wie GPU, Video und Audio ermöglicht wird. In zukünftigen Releases werden möglicherweise zusätzliche Hardware-Engines hinzugefügt.
In der Referenzimplementierung wird VirtIO verwendet, um die Hardwareabstraktion zu implementieren, insbesondere virtio-gpu, virtio-media, virtio-snd und virtio-input.
Bei der Implementierung werden Standardbibliotheken im Nutzerbereich für den Zugriff auf Media-Funktionen wie OpenGL (ES), Vulkan, EGL, Video4Linux und tinyalsa verwendet. Bei einer Produktionsimplementierung können die VirtIO-Treiber ersetzt und diese Schnittstellen mit hardwarespezifischen Lösungen implementiert werden.
SDV Media enthält die volle Funktionalität von SDV Core, d. h. den SDV-Kommunikationsstack, GKI und alle anderen Funktionen von SDV.
Integrationsoptionen
Im weiteren Verlauf dieser Seite werden die beiden Optionen für die SDV Media-Integration erläutert.
Option 1: Hostbasiert (empfohlen)
Abbildung 2: Hostbasierte Integration.
Bei der hostbasierten Integrationsoption wird VirtIO im Gast verwendet, um die Funktionalität unabhängig von der tatsächlichen Hardware zu implementieren. Die hardwarespezifischen Treiber sind auf der Hostseite integriert und implementieren Geräte gemäß der standardisierten VirtIO-basierten Schnittstelle für die Kommunikation mit dem Gast.
Die Leistung hängt vom Hostgerät und der Treiberimplementierung ab. Tests haben jedoch gezeigt, dass das System eine hohe Leistung und Startgeschwindigkeit erreichen kann.
Ein weiterer Vorteil dieser Lösung ist, dass Bilder auf Infrastruktur und Hardware sehr ähnlich sein können, da der Gast standardisierte Schnittstellen verwendet. Das führt dazu, dass nur minimale oder gar keine Änderungen erforderlich sind, um die Tests auf verschiedenen Geräten auszuführen. Die Hardwareabhängigkeit ist auf den Host beschränkt.
Option 2: Abstraktion der Nutzerbereichsbibliothek
Abbildung 3: Abstraktion der Nutzerbereichsbibliothek.
Bei dieser Integrationsoption sind die standardisierten Schnittstellen die Low-Level-User-Space-Bibliotheken OpenGL (ES), Vulkan, EGL, Video4Linux und tinyalsa. Der Partner ist für die Orchestrierung der Aufteilung zwischen Gast und Host verantwortlich, während der App-Entwickler für die Kompatibilität mit den Schnittstellen der User-Space-Bibliothek verantwortlich ist.
Dieser Ansatz führt wahrscheinlich zu unterschiedlichen Treibern in Infrastruktur- und Hardwareumgebungen, was zu großen Verhaltensunterschieden führen kann. Bilder können nicht ohne Anpassung an verschiedene Umgebungen übertragen werden.
Dieser Ansatz ist für Partner ohne vollständige VirtIO-Unterstützung vorgesehen.
Anforderungen an Media für die Quelldatenverifikation (SDV)
Die Anforderungen für SDV Media setzen voraus, dass alle SDV Core-Anforderungen erfüllt sind. Dies kann durch Verwendung der Referenzimplementierung oder durch Ersetzen der Systembibliotheken durch anbieterspezifische Lösungen erreicht werden, wie in den vorherigen Abschnitten beschrieben.