modetest

modetest

DRM/KMS驱动程序libdrm中的模式测试工具

补充说明

modetest 是一个用于测试和验证 DRM(Direct Rendering Manager)驱动程序功能的命令行工具。

安装

编译

./configure --prefix=/opt/ --host=aarch64-linux-gnu
make && make install
## 编译删除
make distclean

参考libdrm调试准备 – 简书

语法

modetest [选项]

选项

# 查询选项
-c      列出连接器
-e      列出编码器
-f      列出帧缓冲
-p      列出 CRTCs 和平面

# 测试选项
-P <plane_id>@<crtc_id>:<w>x<h>[+<x>+<y>][*<scale>][@<format>]   设置一个平面
-s <connector_id>[,<connector_id>][@<crtc_id>]:<mode>[-<vrefresh>][@<format>]   设置一个显示模式
-C      测试硬件光标
-v      测试垂直同步页面翻转
-w <obj_id>:<prop_name>:<value>   设置属性

# 通用选项
-a      启用原子模式设置
-d      在模式设置后放弃主控权限
-M <module>      指定要使用的驱动程序模块
-D <device>      指定要使用的设

参数

<modele> 驱动模块

  • i915:Intel 集成显卡驱动模块
  • amdgpu:AMD Radeon 显卡驱动模块
  • radeon:旧版 AMD Radeon 显卡驱动模块
  • nouveau:NVIDIA 开源显卡驱动模块
  • vmwgfx:VMware 显卡驱动模块
  • omapdrm:TI OMAP 显卡驱动模块
  • exynos:三星 Exynos 显卡驱动模块
  • tilcdc:TI LCD 控制器显卡驱动模块
  • msm:Qualcomm MSM 显卡驱动模块
  • sti:STMicroelectronics 显卡驱动模块
  • tegra:NVIDIA Tegra 显卡驱动模块
  • imx-drm:Freescale i.MX 显卡驱动模块
  • rockchip:Rockchip 显卡驱动模块

实例

使用 modetest 查看相关信息

~# modetest
Encoders:  # 省略了好多好多
id      crtc    type    possible crtcs  possible clones
194     0       Virtual 0x0000000f      0x00000001
196     88      TMDS    0x00000002      0x00000002
210     0       DSI     0x00000004      0x00000004
213     0       TMDS    0x00000001      0x00000008

Connectors:  # 省略了好多好多
id      encoder status          name            size (mm)       modes   encoders
197     196     connected       HDMI-A-1        530x300         10      196
  mode # 巴拉巴拉非常多的一大串
211     210     connected       DSI-1           184x114         1       210
214     0       disconnected    DP-1            0x0             0       213

CRTCs:  # 省略了好多好多****
id      fb      pos     size
68      0       (0,0)   (0x0)
  0 0 0 0 0 0 0 0 0 0 flags: ; type:
88      0       (0,0)   (0x0)
   0 0 0 0 0 0 0 0 0 0 flags: ; type:
108     219     (0,0)   (1200x1920)
  1200x1920 60 1200 1280 1284 1344 1920 1955 1956 1981 159400 flags: ; type:
128     0       (0,0)   (0x0)
   0 0 0 0 0 0 0 0 0 0 flags: ; type:

Planes: # 省略了好多好多
id      crtc    fb      CRTC x,y        x,y     gamma size      possible crtcs
54      0       0       0,0             0,0     0               0x0000000f
  formats: XR24 AR24 XB24 AB24 RG24 BG24 RG16 BG16 NV12 NV21 NV16 NV61 NV24 NV42 NV15 NV20 NV30 YVYU VYUY YUYV UYVY
74      0       0       0,0             0,0     0               0x0000000f
  formats: XR24 AR24 XB24 AB24 RG24 BG24 RG16 BG16 NV12 NV21 NV16 NV61 NV24 NV42 NV15 NV20 NV30 YVYU VYUY YUYV UYVY
94      108     219     0,0             0,0     0               0x0000000f
  formats: XR24 AR24 XB24 AB24 RG24 BG24 RG16 BG16 NV12 NV21 NV16 NV61 NV24 NV42 NV15 NV20 NV30 YVYU VYUY YUYV UYVY

根据以上信息在 MIPI-DSI 显示设备上使用 Rockchip 显卡驱动测试

~# modetest -M rockchip -s 211@108:1200x1920 -v
freq: 59.90Hz
freq: 59.87Hz
freq: 59.87Hz
freq: 59.87Hz
freq: 59.87Hz
freq: 59.87Hz
freq: 59.87Hz
freq: 59.87Hz
freq: 59.87Hz

MIPI 屏幕上将会看到闪烁的彩色块。


~# modetest -M rockchip -s 211@108:1200x1920 -C
setting mode 1200x1920-60Hz@XR24 on connectors 211, crtc 108
starting cursor

MIPI 屏幕上将会看到静止的彩色块。

若文章对你有帮助,可以点赞或打赏支持我们。发布者:Aurora,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/modetest/

(0)
AuroraAurora站点维系者
上一篇 2024年 1月 3日 下午6:05
下一篇 2024年 1月 3日 下午6:06

相关推荐

  • domainname

    文章目录domainname补充说明语法选项参数实例 domainname 显示和设置系统的NIS域名 补充说明 domainname命令 用于显示和设置系统的NIS域名。 语法 …

    入门教程 2023年 12月 7日
  • ssh-copy-id

    文章目录ssh-copy-id补充说明语法选项实例 ssh-copy-id 把本地的ssh公钥文件安装到远程主机对应的账户下 补充说明 ssh-copy-id命令 可以把本地主机的…

    入门教程 2024年 3月 11日
  • ftpshut

    ftpshut 在指定的时间关闭FTP服务器 补充说明 功能说明:在指定的时间关闭ftp服务器。本指令提供系统管理者在设置的时间关闭FTP服务器,且能在关闭之前发出警告信息通知用户…

    入门教程 2023年 12月 14日
  • ypdomainname

    文章目录ypdomainname补充说明语法选项 ypdomainname 显示主机的NIS的域名 补充说明 ypdomainname命令 显示主机的NIS的域名。 语法 ypdo…

    入门教程 2024年 3月 11日
  • ipcalc

    文章目录ipcalc补充说明语法选项实例 ipcalc 简单的IP地址计算器 补充说明 ipcalc命令 是一个简单的ip地址计算器,可以完成简单的IP地址计算任务。 语法 ipc…

    入门教程 2023年 12月 19日
  • scp

    文章目录scp补充说明语法选项参数实例 scp 加密的方式在本地主机和远程主机之间复制文件 补充说明 scp命令 用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不…

    入门教程 2024年 3月 4日
  • clockdiff

    文章目录clockdiff补充说明选项实例 clockdiff 检测两台linux主机的时间差 补充说明 在ip报文的首部和ICMP报文的首部都可以放入时间戳数据。 clockdi…

    入门教程 2023年 12月 7日
  • chsh

    文章目录chsh补充说明语法选项参数实例 chsh 用来更换登录系统时使用的shell 补充说明 chsh命令 用来更换登录系统时使用的shell。若不指定任何参数与用户名称,则c…

    入门教程 2023年 12月 7日
  • setsebool

    文章目录setsebool补充说明语法选项实例 setsebool 修改SElinux策略内各项规则的布尔值 补充说明 setsebool命令 是用来修改SElinux策略内各项规…

    入门教程 2024年 3月 4日
  • Java 修饰符

    Java语言提供了很多修饰符,主要分为以下两类: 访问修饰符 非访问修饰符 修饰符用来定义类、方法或者变量,通常放在语句的最前端。我们通过下面的例子来说明: public clas…

    2023年 3月 4日

发表回复

登录后才能评论
Translate »