qt quick 在 framebuffer 中运行

环境准备

首先,要有qt的运行环境,我们的版本是5.15.2,要有linuxfb插件,如libqlinuxfb.so

fanbao@sea:~/Qt/5.15.2/gcc_64/plugins/platforms$ ls
libqeglfs.so       libqoffscreen.so        libqwayland-xcomposite-egl.so
libqlinuxfb.so     libqvnc.so              libqwayland-xcomposite-glx.so
libqminimalegl.so  libqwayland-egl.so      libqwebgl.so
libqminimal.so     libqwayland-generic.so  libqxcb.so

运行程序

在需要的环境进行编译,会在 build 目录下生成可执行程序 myqt(暂定)

cd /myqt/build/
cmake ..
make

然后需要我们进入到无图形化界面中,避免我们的输出被x11,wayland等抢走,冲突,从而不显示,可以通过 ctrl alt f3 进入到我们的 tty 中,然后执行程序,有时可能还会遇到权限的问题,可以通过把我们的用户添加到 vedio 来解决。其中

  • export QT_PLUGIN_PATH=/path/to/Qt/5.15.2/gcc_64/plugins 是为了让我们的程序能找到linuxfb插件的地址
  • linuxfb 不自动处理输入设备,需要我们手动添加键盘,鼠标,或者触摸的设备,比如这里我们添加了键盘和鼠标 ,通过 export QT_QPA_EVDEV_KEYBOARD_PARAMETERS=/dev/input/eventX ,export QT_QPA_EVDEV_MOUSE_PARAMETERS=/dev/input/eventX,其中event后面的这个数字X需要我们去查询,通过cat /proc/bus/input/devices 观察 handler 或者用工具 evtest 去查询
cd /myqt/build/
export QT_PLUGIN_PATH=/home/fanbao/Qt/5.15.2/gcc_64/plugins
export QT_QPA_EVDEV_KEYBOARD_PARAMETERS=/dev/input/eventX
export QT_QPA_EVDEV_MOUSE_PARAMETERS=/dev/input/eventX
./myqt -platform linuxfb
posted @ 2026-01-16 16:33  爱吃鸡魔人zf  阅读(0)  评论(0)    收藏  举报