Linux图形子系统之DRM显示框架

Linux图形子系统之DRM显示框架

  • 引言
  • 1 相关概念
    • 1.1 framebuffer
    • 1.2 plane
    • 1.3 crtc
    • 1.4 encoder
    • 1.5 connector
  • 2 驱动实现

引言

与其他子系统一样,linux抽象出了DRM作为其图形子系统。其中包括显示和渲染,本文主要讲解显示部分。

1 相关概念

Linux图形子系统之DRM显示框架_第1张图片
如图所属,drm将显示部分抽象出了framebuffer、plane、crtc、encoder、connector五部分。

  • 在同一时刻,一个framebuffer与一个plane动态绑定;
  • 在同一时刻,通常一个或多个plane与一个crtc静态绑定;
  • 在同一时刻,一个crtc与多个encoder动态绑定;
  • 在同一时刻,通常一个encoder与一个connector静态绑定;

图中蓝色组件是与硬件相关的抽象;红色的组件是软件抽象。

1.1 framebuffer

framebuffer是需要显示的图像数据,对应一幅图像。

1.2 plane

plane对应衣服图像的前端处理单元,由于一次显示可能是多个图像的组合,所以一般是多个plane对应一个crtc。

1.3 crtc

crtc负责将plane的图像数据合成等工作。

1.4 encoder

encoder负责将crtc的图像数据转成显示器可以显示的时序数据。

1.5 connector

connector对应于电脑的显示器接口,例如HDMI或DP等。

2 驱动实现

你可能感兴趣的:(Linux内幕,linux)