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

Introduction

The DRM/KMS framework is dedicated to the management of the display, graphic and composition subsystems, as shown in Figure 1-1.

GUID-20210407-CA0I-MXPP-VSBL-HP9FQZ7D18QD-low.gif Figure 1-1 DRM/KMS Architecture

With the help of other Linux multimedia frameworks and applications. the DRM/KMS framework is typically used:

  • To compose animated contents taking advantages of the hardware acceleration.
  • To control both display interfaces and external displays including their settings (resolution, frequencies, multi-screen, and so forth).
  • To display this animated content on display panels or HDMI outputs.

DRM device: Responsible for aggregating the other components. Device exposed to the user space (handles all user-space requests.)

DRM Framebuffer: This is a standard object storing information about the content to be displayed.

CRTC: CRTC stands for CRT Controller, it scans out frame buffer content to one or more displays and update the frame buffer.

Planes: A plane is an image layer

Encoder: Responsible for converting a frame into the appropriate format to be transmitted through the connector.

Connector: Represent a display connector (HDMI, DP, VGA, DVI, and so forth), transmit the signals to the display. Detect display connection/removal. Expose display supported modes.

In vision SDK Linux, DSS is controlled by software running on IPU. As a result, omapdrm needs to be disabled, and Linux based DRM applications cease to function properly as there is no DRM device capable of modesetting (displaying content). A virtual DRM framework was introduced to create multiple DRM devices capable of modesetting and expose them to User space.

Using the vDRM framework, on the one hand, vDRM support the Linux display. On the other hand, M4 can control the DSS hardware. So when the M4 starting, it can display content by M4.

Table 1-1 shows a DRM comparison of the DRM of PSDKLA and VISION SDK.

Table 1-1 DRM Comparison of PSDKLA and VISION SDK
Type PSDKLA VISION SDK
DRM DRM Virtual DRM
DSS Controlled by A15 (Linux) Controlled by M4 (RTOS)
Omapdrm support YES NO
Fb0 YES NO