DRM Wayland基本概念

2024-06-23 07:18
文章标签 基本概念 drm wayland

本文主要是介绍DRM Wayland基本概念,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.linux系统中查看屏幕分辨率(通常是在设备树中进行配置的)

#2代设备,实际物理尺寸-1.9英寸
$cat /sys/class/graphics/fb0/virtual_size170,320
#3代设备,实际物理尺寸-2.97英寸
$cat /sys/class/graphics/fb0/virtual_size
480,800

2.lcd外设选型参数

(1)物理尺寸
(2)硬件接口
外部接口种类:hdmi、vga,主要用于连接外部显示器
内部接口种类:mipi、LVDS、edp,主要用于连接移动端连接显示使用mipi接口的lcd显示器(在配置dts文件时需要配置2部分内容:mipi接口相关内容和显示屏相关内容):
mipi引脚
lcd使能引脚(LCD_EN)
lcd复位引脚(LCD_RST)
背光使能引脚(BL_EN)#用以下命令可以查看注册的gpio引脚(通常这些引脚是在dts文件中进行配置)
$cat sys/kernel/debug/gpio
GPIOs 96-127, platform/pinctrl, gpio3:
gpio-116 (                    |reset               ) out lomipi接口:
目的是把手机内部的接口如摄像头、显示屏接口、射频/基带接口等标准化,从而减少手机涉及的复杂程度,目前比较成熟的接口应用又DSI(显示接口)和CSI(摄像头接口)lvds接口、mipi接口、edp接口区别
LVDS接口只用于传输视频数据,MIPI DSI(用于连接lcd,MIPI CSI用于连接摄像头,其中摄像头的接口还有DVP接口即cif接口)不仅能够传输视频数据,还能传输控制指令(3)分辨率
(4)数据格式
lcd支持多种显示格式:例如32bit(4字节)、24bit(3字节)、16bit(2字节)等#查看一个像素占据的的大小	
$cat /sys/class/graphics/fb0/bits_per_pixel

3.查看lcd显示屏驱动是否加载成功,出现以下信息表示驱动加载成功

#在调试阶段主要设置lcd的各个时序参数、时钟、mipi时钟等等
$demsg
[    0.893064] rockchip-drm display-subsystem: devfreq is not set
[    0.894892] rockchip-drm display-subsystem: bound ff460000.vop (ops 0xffffff8008871ec8)
[    0.896117] rockchip-drm display-subsystem: bound ff140000.syscon:rgb (ops 0xffffff8008869fb8)

4.整个框架流程

Linux内核DRM框架
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

基本概念如下:
1.Wayland:显示服务器,是一种协议
2.Weston:是Wayland协议的的实现
3.drm又包括:
drm framebuffer:它是一块内存区域,我把它理解为一块画布,驱动和应用层都能访问它
plane:图层
crtc:读取当前扫描缓冲区的像素数据,生成视频模式定时信号.它对内连接 Framebuffer 地址,对外连接 Encoder。它会扫描你画布(Framebuffer)上的内容,叠加上 Planes 的内容,传给 Encoder。
encoder:将内存的 pixel 像素 编码(转换)为显示器所需要的信号,比如 DVID、VGA、YPbPr、CVBS、Mipi、eDP 等
connector:直译为 连接器。Connector 常常对应于物理连接器 (VGA, DVI, FPD-Link, HDMI, DisplayPort, S-Video …) 他会连接将一个物理显示输出设备 (monitor, laptop panel, …)基本流程:
app将画好的surface,通过wayland协议提供给compositor,compositor将来自各个应用的surface合成一帧,通过drm接口最终画在Framebuffer上。
#运行的compositor
weston --tty=2 -B=drm-backend.so --idle-time=0&

5.测试显示屏

$modetest -M rockchip
Encoders:
id      crtc    type    possible crtcs  possible clones
65      0       DPI     0x00000001      0x00000000Connectors:
id      encoder status          name            size (mm)       modes   encoders
66      0       connected       DPI-1           23x43           1       65modes:name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)170x320 1486 170 175 185 195 320 325 335 345 100000 flags: nhsync, nvsync; type: preferredCRTCs:
id      fb      pos     size
60      0       (0,0)   (0x0)Planes:
id      crtc    fb      CRTC x,y        x,y     gamma size      possible crtcs
58      60      0       0,0             0,0     0               0x00000001formats: XR24 AR24 XB24 AB24 RG24 BG24 RG16 BG16$modetest -M rockchip -s 66@60:170x320-M :用于指定访问rockchip drm driver
-s :<connector_id>@<crtc_id>:<mode>

6.参考文档

MIPI介绍(CSI DSI接口)
Mipi 接口 和 LVDS 接口区别
LVDS,MIPI,EDP
LCD支持的数据格式
Rockchip之RK3288解决MIPI屏花屏
从modetest 到 DRM driver
Linux 图形栈一览:基于 DRM 和 Wayland
Linux DRM(二)基本概念和特性

这篇关于DRM Wayland基本概念的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1086487

相关文章

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【机器学习】高斯网络的基本概念和应用领域

引言 高斯网络(Gaussian Network)通常指的是一个概率图模型,其中所有的随机变量(或节点)都遵循高斯分布 文章目录 引言一、高斯网络(Gaussian Network)1.1 高斯过程(Gaussian Process)1.2 高斯混合模型(Gaussian Mixture Model)1.3 应用1.4 总结 二、高斯网络的应用2.1 机器学习2.2 统计学2.3

【Rocketmq入门-基本概念】

Rocketmq入门-基本概念 名词解释名称服务器(NameServer)消息队列(Message Queue)主题(Topic)标签(Tag)生产者(Producer)消费者(Consumer)拉取模式(Pull)推送模式(Push)消息模型(Message Model) 关键组件Broker消息存储工作流程 名词解释 名称服务器(NameServer) 定义: 名称服务器

数据结构的基本概念和术语的一些介绍

数据:是客观事物的符号表示,包括两种:                  数值型(整数,实数)和非数值型(文字,图形,声音 数据元素:是数据的基本单位,通常作为一个整体进行表示。                  与数据的关系:是数据集合的个体 数据项:组成数据元素的不可分割的最小单位。 以上三者的关系:数据>数据元素>数据项                  例如:学生表>个人记录>

【DL--05】深度学习基本概念—函数式模型

函数式模型 函数式模型算是本文档比较原创的词汇了,所以这里要说一下 在Keras 0.x中,模型其实有两种,一种叫Sequential,称为序贯模型,也就是单输入单输出,一条路通到底,层与层之间只有相邻关系,跨层连接统统没有。这种模型编译速度快,操作上也比较简单。第二种模型称为Graph,即图模型,这个模型支持多输入多输出,层与层之间想怎么连怎么连,但是编译速度慢。可以看到,Sequentia

【DL--04】深度学习基本概念—data_format

data_format 这是一个无可奈何的问题,在如何表示一组彩色图片的问题上,Theano和TensorFlow发生了分歧,’th’模式,也即Theano模式会把100张RGB三通道的16×32(高为16宽为32)彩色图表示为下面这种形式(100,3,16,32),Caffe采取的也是这种方式。第0个维度是样本维,代表样本的数目,第1个维度是通道维,代表颜色通道数。后面两个就是高和宽了。这种t

【DL--03】深度学习基本概念—张量

张量 TensorFlow中的中心数据单位是张量。张量由一组成形为任意数量的数组的原始值组成。张量的等级是其维数。以下是张量的一些例子: 3 # a rank 0 tensor; this is a scalar with shape [][1. ,2., 3.] # a rank 1 tensor; this is a vector with shape [3][[1., 2., 3.]

【DL--02】深度学习基本概念--符号计算

符号计算 Keras的底层库使用Theano或TensorFlow,这两个库也称为Keras的后端。无论是Theano还是TensorFlow,都是一个“符号式”的库。 因此,这也使得Keras的编程与传统的Python代码有所差别。笼统的说,符号主义的计算首先定义各种变量,然后建立一个“计算图”,计算图规定了各个变量之间的计算关系。建立好的计算图需要编译以确定其内部细节,然而,此时的计算图还

linux下查看您当前是 Xorg(X11) 还是 Wayland方法

linux下查看您当前是 Xorg(X11) 还是 Wayland方法 方法如下(都是终端执行): echo $XDG_SESSION_TYPE 如果输出为wayland,则当前在 Wayland 环境中。 如果输出为x11,则当前在 X11 环境中。 或者 systemctl status display-manager 或者 loginctl show-session $(lo

数据结构 基本概念和述语

数据结构 基本概念和述语数据(data)数据元素(data element)数据项(data item)数据对象(data object)数据结构(data structure)逻辑结构与物理结构逻辑结构物理结构 抽象数据类型(Abstract Data Type, ADT):数据类型:抽象数据类型三元组的定义:抽象数据类型的表示与实现抽象数据类型Triplet的表示和实现: 算法和算法分析