2、libdrm 自带的测试程序:modetest
https://gitlab.freedesktop.org/mesa/drm
modetest 是由 libdrm 提供的测试程序,可以查询显示设备的支持状况,进行基本的显示测试,以及设置显示的模式 。
编译:
$ apt-get install meson ninja-build $ git clone https://gitlab.freedesktop.org/mesa/drm libdrm $ cd libdrm $ meson build/ $ ninja -C build install
会生成库文件和测试程序:
libkms tests/ # 包含 modetest libdrm.so.2.4.0 libdrm.so.2 libdrm.so
用法:
// 在 edp 屏上显示测试画面 $ modetest -M rockchip -s 77@54:1920x1080 setting mode 1920x1080-60.00Hz on connectors 77, crtc 54 // 在 hdmi 屏上显示测试画面 $ modetest -M rockchip -s 81@65:1920x1080 setting mode 1920x1080-60.00Hz on connectors 81, crtc 65
参数说明:
- -M:用于指定访问哪个 DRM 设备;
- -s [,][@]:[#][-][@]:用于在指定的 pipeline 上以某个 mode 显示某个 pattern 的画面 。
https://gitlab.freedesktop.org/mesa/kmscube/
kmscube 是一个演示程序,用于说明如何在没有 X11、wayland 等 compositor 的情况下编写 bare metal 图形应用 。它使用了 DRM/KMS(kernel mode setting)、GBM(graphics buffer manager)和 EGL 来使用 OpenGL 或 OpenGL ES 渲染内容 。
编译:
$ apt-get install meson ninja-build $ git clone https://gitlab.freedesktop.org/mesa/kmscube/ kmscube $ cd kmscube $ meson build/ $ ninja -C build install
用法:
$ ./kmscube
文章插图
kmscube 运行效果
还有很多优秀的开源软件,例如 Wayland 的参考实现 Weston,媒体播放器 Kodi、复古游戏模拟器前端 RetroArch 等,都是我们学习 KMS api 的优秀学习资料,感兴趣的小伙伴可以自行研究一波 。
到此,KMS api 的基础知识就介绍完毕了,感谢阅读!
文章链接:
https://mp.weixin.qq.com/s/2Wermbnh4GKEF8RvbdDj4A
转载自:老吴嵌入式 ,作者吴伟东Jack
文章链接:对于 Display 框架,我需要了解 KMS api 吗? | Linux 驱动
推荐阅读
- 装了.Net 7.0后,工程框架用 net6 的 dotnet watch 出错临时解决方案
- python爬虫之Scrapy框架,基本介绍使用以及用框架下载图片案例
- 孩子厌学如何解决?
- 作文辅导班有必要吗
- 考研英语怎么学
- 三星堆将改写历史 三星堆对于现在历史研究有和意义
- 如何开好一家水果店?
- 想用facebook facebook商务管理平台使用教程
- 女性过了30岁后应该如何护肤
- 彭小苒|《东宫》对于彭小苒来说,是最不愿意提及的伤疤