diff options
12 files changed, 111 insertions, 61 deletions
diff --git a/meta-agl-drm-lease/README.md b/meta-agl-drm-lease/README.md index b572fbce..680e72ff 100644 --- a/meta-agl-drm-lease/README.md +++ b/meta-agl-drm-lease/README.md @@ -61,3 +61,6 @@ Multiple kmscube instances (one per DRM lease) can be started at the same time. This layer has been tested on the Renesas R-Car Gen3 platform. Other platforms supporting the Linux DRM API may work as well. + +maintainer: agl-dev-community@lists.automotivelinux.org +patch: agl-dev-community@lists.automotivelinux.org diff --git a/meta-agl-drm-lease/conf/layer.conf b/meta-agl-drm-lease/conf/layer.conf index 2a3279e5..7614ba9f 100644 --- a/meta-agl-drm-lease/conf/layer.conf +++ b/meta-agl-drm-lease/conf/layer.conf @@ -15,6 +15,8 @@ BBFILES_DYNAMIC += " \ qt6-layer:${LAYERDIR}/dynamic-layers/meta-qt6/*/*/*.bbappend \ raspberrypi:${LAYERDIR}/dynamic-layers/meta-raspberrypi/*/*/*.bb \ raspberrypi:${LAYERDIR}/dynamic-layers/meta-raspberrypi/*/*/*.bbappend \ + aglcore:${LAYERDIR}/dynamic-layers/meta-agl-core/*/*/*.bb \ + aglcore:${LAYERDIR}/dynamic-layers/meta-agl-core/*/*/*.bbappend \ " # This should only be incremented on significant changes that will diff --git a/meta-agl-drm-lease/recipes-graphics/agl-compositor/agl-compositor-init.bbappend b/meta-agl-drm-lease/dynamic-layers/meta-agl-core/recipes-graphics/agl-compositor/agl-compositor-init.bbappend index 7b759f69..7b759f69 100644 --- a/meta-agl-drm-lease/recipes-graphics/agl-compositor/agl-compositor-init.bbappend +++ b/meta-agl-drm-lease/dynamic-layers/meta-agl-core/recipes-graphics/agl-compositor/agl-compositor-init.bbappend diff --git a/meta-agl-drm-lease/recipes-graphics/agl-compositor/agl-compositor/0001-Add-drm-lease-support.patch b/meta-agl-drm-lease/dynamic-layers/meta-agl-core/recipes-graphics/agl-compositor/agl-compositor/0001-Add-drm-lease-support.patch index 868da66d..868da66d 100644 --- a/meta-agl-drm-lease/recipes-graphics/agl-compositor/agl-compositor/0001-Add-drm-lease-support.patch +++ b/meta-agl-drm-lease/dynamic-layers/meta-agl-core/recipes-graphics/agl-compositor/agl-compositor/0001-Add-drm-lease-support.patch diff --git a/meta-agl-drm-lease/recipes-graphics/agl-compositor/agl-compositor_git.bbappend b/meta-agl-drm-lease/dynamic-layers/meta-agl-core/recipes-graphics/agl-compositor/agl-compositor_git.bbappend index 3c64ce1f..3c64ce1f 100644 --- a/meta-agl-drm-lease/recipes-graphics/agl-compositor/agl-compositor_git.bbappend +++ b/meta-agl-drm-lease/dynamic-layers/meta-agl-core/recipes-graphics/agl-compositor/agl-compositor_git.bbappend diff --git a/meta-agl-drm-lease/recipes-core/psplash/psplash_agl-drm-lease.inc b/meta-agl-drm-lease/recipes-core/psplash/psplash_agl-drm-lease.inc new file mode 100644 index 00000000..53adec9c --- /dev/null +++ b/meta-agl-drm-lease/recipes-core/psplash/psplash_agl-drm-lease.inc @@ -0,0 +1,43 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +# drm-backend backport from: +# https://patchwork.yoctoproject.org/project/yocto/cover/20220425075954.10427-1-vasyl.vavrychuk@opensynergy.com/ +SRC_URI += " \ + file://0001-Fix-duplicated-definition-of-bool.patch \ + file://0002-Trim-trailing-spaces.patch \ + file://0003-Fix-unused-result-warnings.patch \ + file://0004-Remove-unused-save_termios.patch \ + file://0005-Remove-psplash-fb.h-from-psplash.h.patch \ + file://0006-Extract-plot-pixel-from-psplash-fb.patch \ + file://0007-Extract-draw-rect-image-from-psplash-fb.patch \ + file://0008-Extract-draw-font-from-psplash-fb.patch \ + file://0009-psplash.c-Make-psplash_draw_-msg-progress-independen.patch \ + file://0010-Rework-flip-as-function-pointer.patch \ + file://0011-Import-drm-howto-modeset.c-as-psplash-drm.c.patch \ + file://0012-Implement-drm-backend.patch \ + file://0013-Reverse-modeset_list.patch \ + file://0014-psplash-drm.c-Allocate-resources-only-for-the-first-.patch \ + file://0015-psplash-drm.c-Implement-double-buffering.patch \ + " + +# drm-lease support from: +# https://github.com/agl-ic-eg/meta-agl-demo/tree/main/recipes-core/psplash +SRC_URI += " \ + file://0016-Imprement-drm-lease-support.patch \ + file://0017-drm-lease-Fix-incorrect-drawing-with-portrait-orient.patch \ + file://psplash-drmlease.conf \ + " + +# Licesnse checksum was changed by above patches +LIC_FILES_CHKSUM = "file://psplash.h;beginline=1;endline=8;md5=db1ed16abf4be6de3d79201093ac4f07" + +PACKAGECONFIG:append = " drm drm-lease" + +PACKAGECONFIG[drm] = "--enable-drm,,libdrm" +PACKAGECONFIG[drm-lease] = "--enable-drm-lease,,drm-lease-manager" + +do_install:append () { + # Install override + install -d ${D}${systemd_system_unitdir}/psplash-start.service.d + install -m 0644 ${WORKDIR}/psplash-drmlease.conf ${D}${systemd_system_unitdir}/psplash-start.service.d/ +} diff --git a/meta-agl-drm-lease/recipes-core/psplash/psplash_git.bbappend b/meta-agl-drm-lease/recipes-core/psplash/psplash_git.bbappend index 53adec9c..548e209d 100644 --- a/meta-agl-drm-lease/recipes-core/psplash/psplash_git.bbappend +++ b/meta-agl-drm-lease/recipes-core/psplash/psplash_git.bbappend @@ -1,43 +1 @@ -FILESEXTRAPATHS:prepend := "${THISDIR}/files:" - -# drm-backend backport from: -# https://patchwork.yoctoproject.org/project/yocto/cover/20220425075954.10427-1-vasyl.vavrychuk@opensynergy.com/ -SRC_URI += " \ - file://0001-Fix-duplicated-definition-of-bool.patch \ - file://0002-Trim-trailing-spaces.patch \ - file://0003-Fix-unused-result-warnings.patch \ - file://0004-Remove-unused-save_termios.patch \ - file://0005-Remove-psplash-fb.h-from-psplash.h.patch \ - file://0006-Extract-plot-pixel-from-psplash-fb.patch \ - file://0007-Extract-draw-rect-image-from-psplash-fb.patch \ - file://0008-Extract-draw-font-from-psplash-fb.patch \ - file://0009-psplash.c-Make-psplash_draw_-msg-progress-independen.patch \ - file://0010-Rework-flip-as-function-pointer.patch \ - file://0011-Import-drm-howto-modeset.c-as-psplash-drm.c.patch \ - file://0012-Implement-drm-backend.patch \ - file://0013-Reverse-modeset_list.patch \ - file://0014-psplash-drm.c-Allocate-resources-only-for-the-first-.patch \ - file://0015-psplash-drm.c-Implement-double-buffering.patch \ - " - -# drm-lease support from: -# https://github.com/agl-ic-eg/meta-agl-demo/tree/main/recipes-core/psplash -SRC_URI += " \ - file://0016-Imprement-drm-lease-support.patch \ - file://0017-drm-lease-Fix-incorrect-drawing-with-portrait-orient.patch \ - file://psplash-drmlease.conf \ - " - -# Licesnse checksum was changed by above patches -LIC_FILES_CHKSUM = "file://psplash.h;beginline=1;endline=8;md5=db1ed16abf4be6de3d79201093ac4f07" - -PACKAGECONFIG:append = " drm drm-lease" - -PACKAGECONFIG[drm] = "--enable-drm,,libdrm" -PACKAGECONFIG[drm-lease] = "--enable-drm-lease,,drm-lease-manager" - -do_install:append () { - # Install override - install -d ${D}${systemd_system_unitdir}/psplash-start.service.d - install -m 0644 ${WORKDIR}/psplash-drmlease.conf ${D}${systemd_system_unitdir}/psplash-start.service.d/ -} +require ${@bb.utils.contains('AGL_FEATURES', 'agl-drm-lease', 'psplash_agl-drm-lease.inc', '', d)} diff --git a/meta-agl-drm-lease/recipes-graphics/kmscube/kmscube_agl-drm-lease.inc b/meta-agl-drm-lease/recipes-graphics/kmscube/kmscube_agl-drm-lease.inc new file mode 100644 index 00000000..bc9e8b34 --- /dev/null +++ b/meta-agl-drm-lease/recipes-graphics/kmscube/kmscube_agl-drm-lease.inc @@ -0,0 +1,8 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + + +SRC_URI += "file://0001-texturator-Use-correct-GL-extension-header.patch \ + file://0002-Add-DRM-lease-support.patch" + +PACKAGECONFIG += "drm-lease" +PACKAGECONFIG[drm-lease] = "-Ddrm_lease=enabled,-Ddrm_lease=disabled,drm-lease-manager" diff --git a/meta-agl-drm-lease/recipes-graphics/kmscube/kmscube_git.bbappend b/meta-agl-drm-lease/recipes-graphics/kmscube/kmscube_git.bbappend index bc9e8b34..f49e6acb 100644 --- a/meta-agl-drm-lease/recipes-graphics/kmscube/kmscube_git.bbappend +++ b/meta-agl-drm-lease/recipes-graphics/kmscube/kmscube_git.bbappend @@ -1,8 +1 @@ -FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" - - -SRC_URI += "file://0001-texturator-Use-correct-GL-extension-header.patch \ - file://0002-Add-DRM-lease-support.patch" - -PACKAGECONFIG += "drm-lease" -PACKAGECONFIG[drm-lease] = "-Ddrm_lease=enabled,-Ddrm_lease=disabled,drm-lease-manager" +require ${@bb.utils.contains('AGL_FEATURES', 'agl-drm-lease', 'kmscube_agl-drm-lease.inc', '', d)} diff --git a/meta-agl-drm-lease/recipes-graphics/weston/weston_10.0.%.bbappend b/meta-agl-drm-lease/recipes-graphics/weston/weston_10.0.%.bbappend index 8152a264..0aca4cff 100644 --- a/meta-agl-drm-lease/recipes-graphics/weston/weston_10.0.%.bbappend +++ b/meta-agl-drm-lease/recipes-graphics/weston/weston_10.0.%.bbappend @@ -1,10 +1 @@ -FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" - -SRC_URI:append = " \ - file://0001-backend-drm-Add-method-to-import-DRM-fd.patch \ - file://0002-Add-DRM-lease-support.patch \ - file://0001-compositor-do-not-request-repaint-in-output_enable.patch \ - " - -PACKAGECONFIG[drm-lease] = "-Ddrm-lease=true,-Ddrm-lease=false,drm-lease-manager" -PACKAGECONFIG:append = " drm-lease" +require ${@bb.utils.contains('AGL_FEATURES', 'agl-drm-lease', 'weston_agl-drm-lease.inc', '', d)} diff --git a/meta-agl-drm-lease/recipes-graphics/weston/weston_agl-drm-lease.inc b/meta-agl-drm-lease/recipes-graphics/weston/weston_agl-drm-lease.inc new file mode 100644 index 00000000..8152a264 --- /dev/null +++ b/meta-agl-drm-lease/recipes-graphics/weston/weston_agl-drm-lease.inc @@ -0,0 +1,10 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +SRC_URI:append = " \ + file://0001-backend-drm-Add-method-to-import-DRM-fd.patch \ + file://0002-Add-DRM-lease-support.patch \ + file://0001-compositor-do-not-request-repaint-in-output_enable.patch \ + " + +PACKAGECONFIG[drm-lease] = "-Ddrm-lease=true,-Ddrm-lease=false,drm-lease-manager" +PACKAGECONFIG:append = " drm-lease" diff --git a/meta-agl-drm-lease/scripts/run-yocto-check-layer.sh b/meta-agl-drm-lease/scripts/run-yocto-check-layer.sh new file mode 100755 index 00000000..3bcf31ca --- /dev/null +++ b/meta-agl-drm-lease/scripts/run-yocto-check-layer.sh @@ -0,0 +1,42 @@ +#!/bin/bash +#set -x + +SCRIPTPATH="$( cd $(dirname $0) >/dev/null 2>&1 ; pwd -P )" +echo $SCRIPTPATH +AGLROOT="$SCRIPTPATH/../../.." +POKYDIR="$AGLROOT/external/poky" +TMPROOT=`mktemp -d` + +rm -rf ${TMPROOT}/testbuild-ycl || true +mkdir -p ${TMPROOT}/testbuild-ycl +cd ${TMPROOT}/testbuild-ycl + +source $POKYDIR/oe-init-build-env . + +cat << EOF >> conf/local.conf +# just define defaults +AGL_FEATURES ?= "" +AGL_EXTRA_IMAGE_FSTYPES ?= "" + +# important settings imported from poky-agl.conf +# we cannot import the distro config right away +# as the initial values are poky only till the layer +# is added in + +AGL_DEFAULT_DISTRO_FEATURES = "usrmerge largefile opengl wayland pam bluetooth bluez5 3g" +DISTRO_FEATURES:append = " systemd wayland pam \${AGL_DEFAULT_DISTRO_FEATURES}" +DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " sysvinit" +VIRTUAL-RUNTIME_init_manager = "systemd" + +EOF + +yocto-check-layer --no-auto-dependency \ + -- \ + $AGLROOT/meta-agl-devel/meta-agl-drm-lease +# --dependency \ +# $AGLROOT/meta-agl/meta-agl-core \ +# + +[ $? = 0 ] && rm -rf ${TMPROOT}/testbuild-ycl + +exit 0 |