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 选项会列出所有支持的显示模式(包括像素时钟、同步信号等参数)。

六、Linux系统 DRM调试工具modetest的更多相关文章

  1. linux系统——网络调试工具

    http://blog.csdn.net/chinalinuxzend/article/details/1799279 1.网络调试工具概说: 如 果我们把一台机器接入网络中,通过网络配置工具的配置这 ...

  2. CentOS(六)--Linux系统的网络环境配置

    Linux系统下的网络环境配置,Linux.Unix就是网络的世界,所以在Linux系统中如何配置网络环境变量是至关重要的,这里将会给出3种Linux系统下网络环境配置的方法! 在配置网络环境之前,首 ...

  3. centos linux系统日常管理3 服务管理ntsysv,chkconfig,系统日志rsyslog,last ,lastb ,exec,xargs,dmesg,screen,nohup,curl,ping ,telnet,traceroute ,dig ,nc,nmap,host,nethogs 第十六节课

    centos linux系统日常管理3  服务管理ntsysv,chkconfig,系统日志rsyslog,last ,lastb ,exec,xargs,dmesg,screen,nohup,cur ...

  4. 孤荷凌寒自学python第六十一天在Fedora28版的linux系统上找搭建本地Mongodb数据服务

    孤荷凌寒自学python第六十一天在Fedora28版的linux系统上找搭建本地Mongodb数据服务 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第七天.成功在本地搭建 ...

  5. 总结六条对我们学习Linux系统有用的忠告

    接触linux需要的是端正自己的态度,这个玩意可不是一天两天就能拿得下的.学习个基础,能装系统.能装常见服务.能编译.能配置存储空间.能配置系统参数.能简单查看系统负载等基本够用.但这些只保证能做机房 ...

  6. Linux系统性能测试工具(六)——磁盘io性能工具之dd

    本文介绍关于Linux系统(适用于centos/ubuntu等)的磁盘io性能测试工具-dd.磁盘io性能测试工具包括: fio: dd

  7. 第六章 Linux系统之文件管理

    一.文件管理概述 1.对文件做些什么? 谈到Linux文件管理,首先我们需要了解的就是,我们要对文件做些什么事情? 其实无非就是对一个文件进行创建.复制.移动.查看.编辑.压缩.查找.删除等等 2.内 ...

  8. Linux系统Shell脚本第六章:文件三剑客之sed

    Shell编程三剑客之sed 前言 一.Sed编辑器 (1)Sed概述 (2)Sed工作流程 (3)Sed基本语法 二.Sed用法示例 (1)Sed输出指定行 (2)插入符合条件的行 (3)删除符合条 ...

  9. 查看linux系统常用的命令,Linux查看系统配置常用命令

    一.linux CPU大小  cat /proc/cpuinfo |grep "model name" && cat /proc/cpuinfo |grep &qu ...

  10. 深入理解linux系统下proc文件系统内容

    深入理解linux系统下proc文件系统内容 内容摘要:Linux系统上的/proc目录是一种文件系统,即proc文件系统. Linux系统上的/proc目录是一种文件系统,即proc文件系统.与其它 ...

随机推荐

  1. 标准javabean

    1.javabean介绍 javabean,名为实体类,封装数据的类 前面我们写的类都是实体类,但我们写的不是标准的实体类 . 2.标准的javabean写法 如图 3.快捷键 一个成员变量就要写两个 ...

  2. 【Linux】3.10 进程管理(重点)

    进程管理 1. 进程管理基础 在Linux中,每个执行的程序(代码)都称为一个进程.每个进程都分配一个ID号 每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程.例如www服务器. 每个进 ...

  3. Sublime Text 3汉化教程

    一.初始化插件仓库 ctrl+`(esc键下方那一个)打开控制台输入以下代码回车 import urllib.request,os,hashlib; h = '6f4c264a24d933ce70df ...

  4. Mybatis的*Dao.XML中的配置与其对应的接口、resultMap的运用

    例子. <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC &quo ...

  5. 🎀dubbo QOS介绍及命令

    简介 在Dubbo中,QoS(Quality of Service)功能是一个非常重要的特性,用于提供对运行时服务的查询和控制能力. QoS的概念源自网络设备中的服务质量保障机制,但在Dubbo中,它 ...

  6. 🎀springboot 项目启动自动打开浏览器访问网站设置

    简介 Springboot 项目启动自动打开浏览器访问网站设置 环境 windows 实现 在需要打开网址的地方添加: // 启动打开默认浏览器访问 try { Runtime.getRuntime( ...

  7. 定时任务Cron表达式工具类Cron Util

    依赖 cron-utils的github地址:https://github.com/jmrozanec/cron-utils <dependency> <groupId>com ...

  8. 话说神奇的content="IE=edge,chrome=1"的meta标签内容

    这是个是IE8的专用标记,用来指定IE8浏览器去模拟某个特定版本的IE浏览器的渲染方式(比如人见人烦的IE6),以此来解决部分兼容问题,例如模拟IE7的具体方式如下: < meta http-e ...

  9. 精选 14 款 .NET 开源、功能强大的快速开发框架,提高开发生产效率、避免工作996!

    前言 最近发现DotNetGuide技术社区微信交流群有不少小伙伴在问:.NET有哪些不错的快速开发框架推荐的? 选择一款全面且功能强大的快速开发框架能够帮助我们解决C#..NET项目中的很多重复工作 ...

  10. 大模型应用开发进阶篇:Spring-AI 结合领域驱动开发设计思想

    ​  概要 本文聚焦如何使用spring-AI来开发大模型应用一些进阶技能,包含一套可落地的技术设计模式,读完你将会学习到: 如何使用Spring-AI 开发大模型对话应用 如何综合设计一套适用Spr ...