ZHCAAX6 May 2021 DRA710 , DRA712 , DRA714 , DRA716 , DRA718 , DRA722 , DRA724 , DRA725 , DRA726 , DRA745 , DRA746 , DRA74P , DRA750 , DRA756 , DRA75P , DRA76P , DRA77P , DRA780 , DRA781 , DRA782 , DRA783 , DRA785 , DRA786 , DRA787 , DRA788 , DRA790 , DRA791 , DRA793 , DRA797 , TDA2EG-17 , TDA2HF , TDA2HG , TDA2HV , TDA2LF , TDA2P-ABZ , TDA2P-ACD , TDA2SA , TDA2SG , TDA2SX
在此框架中,需要在 Linux 中禁用 omapdrm,因为 DSS 由在 IPU 上运行的软件控制。基于 DRM 的 Linux 应用程序将无法工作,因为没有能够进行模式设置(显示内容)的 DRM 器件。
虚拟 DRM 可创建多个能够进行模式设置的 DRM 器件,并将它们显示在用户空间中。每个 DRM 器件可包含多个 DRM 连接器,每个连接器能够配置为将预定义的分辨率和帧速率公开。每个 DRM 连接器都会在内部创建一个 DRM 编码器、一个 DRM 层面(主要)和一个 DRM CRTC,这些是 DRM API 正常工作所必需的。
此外,每个 DRM 器件创建一个 vdrm 控制器器件,Linux 应用程序可打开该器件以读取 DRM 应用程序提交的缓冲区。Vision SDK 可使用 dispDistSrcLink 的多个实例运行链(用例),其中每个链接读取一个 vdrm 控制器器件,以获取 DRM 应用程序提交给虚拟 DRM 器件中特定 CRTC 的缓冲区。
Linux 应用程序可以继续调用 DRM API 以在 DRM CRTC 上显示 DRM 帧缓冲区,即使 vision SDK 应用程序/链未运行,或者运行的链不包含与 CRTC 关联的 dispDistSrcLink。
从 VISION SDK 0304 开始,SDK 中提供了 vDRM 框架支持。