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 Media 包含 SDV 通訊堆疊、使用 GKI,以及 SDV 的所有其他功能。

整合選項

本頁其餘部分將說明 SDV 媒體整合的兩種選項。

方法 1:以主機為準 (建議)

整合選項 1:以主機為準

圖 2. 以主機為基礎的整合。

主機型整合選項會在客體中使用 VirtIO,實作與實際硬體無關的功能。主機端會整合硬體專屬驅動程式,並根據標準化 VirtIO 介面實作裝置,以便與訪客通訊。

效能取決於主機端裝置和驅動程式實作,但測試結果顯示,系統可達到高效能和啟動速度。

這項解決方案的另一個優點是,基礎架構和硬體上的映像檔非常相似,因為訪客使用標準化介面。因此,在不同裝置上執行時,變更幅度很小或完全沒有變更;硬體依附元件僅限於主機。

選項 2:使用者空間程式庫抽象化

使用者空間程式庫抽象化

圖 3. 使用者空間程式庫抽象化。

在這個整合選項中,標準化介面是低階使用者空間程式庫,包括 OpenGL (ES)、Vulkan、EGL、Video4Linux 和 tinyalsa。合作夥伴負責協調訪客和主機之間的分割作業,應用程式開發人員則負責確保與使用者空間程式庫介面相容。

這種做法可能會導致基礎架構和硬體環境中的驅動程式不同,進而造成行為上的重大差異,且圖片無法轉移至其他環境,必須先進行調整。

如果合作夥伴不支援完整的 VirtIO,建議採用這種做法。

SDV 媒體規定

SDV 媒體規定的前提是已符合所有 SDV 核心規定。如要達成這個目標,可以使用參考實作方式,或按照前幾節所述,以供應商專屬解決方案取代系統程式庫。