六、Linux系统 DRM调试工具modetest

4.20、modetest(调试 DRM)

modetestlibdrm 提供的一个测试工具,用于调试 DRM(Direct Rendering Manager) 设备,它能够列出可用的显示设备、模式信息,并支持设置显示模式、显示图像等功能。

  • 检测并列出可用的显示设备、分辨率模式。
  • 手动设置分辨率,验证是否能正确显示。
  • 进行显示相关的调试,如 dmesg 错误排查。
4.20.1、modetest 配置

在 Ubuntu/Debian 系统上,可以使用以下命令安装:

sudo apt install libdrm-tests

安装后,modetest 命令即可使用。

如果在 Buildroot 环境中,可以在配置 Buildroot 时启用 libdrmmodetest 工具支持。

Target packages  ---> Libraries  --->
[*] libdrm
4.20.2、modetest 基本用法
4.20.2.1、列出所有 DRM 设备信息
modetest -c

该命令会列出所有可用的 CRTC(显示控制器) 和 Connector(显示连接器),包括支持的分辨率、刷新率、属性等信息。

示例输出:

Encoders:
id	crtc	type	possible crtcs	possible clones
32	0	DPMS	0x00000001	0x00000000

Connectors:
id	encoder	status	name	size(mm)	modes	encoders
33	32	connected	HDMI-A-1	530x300	4	32

其中:

  • Connectors 部分显示当前连接的显示设备(如 HDMI、eDP、LVDS)。
  • Modes 表示当前接口支持的显示模式。
4.20.2.2、显示支持的模式
modetest -p

该命令会打印出所有支持的模式,显示分辨率、刷新率、像素时钟等信息。

4.20.3、 modetest 进行模式设置
4.20.3.1、设置分辨率和刷新率

可以使用 -s 选项设置某个显示接口的分辨率和刷新率:

modetest -s <connector_id>:<width>x<height>@<refresh_rate>

示例:

modetest -s 33:1920x1080@60

表示将 id=33 的连接器设置为 1920x1080 分辨率,刷新率 60Hz

如果不指定刷新率,系统会选择默认支持的模式:

modetest -s 33:1920x1080
4.20.3.2、设置显示图片(测试显示输出)

modetest 还支持在屏幕上绘制测试图像。例如:

modetest -v -s 33:1920x1080

会在 1920x1080 屏幕上显示一个测试图像(常见是红绿蓝色块)。

4.20.4、modetest 高级用法
4.20.4.1、只列出当前可用的连接器
modetest -c

可以仅查看连接器的信息,帮助快速查找 connector_id

4.20.4.2、列出所有 CRTC
modetest -C

该命令可以列出所有 CRTC 及其支持的特性,例如支持的最大分辨率、扫描方式等。

4.20.4.3、列出所有 Planes(图层)
modetest -P

该命令用于列出所有可用的 PlaneDRM 里的图层概念),不同的 Plane 可以用于合成多个图像层,例如实现视频叠加。

4.20.4.4、详细模式信息(用于调试)
modetest -D /dev/dri/card0 -c -m

其中:

  • -D 选项用于指定 DRM 设备(默认 /dev/dri/card0)。
  • -m 选项会列出所有支持的显示模式(包括像素时钟、同步信号等参数)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值