qt5: ccmp1: add support for EGLFS backend
EGLFS is a platform plugin for running single Qt applications in full-screen mode, without a windowing system like X11 or Wayland. https://onedigi.atlassian.net/browse/DEL-8802 Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit is contained in:
parent
0817a4de93
commit
ba1e3b8328
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"device": "/dev/dri/card0",
|
||||
"outputs": [
|
||||
{ "name": "HDMI1", "mode": "1280x720", "size": "1280x720" }
|
||||
],
|
||||
"hwcursor": false
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
#!/bin/sh
|
||||
|
||||
export QT_QPA_PLATFORM=eglfs
|
||||
|
||||
# Use the KMS/DRM backend
|
||||
export QT_QPA_EGLFS_INTEGRATION=eglfs_kms
|
||||
|
||||
if [ -e /usr/share/qt5/cursor.json ];
|
||||
then
|
||||
export QT_QPA_EGLFS_KMS_CONFIG=/usr/share/qt5/cursor.json
|
||||
fi
|
||||
|
||||
# Force to keep the MODE SETTING set
|
||||
export QT_QPA_EGLFS_ALWAYS_SET_MODE=1
|
||||
|
||||
# Force to use KMS ATOMIC
|
||||
export QT_QPA_EGLFS_KMS_ATOMIC=1
|
||||
|
||||
# EGLFS environment variables accessible for qt 5.12
|
||||
# Documentation: https://doc.qt.io/qt-5/embedded-linux.html
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
|
||||
export QT_QPA_PLATFORM="wayland"
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
#!/bin/sh
|
||||
export QT_QPA_PLATFORM="wayland"
|
||||
|
||||
[ -f "/etc/profile.d/weston_profile.sh" ] && return
|
||||
|
||||
# Use EGLFS platform plugin for images without Wayland
|
||||
export QT_QPA_PLATFORM="eglfs" QT_QPA_EGLFS_INTEGRATION="eglfs_viv"
|
||||
|
|
@ -1,15 +1,37 @@
|
|||
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||
|
||||
PACKAGECONFIG_GL = " ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2', '', d)} "
|
||||
PACKAGECONFIG:append = " eglfs examples accessibility "
|
||||
PACKAGECONFIG_GL = " ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', \
|
||||
bb.utils.contains('DISTRO_FEATURES', 'wayland', 'gles2', \
|
||||
'gles2 eglfs', d), '', d)}"
|
||||
PACKAGECONFIG:append = " \
|
||||
eglfs \
|
||||
examples \
|
||||
accessibility \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', 'gbm kms', d)} \
|
||||
"
|
||||
QT_CONFIG_FLAGS += " -no-sse2 -no-opengles3"
|
||||
|
||||
SRC_URI:append = " \
|
||||
file://qt5.sh \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', \
|
||||
'file://qt5-wayland.sh', \
|
||||
'file://qt5-eglfs.sh \
|
||||
file://cursor.json ', d)} \
|
||||
"
|
||||
do_install:append () {
|
||||
install -d ${D}${sysconfdir}/profile.d/
|
||||
install -m 0755 ${WORKDIR}/qt5.sh ${D}${sysconfdir}/profile.d/qt5.sh
|
||||
|
||||
if ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'true', 'false', d)}; then
|
||||
# Wayland backend
|
||||
install -m 0755 ${WORKDIR}/qt5-wayland.sh ${D}${sysconfdir}/profile.d/qt5.sh
|
||||
else
|
||||
# EGLFS backend
|
||||
install -d ${D}${datadir}/qt5
|
||||
install -m 0755 ${WORKDIR}/qt5-eglfs.sh ${D}/${sysconfdir}/profile.d/qt5.sh
|
||||
install -m 0664 ${WORKDIR}/cursor.json ${D}${datadir}/qt5/
|
||||
fi
|
||||
}
|
||||
|
||||
FILES:${PN} += "${sysconfdir}/profile.d/qt5.sh"
|
||||
FILES:${PN} += " \
|
||||
${sysconfdir}/profile.d/qt5.sh \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', '${datadir}/qt5', d)} \
|
||||
"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (C) 2013-2023, Digi International Inc.
|
||||
# Copyright (C) 2013-2024, Digi International Inc.
|
||||
#
|
||||
SUMMARY = "QT packagegroup for DEY image"
|
||||
|
||||
|
|
@ -35,7 +35,24 @@ QT5_RDEPENDS:imxgpu3d = " \
|
|||
gstreamer1.0-plugins-good-qt \
|
||||
"
|
||||
|
||||
QT5_RDEPENDS:ccmp15 = "${QT5_RDEPENDS_common}"
|
||||
QT5_RDEPENDS_eglfs = " \
|
||||
qtbase \
|
||||
qtbase-plugins \
|
||||
qtbase-tools \
|
||||
qtdeclarative \
|
||||
qtdeclarative-qmlplugins \
|
||||
qtdeclarative-tools \
|
||||
qtgraphicaleffects-qmlplugins \
|
||||
qtmultimedia \
|
||||
qtmultimedia-plugins \
|
||||
qtmultimedia-qmlplugins \
|
||||
qtscript \
|
||||
"
|
||||
|
||||
QT5_RDEPENDS:ccmp15 = " \
|
||||
${QT5_RDEPENDS_common} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', '${QT5_RDEPENDS_eglfs}', d)} \
|
||||
"
|
||||
|
||||
# Add packagegroup-qt5-webengine to QT5_RDEPENDS and comment out the line below to install qtwebengine to the rootfs.
|
||||
QT5_RDEPENDS:remove = " packagegroup-qt5-webengine"
|
||||
|
|
|
|||
Loading…
Reference in New Issue