modetest

DRM/KMS驅動程序libdrm中的模式測試工具

補充說明

modetest 是一個用於測試和驗證 DRM(Direct Rendering Manager)驅動程序功能的命令行工具。

安裝

編譯

1./configure --prefix=/opt/ --host=aarch64-linux-gnu
2make && make install
3## 編譯刪除
4make distclean

參考libdrm調試準備 - 簡書

語法

1modetest [選項]

選項

 1# 查詢選項
 2-c      列出連接器
 3-e      列出編碼器
 4-f      列出幀緩衝
 5-p      列出 CRTCs 和平面
 6
 7# 測試選項
 8-P <plane_id>@<crtc_id>:<w>x<h>[+<x>+<y>][*<scale>][@<format>]   設置一個平面
 9-s <connector_id>[,<connector_id>][@<crtc_id>]:<mode>[-<vrefresh>][@<format>]   設置一個顯示模式
10-C      測試硬件光標
11-v      測試垂直同步頁面翻轉
12-w <obj_id>:<prop_name>:<value>   設置屬性
13
14# 通用選項
15-a      啓用原子模式設置
16-d      在模式設置後放棄主控權限
17-M <module>      指定要使用的驅動程序模塊
18-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 查看相關信息

 1~# modetest
 2Encoders:  # 省略了好多好多
 3id      crtc    type    possible crtcs  possible clones
 4194     0       Virtual 0x0000000f      0x00000001
 5196     88      TMDS    0x00000002      0x00000002
 6210     0       DSI     0x00000004      0x00000004
 7213     0       TMDS    0x00000001      0x00000008
 8
 9Connectors:  # 省略了好多好多
10id      encoder status          name            size (mm)       modes   encoders
11197     196     connected       HDMI-A-1        530x300         10      196
12  mode # 巴拉巴拉非常多的一大串
13211     210     connected       DSI-1           184x114         1       210
14214     0       disconnected    DP-1            0x0             0       213
15
16CRTCs:  # 省略了好多好多****
17id      fb      pos     size
1868      0       (0,0)   (0x0)
19  0 0 0 0 0 0 0 0 0 0 flags: ; type:
2088      0       (0,0)   (0x0)
21   0 0 0 0 0 0 0 0 0 0 flags: ; type:
22108     219     (0,0)   (1200x1920)
23  1200x1920 60 1200 1280 1284 1344 1920 1955 1956 1981 159400 flags: ; type:
24128     0       (0,0)   (0x0)
25   0 0 0 0 0 0 0 0 0 0 flags: ; type:
26
27Planes: # 省略了好多好多
28id      crtc    fb      CRTC x,y        x,y     gamma size      possible crtcs
2954      0       0       0,0             0,0     0               0x0000000f
30  formats: XR24 AR24 XB24 AB24 RG24 BG24 RG16 BG16 NV12 NV21 NV16 NV61 NV24 NV42 NV15 NV20 NV30 YVYU VYUY YUYV UYVY
3174      0       0       0,0             0,0     0               0x0000000f
32  formats: XR24 AR24 XB24 AB24 RG24 BG24 RG16 BG16 NV12 NV21 NV16 NV61 NV24 NV42 NV15 NV20 NV30 YVYU VYUY YUYV UYVY
3394      108     219     0,0             0,0     0               0x0000000f
34  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 顯卡驅動測試

 1~# modetest -M rockchip -s 211@108:1200x1920 -v
 2freq: 59.90Hz
 3freq: 59.87Hz
 4freq: 59.87Hz
 5freq: 59.87Hz
 6freq: 59.87Hz
 7freq: 59.87Hz
 8freq: 59.87Hz
 9freq: 59.87Hz
10freq: 59.87Hz

MIPI 屏幕上將會看到閃爍的彩色塊。


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

MIPI 屏幕上將會看到靜止的彩色塊。

來源:https://github.com/jaywcjlove/linux-command

最後修改於: Wednesday, January 31, 2024

相關文章:

翻譯: