一:modetest
是由libdrm提供的測試程序,可以查詢顯示設備的支持狀況,進行基本的顯示測試,以及設置顯示的模式。
源碼下載:libdrm的下載鏈接:https://dri.freedesktop.org/libdrm/libdrm-2.4.100.tar.bz2
1 # ./configure 2 # Make -j4
編譯完成后會在目錄libdrm-2.4.100/tests/modetest下生成 modetest 可執行文件。
modetest示例:
modetest的運行需要root權限。
首先這里給出一組顯示示例,命令參數如下:
1 ./modetest -M vc4 -D 0 -a -s 32@140:1920x1080 -P 173@140:1920x1080 -Ftiles
程序運行效果是,通過HDM連接的顯示器整屏的顯示了漸變的斜條紋:
通過--help參數可以查看modetest支持的全部選項,如下:
1 ./modetest --help
下面的命令可以查看目前所在平台支持的分辨率
1 modetest -M 所在平台的du的名字
二:kmscube
是由mesa3d提供和維護,這是一個基於 KMS/GBM/EGL/OPENGL ES2.0 測試用例。
kmscude不依賴X11、wayland等窗口系統的簡單圖像測試程序。
GBM、EGL和OpenGL ES產生圖形數據,再經由DRM/KMS顯示。
GBM、EGL和OpenGL ES由mesa3D提供相關的庫,DRM/KMS通過libdrm庫進行訪問。
所以kmscude同時包含OpenGL、EGL、GBM和DRM/KMS的基本用法。
編譯
1 meson . build && ninja -C build
編譯成功后,build路徑下會生成可執行文件:
1 ls build/ 2 build.ninja kernel.trace kmscube-l.profile kmscube.profile 'kmscube@exe'/ meson-logs/ oprofile_data/ 'texturator@exe'/ 3 compile_commands.json kmscube* kmscube.1.trace kmscube.trace meson-info/ meson-private/ texturator*
通過如下命令查看kmscude的幫助信息:
1 ./kmscube --help
基本用法
1 sudo ./kmscube -A -D /dev/dri/card0 -M smooth
說明:
-A:DRM/KMS使用atomic模式
-D:指定設備節點,DRM/KMS和GPU是同一個設備節點
-M:指定OpenGL的繪圖模式,可選的值包括:smooth、rgba、nv12-2img、nv12-1img