平台:嵌入式ARM(RK3128)
Qt4依靠于QWS框架,环境变量如下(/etc/profile):
#Qt4环境变量
QT_DIR=/usr/lib/arm-qt
export QT_QWS_FONTDIR=$QT_DIR/lib/fonts
export QWS_MOUSE_PROTO="tslib:/dev/input/event1 mouseman:/dev/input/mice"
export QT_QWS_DISPLAY="linuxFB:/dev/fb0"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QT_DIR/lib
#触摸屏插件
export TSLIB_ROOT=/usr/lib/arm-tslib
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal
Qt5改用了QPA框架,环境变量要做如下修改:
#Qt5环境变量
export QT_ROOT=/RK3128-QT5/arm-qt5
export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event0
export QT_QPA_FONTDIR=$QT_ROOT/fonts
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins
export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0
export QT_PLUGIN_PATH=$QT_ROOT/plugins
export LD_LIBRARY_PATH=$QT_ROOT/lib:$QT_ROOT/plugins/platforms
export QML2_IMPORT_PATH=$QT_ROOT/qml
export QT_QPA_FB_TSLIB=1
export QT_QPA_FB_DRM=1
#触摸屏插件
export TSLIB_ROOT=/RK3128-QT5/tslib
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal
export LD_PRELOAD=$TSLIB_ROOT/lib/libts.so
需要注意的是如果在Qt5使用FrameBuffer(帧缓冲)来显示,需要增加QT_QPA_FB_DRM变量为非0值,下面是官方说明:
LinuxFB
This plugin writes directly to the framebuffer via Linux's fbdev subsystem. Only software-rendered content is supported. Note that on some setups the display performance is expected to be limited.
However, since fbdev is being deprecated in the Linux kernel, the DRM dumb buffer support is also available, as of Qt 5.9. To use it, set the QT_QPA_FB_DRM environment variable to a non-zero value. When set, provided that dumb buffers are supported by your system, legacy framebuffer devices like /dev/fb0 won't be accessed. Instead, the rendering is set up via the DRM APIs, similar to the eglfs_kms backend in EGLFS. The output is double-buffered and page flipped, providing proper vsync for software-rendered content as well.
————————————————
版权声明:本文为CSDN博主「北斗猩」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41521612/article/details/120564494