SPRACX5 May   2021 DRA710 , DRA710 , DRA712 , DRA712 , DRA714 , DRA714 , DRA716 , DRA716 , DRA718 , DRA718 , DRA722 , DRA722 , DRA724 , DRA724 , DRA725 , DRA725 , DRA726 , DRA726 , DRA744 , DRA744 , DRA745 , DRA745 , DRA746 , DRA746 , DRA74P , DRA74P , DRA750 , DRA750 , DRA756 , DRA756 , DRA75P , DRA75P , DRA76P , DRA76P , DRA77P , DRA77P , DRA780 , DRA780 , DRA781 , DRA781 , DRA782 , DRA782 , DRA783 , DRA783 , DRA785 , DRA785 , DRA786 , DRA786 , DRA787 , DRA787 , DRA788 , DRA788 , DRA790 , DRA790 , DRA791 , DRA791 , DRA793 , DRA793 , DRA797 , DRA797 , TDA2EG-17 , TDA2EG-17 , TDA2HF , TDA2HF , TDA2HG , TDA2HG , TDA2HV , TDA2HV , TDA2LF , TDA2LF , TDA2P-ABZ , TDA2P-ABZ , TDA2P-ACD , TDA2P-ACD , TDA2SA , TDA2SA , TDA2SG , TDA2SG , TDA2SX , TDA2SX

 

  1.   Trademarks
  2. 1Introduction
    1. 1.1 Standard DRM Framework
    2. 1.2 vDRM-Based Framework
  3. 2Display Content Based vDRM on Linux
  4. 3Multimedia Support Based vDRM on Linux
    1. 3.1 Gstreamer
    2. 3.2 viddec3test
    3. 3.3 modetest
    4. 3.4 kmscube
  5. 4Display Weston-Based Application
  6. 5Display EGL-Based Application
  7. 6Interactive Display Across PSDKLA and VISION-SDK
    1. 6.1 ALPHA Setting
    2. 6.2 ZORDER Setting: DISPC_xxx_ATTRIBUTES[26-27]
  8. 7Dual-Display Demo
  9. 8Build Linux Vision SDK File System
  10. 9References

vDRM-Based Framework

GUID-20210407-CA0I-2TMR-9MN9-WF5BQCPRQZHN-low.gif Figure 1-3 The vDRM Framework

In this framework, the omapdrm needs to be disabled in Linux as DSS is controlled by software running on IPU. The Linux application that based DRM will not work as there is no DRM device capable of mode setting (displaying content).

Virtual DRM can create multiple DRM devices capable of modesetting and expose them to user space. Each DRM device can contain multiple DRM connectors, and each connector can be configured to expose a predefined resolution and frame rate. Each DRM connector internally creates a DRM encoder, a DRM plane (primary) and a DRM CRTC, which are needed by DRM APIs to function properly.

Additionally, each DRM device creates a vdrm-controller device which can be opened by Linux applications to read the buffers submitted by DRM applications. Vision SDK can run a chain (usecase) with multiple instances of dispDistSrcLink, where each link reads a vdrm-controller device to obtain buffers submitted by a DRM application to a particular CRTC in a virtual DRM device.

Linux applications can continue to call DRM APIs to display a DRM Frame buffer on a DRM CRTC, even when the vision SDK application / chain is not running, or the running chain does not contain the dispDistSrcLink associated with the CRTC.

From VISION SDK 0304, vDRM framework support in SDK.