RK3588 buildroot QT 悬浮显示(OSD)
概述
主要介绍在rockchip rk3588 buildroot中 运行QT程序。需要结合之前的文档:认识DRM显示系统、buildroot中QT开发指导、以及如何集成QT库到3588板子上。
场景:在linux开发中,需要使用QT开发程序,做OSD显示。(如下图显示,显示器播放视频,QT页面悬浮于视频上方,显示信息和切换按钮等逻辑)
快速食用:
RK3588 Buildroot QT开发指导--交叉编译_rk3588 qt-CSDN博客
RK3588 Buildroot QT开发指导--QT Creator配置_rk3588 qt-CSDN博客
RK3588 DRM 介绍及调试记录-CSDN博客
目录
概述
开发环境准备
DRM显示框架回顾
QT悬浮实现关键步骤
声明
开发环境准备
-
硬件依赖:确认RK3588开发板支持多图层DRM显示
-
软件基础:
-
Qt 5.15+(需开启eglfs_kms后端支持)
-
Linux内核5.10+(启用DRM/KMS驱动)
-
我们把之前编译好的qt5库push到板子上,然后解压,配置好环境。
adb push C:\Users\xxx\Downloads\qt-rk3588.tar.gz /root
adb shell
cd /root
mkdir /opt/qt5
cp /root/qt-rk3588.tar.gz /opt/qt5/
cd /opt/qt5/
tar -xvf qt-rk3588.tar.gzroot@rk3588-buildroot:/opt/qt5# ls -l
total 43248
drwxrwxr-x 5 chrony chrony 28672 May 24 09:01 lib
drwxrwxr-x 31 chrony chrony 4096 May 24 09:01 plugins
drwxrwxr-x 26 chrony chrony 4096 May 24 09:01 qml
-rw-r--r-- 1 root root 44247461 May 24 09:00 qt-rk3588.tar.gzvi /etc/profileexport QT_ROOT=/opt/qt5
export LD_LIBRARY_PATH=$QT_ROOT/lib
#export QT_QPA_FONTDIR=/usr/share/fonts
#export QT_QPA_PLATFORM=linuxfb
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins/platforms
export QT_PLUGIN_PATH=$QT_ROOT/plugins
export QML2_IMPORT_PATH=$QT_ROOT/qml
#export PATH=$QT_ROOT/bin:$PATHsource /etc/profile
DRM显示框架回顾
图层规划
假设我们后面的运行的qt osd程序位于第6层,即plane173。那么它大于plane57,因此它就能覆盖在0层上。
root@rk3588-buildroot:/# cat /sys/kernel/debug/dri/0/state
plane[57]: Esmart0-win0