摘要:本文介绍Linux系统调试屏幕过程中检查屏幕状态及信息的方法。如:驱动、屏幕连接、分辨率、色彩等状态。基于触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子
本文介绍Linux系统调试屏幕过程中检查屏幕状态及信息的方法。如:驱动、屏幕连接、分辨率、色彩等状态。基于触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。
DRM显示
查看显示驱动瑞芯微Rockchip平台从Linux 4.4 内核开始,显示驱动全部切到 DRM 显示框架。
DRM全称是Direct Rendering Manager,进行显示输出管理、buffer分配、帧缓冲。对应的userspace库为libdrm,libdrm库提供了一系列友好的控制封装,使用户可以方便的进行显示的控制和 buffer 申请。
DRM的设备节点为/dev/dri/cardX,X数值为0-15,默认使用的/dev/dri/card0。
查看显示设备状态一般对于DRM显示设备测试使用modetest工具。modetest 是一个用于显示和测试 Linux 内核模式设置的工具。可以列出可用的显示模式并测试它们的功能。
查看drm系统的基础状态:
root@ido:~# modetest -M rockchip
Encoders:
idcrtctype possible crtcspossible clones
1220 Virtual 0x00000001 0x00000001
12468 DSI 0x00000001 0x00000002
Connectors:
idencoderstatusnamesize (mm)modesencoders
125 124 connectedDSI-1 0x0 1 124
modes:
index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)
#0 800x1280 60.06 800 852 856 868 1280 1340 1358 1408 73400 flags: nhsync, nvsync; type: preferred, driver
props:
...内容省略...
CRTCs:
idfbpossize
68129(0,0)(800x1280)
#0 60.06 800 852 856 868 1280 1340 1358 1408 73400 flags: nhsync, nvsync; type:
props:
...内容省略...
Planes:
idcrtcfbCRTC x,yx,ygamma sizepossible crtcs
54681290,00,00 0x00000001
formats: XR24 AR24 XB24 AB24 RG24 BG24 RG16 BG16 NV12 NV21 NV16 NV61 NV24 NV42 NV15 NV20 NV30 YVYU VYUY YUYV UYVY
props:
...内容省略...
Frame buffers:
idsizepitch
第一部分的Encoders输出和第二部分的Connectors对应,从Dump 输出我们可以看到:
Connector DPI-1的id为125,它对应的Encoder id为124,并处于connected状态,说明底层驱动已经检测到了该 DPI接口上已经有显示设备连接。
modes是驱动上报的对应显示设备支持的分辨率。
输出彩条测试屏幕检测到drm正常后,可以在显示屏上输出彩条:
#其中125是DPI-1的id,68是crtc
modetest -M rockchip -s 125@68:800x1280
通过上述命令,可以在DSI上显示类似下边的smpte彩条。
液晶背光设置
使用backlight设置液晶屏的背光亮度,背光值设置范围0~255:
#背光设置为150
echo 150 > /sys/class/backlight/backlight/brightness
来源:Industio触觉智能