SDV Media to uproszczony system operacyjny, który dodaje funkcje multimedialne do SDV Core.
Implementacja referencyjna SDV Media
Rysunek 1. Architektura SDV Media.
SDV Media opiera się na SDV Core i dodaje funkcje multimedialne, umożliwiając dostęp do silników sprzętowych, takich jak GPU, wideo i audio. W przyszłych wersjach mogą zostać dodane dodatkowe silniki sprzętowe.
Implementacja referencyjna używa VirtIO do implementacji abstrakcji sprzętowej, w szczególności virtio-gpu, virtio-media, virtio-snd i virtio-input.
Implementacja używa standardowych bibliotek przestrzeni użytkownika do uzyskiwania dostępu do funkcji multimedialnych, takich jak OpenGL (ES), Vulkan, EGL, Video4Linux i tinyalsa, dzięki czemu implementacja produkcyjna może zastąpić sterowniki VirtIO i zaimplementować te interfejsy za pomocą rozwiązań specyficznych dla sprzętu.
SDV Media zawiera pełną funkcjonalność SDV Core, co oznacza, że zawiera stos komunikacyjny SDV, używa GKI i obejmuje wszystkie inne funkcje SDV.
Opcje integracji
W pozostałej części tej strony opisujemy 2 opcje integracji SDV Media.
Opcja 1. Host (zalecana)
Rysunek 2. Integracja oparta na hoście.
Opcja integracji opartej na hoście używa VirtIO w gościu do implementacji funkcji niezależnych od rzeczywistego sprzętu. Sterowniki specyficzne dla sprzętu są zintegrowane po stronie hosta i implementują urządzenia zgodnie ze standardowym interfejsem opartym na VirtIO, aby komunikować się z gościem.
Wydajność zależy od urządzenia i implementacji sterownika po stronie hosta, ale testy wykazały, że system może osiągać wysoką wydajność i szybkość uruchamiania.
Kolejną zaletą tego rozwiązania jest to, że obrazy w infrastrukturze i sprzęcie mogą być bardzo podobne, ponieważ gość używa standardowych interfejsów. Dzięki temu zmiany wymagane do uruchomienia na różnych urządzeniach są minimalne lub nie ma ich wcale. Zależność od sprzętu jest ograniczona do hosta.
Opcja 2. Abstrakcja biblioteki przestrzeni użytkownika
Rysunek 3. Abstrakcja biblioteki przestrzeni użytkownika.
W tej opcji integracji standardowe interfejsy to biblioteki niskiego poziomu przestrzeni użytkownika OpenGL (ES), Vulkan, EGL, Video4Linux i tinyalsa. Partner jest odpowiedzialny za koordynowanie podziału między gościem a hostem, a deweloper aplikacji jest odpowiedzialny za zapewnienie zgodności z interfejsami biblioteki przestrzeni użytkownika.
Takie podejście prawdopodobnie prowadzi do różnych sterowników w środowiskach infrastruktury i sprzętu, co może powodować duże różnice w zachowaniu, a obrazów nie można przenosić bez dostosowania do różnych środowisk.
To podejście jest przeznaczone dla partnerów, którzy nie mają pełnej obsługi VirtIO.
Wymagania dotyczące SDV Media
Wymagania dotyczące SDV Media zakładają, że spełnione są wszystkie wymagania SDV Core. Można to osiągnąć, korzystając z implementacji referencyjnej lub zastępując biblioteki systemowe rozwiązaniami specyficznymi dla dostawcy, jak opisano w poprzednich sekcjach.