对于 Display 框架,我需要了解 KMS api 吗?| Linux 驱动( 四 )

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 的画面 。
3、kmscube
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
对于 Display 框架,我需要了解 KMS api 吗?| Linux 驱动

文章插图
 
kmscube 运行效果
还有很多优秀的开源软件,例如 Wayland 的参考实现 Weston,媒体播放器 Kodi、复古游戏模拟器前端 RetroArch 等,都是我们学习 KMS api 的优秀学习资料,感兴趣的小伙伴可以自行研究一波 。
到此,KMS api 的基础知识就介绍完毕了,感谢阅读!
文章链接:
https://mp.weixin.qq.com/s/2Wermbnh4GKEF8RvbdDj4A
转载自:老吴嵌入式 ,作者吴伟东Jack
文章链接:对于 Display 框架,我需要了解 KMS api 吗? | Linux 驱动




推荐阅读