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}:"
|
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
|
||||||
|
|
||||||
PACKAGECONFIG_GL = " ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2', '', d)} "
|
PACKAGECONFIG_GL = " ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', \
|
||||||
PACKAGECONFIG:append = " eglfs examples accessibility "
|
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"
|
QT_CONFIG_FLAGS += " -no-sse2 -no-opengles3"
|
||||||
|
|
||||||
SRC_URI:append = " \
|
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 () {
|
do_install:append () {
|
||||||
install -d ${D}${sysconfdir}/profile.d/
|
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"
|
SUMMARY = "QT packagegroup for DEY image"
|
||||||
|
|
||||||
|
|
@ -35,7 +35,24 @@ QT5_RDEPENDS:imxgpu3d = " \
|
||||||
gstreamer1.0-plugins-good-qt \
|
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.
|
# 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"
|
QT5_RDEPENDS:remove = " packagegroup-qt5-webengine"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue