QT 程序使用 Framebuffer 显示 UI

桌面版本的 Linux 都会带有类似 xorg 这样的图形服务,桌面程序和应用程序的 UI 都是通过图形服务渲染的。但是有些系统为了减少系统体积、提升性能,会把图像服务和没有用到的模块裁剪掉,如:嵌入式系统。

没有图形服务程序就不能直接渲染显示 UI,这时候我们可以使用 Framebuffer 进行渲染。
Framebuffer 也叫帧缓冲,它相当于屏幕的显示内容缓存,修改 Framebuffer 的内容,屏幕显示的内容也会同步修改。

Qt 支持 Framebuffer 显示,在编译 Qt 环境的时候,configure 加上启用 Framebuffer 的参数

-enable-linuxfb
1
运行 Qt 程序的时候指定 Framebuffer 设备

$ sudo ./app -platform linuxfb:fb=/dev/fb0
1
一般默认是 fb0,如果连接多个设备的话,可以把 /dev/fbn 都试一遍,挑一个喜欢的用。

posted @ 2024-04-23 21:04  阿风小子  阅读(110)  评论(0编辑  收藏  举报