From b43165328658087277b667152fdbc04fe07cba08 Mon Sep 17 00:00:00 2001 From: Jan-Simon Möller Date: Tue, 15 May 2018 14:46:21 +0200 Subject: 3rd part of the layer/profile rework [1/2] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is the last larger commit in this series and deals with the graphical part. We introduce the graphical profiles: - meta-agl-profile-graphical -- meta-agl-profile-graphical-html5 -- meta-agl-profile-graphical-qt5 Notable changes: - weston-ini-conf moved to the meta-agl-bsp layer. Most BSPs have bbappends, so we need to have the recipes present (but unused) even in the console images. - new image: agl-image-boot = terminal-only + network + package-manaager. Ready for using package-feeds - new image/sdk: agl-image-minimal-crosssdk - agl-service-mediaplayer has a dependency on weston, thus it cannot be in the 'core'. Moved it to profile-graphical. - The wayland-ivi-extension moved to the agl-demo-platform. - The app-framework layer included and pulled 'web-runtime' as dependency. This broke console-only images. This has been moved to be in meta-agl-demo only for now. - added and massaged the agl-features. - found and added a useful script 'oe-depends-dot' that helps to work with the dot files (produced with bitbake -g) Todo: - we'll need another pass through the packagegroups. The dependencies for the layers/profiles are now sorted-out but we might have to add/shuffle a few packages. For further details, see meta-agl/docs/profiles.md. v2: fix meta-agl/meta-security/conf/layer.conf - the immediate expansion previously used in there caused some recipes not being added to BBFILES. v3: fix packagegroup renaming (packagegroup-agl-devel -> packagegroup-agl-core-devel) v4: fix missing packagegroup inclusion (tnx Jose, Scott, Stephane) v5: fix missing packagegroup inclusion v6: explicitely put profile-graphical-qt5 on-top of profile-graphical v7: re-add 'procps' when agl-devel feature is on Bug-AGL: SPEC-145 Change-Id: I24cdcd1118932758d0c55d333338238f2a770877 Signed-off-by: Jan-Simon Möller --- meta-agl-bsp/conf/include/agl_m3ulcb-nogfx.inc | 3 --- meta-agl-bsp/conf/include/agl_qemux86-64.inc | 2 +- .../harfbuzz/harfbuzz_1.4.8.bbappend | 4 +++ .../recipes-graphics/mesa/mesa_%.bbappend | 6 +++++ .../recipes-graphics/wayland/libva_%.bbappend | 4 +++ .../wayland/weston-ini-conf.bbappend | 9 +++++++ .../wayland/weston-ini-conf/virtual.cfg | 18 +++++++++++++ .../recipes-graphics/wayland/weston_%.bbappend | 3 +++ .../recipes-graphics/wayland/weston_%.bbappend | 8 +----- .../harfbuzz/harfbuzz_1.4.8.bbappend | 4 --- meta-agl-bsp/recipes-graphics/mesa/mesa_%.bbappend | 6 ----- .../recipes-graphics/wayland/libva_%.bbappend | 4 --- .../recipes-graphics/wayland/weston-ini-conf.bb | 30 ++++++++++++++++++++++ .../wayland/weston-ini-conf.bbappend | 20 ++++++++++----- .../wayland/weston-ini-conf/core.cfg | 4 +++ .../wayland/weston-ini-conf/hdmi-a-1-270.cfg | 6 +++++ .../wayland/weston-ini-conf/hdmi-a-1-90.cfg | 6 +++++ .../wayland/weston-ini-conf/id-agent.cfg | 2 ++ .../wayland/weston-ini-conf/ivishell.cfg | 4 +++ .../wayland/weston-ini-conf/shell.cfg | 3 +++ .../wayland/weston-ini-conf/virtual.cfg | 18 ------------- .../wayland/weston-ini-conf/virtualoutput.cfg | 7 +++++ .../recipes-graphics/wayland/weston_%.bbappend | 3 --- 23 files changed, 122 insertions(+), 52 deletions(-) create mode 100644 meta-agl-bsp/meta-agl-profile-graphical/recipes-graphics/harfbuzz/harfbuzz_1.4.8.bbappend create mode 100644 meta-agl-bsp/meta-agl-profile-graphical/recipes-graphics/mesa/mesa_%.bbappend create mode 100644 meta-agl-bsp/meta-agl-profile-graphical/recipes-graphics/wayland/libva_%.bbappend create mode 100644 meta-agl-bsp/meta-agl-profile-graphical/recipes-graphics/wayland/weston-ini-conf.bbappend create mode 100644 meta-agl-bsp/meta-agl-profile-graphical/recipes-graphics/wayland/weston-ini-conf/virtual.cfg create mode 100644 meta-agl-bsp/meta-agl-profile-graphical/recipes-graphics/wayland/weston_%.bbappend delete mode 100644 meta-agl-bsp/recipes-graphics/harfbuzz/harfbuzz_1.4.8.bbappend delete mode 100644 meta-agl-bsp/recipes-graphics/mesa/mesa_%.bbappend delete mode 100644 meta-agl-bsp/recipes-graphics/wayland/libva_%.bbappend create mode 100644 meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf.bb create mode 100644 meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/core.cfg create mode 100644 meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/hdmi-a-1-270.cfg create mode 100644 meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/hdmi-a-1-90.cfg create mode 100644 meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/id-agent.cfg create mode 100644 meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/ivishell.cfg create mode 100644 meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/shell.cfg delete mode 100644 meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/virtual.cfg create mode 100644 meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/virtualoutput.cfg delete mode 100644 meta-agl-bsp/recipes-graphics/wayland/weston_%.bbappend (limited to 'meta-agl-bsp') diff --git a/meta-agl-bsp/conf/include/agl_m3ulcb-nogfx.inc b/meta-agl-bsp/conf/include/agl_m3ulcb-nogfx.inc index 1bc59149f..c0ebb5f65 100644 --- a/meta-agl-bsp/conf/include/agl_m3ulcb-nogfx.inc +++ b/meta-agl-bsp/conf/include/agl_m3ulcb-nogfx.inc @@ -10,6 +10,3 @@ DISTRO_FEATURES_append = " sota" OSTREE_KERNEL = "Image" IMAGE_BOOT_FILES_sota = "m3ulcb-ota-bootfiles/* Image-r8a7796-m3ulcb.dtb" OSTREE_BOOTLOADER ?= "u-boot" - -# HOTFIX during layer reorg -BBMASK .= "|meta-agl/meta-agl-profile-demo/recipes-qt/" \ No newline at end of file diff --git a/meta-agl-bsp/conf/include/agl_qemux86-64.inc b/meta-agl-bsp/conf/include/agl_qemux86-64.inc index 1fe839d68..a72f7b0f7 100644 --- a/meta-agl-bsp/conf/include/agl_qemux86-64.inc +++ b/meta-agl-bsp/conf/include/agl_qemux86-64.inc @@ -21,7 +21,7 @@ QB_KERNEL_CMDLINE_APPEND_append = " quiet" DISTRO_FEATURES_append = " sota" # Image support -AGL_EXTRA_IMAGE_FSTYPES = "wic.vmdk" +AGL_EXTRA_IMAGE_FSTYPES = "ext4 wic.vmdk" IMAGE_BOOT_FILES_sota = "u-boot-qemux86-64.rom" # Root device diff --git a/meta-agl-bsp/meta-agl-profile-graphical/recipes-graphics/harfbuzz/harfbuzz_1.4.8.bbappend b/meta-agl-bsp/meta-agl-profile-graphical/recipes-graphics/harfbuzz/harfbuzz_1.4.8.bbappend new file mode 100644 index 000000000..db50df5d9 --- /dev/null +++ b/meta-agl-bsp/meta-agl-profile-graphical/recipes-graphics/harfbuzz/harfbuzz_1.4.8.bbappend @@ -0,0 +1,4 @@ +# 2017-09-13 hotfix for harfbuzz build +# Reference https://www.mail-archive.com/yocto@yoctoproject.org/msg36472.html + +acpaths = "-I ${STAGING_DATADIR_NATIVE}/aclocal/" diff --git a/meta-agl-bsp/meta-agl-profile-graphical/recipes-graphics/mesa/mesa_%.bbappend b/meta-agl-bsp/meta-agl-profile-graphical/recipes-graphics/mesa/mesa_%.bbappend new file mode 100644 index 000000000..49e527707 --- /dev/null +++ b/meta-agl-bsp/meta-agl-profile-graphical/recipes-graphics/mesa/mesa_%.bbappend @@ -0,0 +1,6 @@ +# The gallium-llvm is recommended as software 3D graphics renderer +GALLIUM_LLVM = "gallium-llvm" +PACKAGECONFIG_append_qemux86 = " gallium ${GALLIUM_LLVM}" +PACKAGECONFIG_append_qemux86-64 = " gallium ${GALLIUM_LLVM}" + +DRIDRIVERS_append_intel-corei7-64 = ",i965" diff --git a/meta-agl-bsp/meta-agl-profile-graphical/recipes-graphics/wayland/libva_%.bbappend b/meta-agl-bsp/meta-agl-profile-graphical/recipes-graphics/wayland/libva_%.bbappend new file mode 100644 index 000000000..eda8de38a --- /dev/null +++ b/meta-agl-bsp/meta-agl-profile-graphical/recipes-graphics/wayland/libva_%.bbappend @@ -0,0 +1,4 @@ +# This patch correct a bug in libva1_1.7.0.bb 1.8 inmeta-intel (no clue when it will be fixed) +# libva.bb calls for an x11 runtime dependency even if wayland is selected +# +RDEPENDS_${PN}-egl_remove = "${@bb.utils.contains("DISTRO_FEATURES", "x11", "", "${PN}-x11", d)}" diff --git a/meta-agl-bsp/meta-agl-profile-graphical/recipes-graphics/wayland/weston-ini-conf.bbappend b/meta-agl-bsp/meta-agl-profile-graphical/recipes-graphics/wayland/weston-ini-conf.bbappend new file mode 100644 index 000000000..8fa08bc3b --- /dev/null +++ b/meta-agl-bsp/meta-agl-profile-graphical/recipes-graphics/wayland/weston-ini-conf.bbappend @@ -0,0 +1,9 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" + +# OVERRIDES save us some c'n'p below ... +OVERRIDES_prepend_qemux86 = "virtualmachine:" +OVERRIDES_prepend_qemux86-64 = "virtualmachine:" + +# Switch to the Virtual section that we have when a valid DRM device is found +SRC_URI_remove_virtualmachine = "file://hdmi-a-1-270.cfg" +SRC_URI_append_virtualmachine = " file://virtual.cfg" diff --git a/meta-agl-bsp/meta-agl-profile-graphical/recipes-graphics/wayland/weston-ini-conf/virtual.cfg b/meta-agl-bsp/meta-agl-profile-graphical/recipes-graphics/wayland/weston-ini-conf/virtual.cfg new file mode 100644 index 000000000..25a8fae94 --- /dev/null +++ b/meta-agl-bsp/meta-agl-profile-graphical/recipes-graphics/wayland/weston-ini-conf/virtual.cfg @@ -0,0 +1,18 @@ +[output] +name=Virtual-1 +transform=270 +mode=1920x1080 +#mode=1600x1200 +#mode=1680x1050 +#mode=1400x1050 +#mode=1600x900 +#mode=1280x1024 +#mode=1440x900 +#mode=1280x960 +#mode=1360x768 +#mode=1280x800 +#mode=1280x768 +#mode=1280x720 +#mode=800x600 +#mode=848x480 +#mode=640x480 diff --git a/meta-agl-bsp/meta-agl-profile-graphical/recipes-graphics/wayland/weston_%.bbappend b/meta-agl-bsp/meta-agl-profile-graphical/recipes-graphics/wayland/weston_%.bbappend new file mode 100644 index 000000000..9aaea5f69 --- /dev/null +++ b/meta-agl-bsp/meta-agl-profile-graphical/recipes-graphics/wayland/weston_%.bbappend @@ -0,0 +1,3 @@ +RDEPENDS_${PN}_append_qemux86 = " mesa-megadriver" +RDEPENDS_${PN}_append_qemux86-64 = " mesa-megadriver" +RDEPENDS_${PN}_append_intel-corei7-64 = " mesa-megadriver" diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/wayland/weston_%.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/wayland/weston_%.bbappend index 079ff496a..38590dcdb 100644 --- a/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/wayland/weston_%.bbappend +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/wayland/weston_%.bbappend @@ -1,7 +1 @@ -FILES_${PN}_append_rcar-gen3 = " \ - ${libexecdir}/weston-screenshooter \ - ${libexecdir}/weston-ivi-shell-user-interface \ - ${libexecdir}/weston-keyboard \ - ${libexecdir}/weston-simple-im \ - ${libexecdir}/weston-desktop-shell \ -" +DEPENDS_append_ulcb = " gstreamer1.0-plugins-base" diff --git a/meta-agl-bsp/recipes-graphics/harfbuzz/harfbuzz_1.4.8.bbappend b/meta-agl-bsp/recipes-graphics/harfbuzz/harfbuzz_1.4.8.bbappend deleted file mode 100644 index db50df5d9..000000000 --- a/meta-agl-bsp/recipes-graphics/harfbuzz/harfbuzz_1.4.8.bbappend +++ /dev/null @@ -1,4 +0,0 @@ -# 2017-09-13 hotfix for harfbuzz build -# Reference https://www.mail-archive.com/yocto@yoctoproject.org/msg36472.html - -acpaths = "-I ${STAGING_DATADIR_NATIVE}/aclocal/" diff --git a/meta-agl-bsp/recipes-graphics/mesa/mesa_%.bbappend b/meta-agl-bsp/recipes-graphics/mesa/mesa_%.bbappend deleted file mode 100644 index 49e527707..000000000 --- a/meta-agl-bsp/recipes-graphics/mesa/mesa_%.bbappend +++ /dev/null @@ -1,6 +0,0 @@ -# The gallium-llvm is recommended as software 3D graphics renderer -GALLIUM_LLVM = "gallium-llvm" -PACKAGECONFIG_append_qemux86 = " gallium ${GALLIUM_LLVM}" -PACKAGECONFIG_append_qemux86-64 = " gallium ${GALLIUM_LLVM}" - -DRIDRIVERS_append_intel-corei7-64 = ",i965" diff --git a/meta-agl-bsp/recipes-graphics/wayland/libva_%.bbappend b/meta-agl-bsp/recipes-graphics/wayland/libva_%.bbappend deleted file mode 100644 index eda8de38a..000000000 --- a/meta-agl-bsp/recipes-graphics/wayland/libva_%.bbappend +++ /dev/null @@ -1,4 +0,0 @@ -# This patch correct a bug in libva1_1.7.0.bb 1.8 inmeta-intel (no clue when it will be fixed) -# libva.bb calls for an x11 runtime dependency even if wayland is selected -# -RDEPENDS_${PN}-egl_remove = "${@bb.utils.contains("DISTRO_FEATURES", "x11", "", "${PN}-x11", d)}" diff --git a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf.bb b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf.bb new file mode 100644 index 000000000..4628f96f8 --- /dev/null +++ b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf.bb @@ -0,0 +1,30 @@ +SUMMARY = "Startup script and systemd unit file for the Weston Wayland compositor" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +SRC_URI = "file://core.cfg \ + file://ivishell.cfg \ + file://id-agent.cfg \ + file://shell.cfg \ + file://hdmi-a-1-270.cfg \ + " + +S = "${WORKDIR}" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +do_compile() { + # Put all of our cfg files together. + rm -f ${WORKDIR}/weston.ini + for F in ${WORKDIR}/*.cfg; do + cat $F >> ${WORKDIR}/weston.ini + echo >> ${WORKDIR}/weston.ini + done + sed -i -e '$ d' ${WORKDIR}/weston.ini +} + +do_install_append() { + WESTON_INI_CONFIG=${sysconfdir}/xdg/weston + install -d ${D}${WESTON_INI_CONFIG} + install -m 0644 ${WORKDIR}/weston.ini ${D}${WESTON_INI_CONFIG}/weston.ini +} diff --git a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf.bbappend b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf.bbappend index 8fa08bc3b..de388d862 100644 --- a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf.bbappend +++ b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf.bbappend @@ -1,9 +1,17 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -# OVERRIDES save us some c'n'p below ... -OVERRIDES_prepend_qemux86 = "virtualmachine:" -OVERRIDES_prepend_qemux86-64 = "virtualmachine:" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +# +SRC_URI += "${@bb.utils.contains("DISTRO_FEATURES", "virtual-display", "file://virtualoutput.cfg", "",d)}" + +do_configure_append() { + if ${@bb.utils.contains('DISTRO_FEATURES', 'virtual-display', 'true', 'false', d)}; then + echo virtual=1 >> ${WORKDIR}/core.cfg + fi + + if ${@bb.utils.contains('DISTRO_FEATURES', 'gst-record', 'true', 'false', d)}; then + echo recorder=true >> ${WORKDIR}/virtualoutput.cfg + fi +} -# Switch to the Virtual section that we have when a valid DRM device is found -SRC_URI_remove_virtualmachine = "file://hdmi-a-1-270.cfg" -SRC_URI_append_virtualmachine = " file://virtual.cfg" diff --git a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/core.cfg b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/core.cfg new file mode 100644 index 000000000..a0ec1e181 --- /dev/null +++ b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/core.cfg @@ -0,0 +1,4 @@ +[core] +shell=ivi-shell.so +backend=drm-backend.so +require-input=false diff --git a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/hdmi-a-1-270.cfg b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/hdmi-a-1-270.cfg new file mode 100644 index 000000000..dffc2b6dd --- /dev/null +++ b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/hdmi-a-1-270.cfg @@ -0,0 +1,6 @@ +# A display is connected to HDMI-A-1 and needs to be rotated 270 degrees +# to have a proper orientation of the homescreen. For example the various sizes +# of the GeChic display or the Dell display. +[output] +name=HDMI-A-1 +transform=270 diff --git a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/hdmi-a-1-90.cfg b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/hdmi-a-1-90.cfg new file mode 100644 index 000000000..88a692a1b --- /dev/null +++ b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/hdmi-a-1-90.cfg @@ -0,0 +1,6 @@ +# A display is connected to HDMI-A-1 and needs to be rotated 90 degrees +# to have a proper orientation of the homescreen. For example, the 'eGalax' +# display used in some instances. +[output] +name=HDMI-A-1 +transform=90 diff --git a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/id-agent.cfg b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/id-agent.cfg new file mode 100644 index 000000000..726fca5f1 --- /dev/null +++ b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/id-agent.cfg @@ -0,0 +1,2 @@ +[id-agent] +default-id-offset=1000 diff --git a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/ivishell.cfg b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/ivishell.cfg new file mode 100644 index 000000000..f0548f291 --- /dev/null +++ b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/ivishell.cfg @@ -0,0 +1,4 @@ +[ivi-shell] +ivi-input-module=ivi-input-controller.so +ivi-module=ivi-controller.so +id-agent-module=simple-id-agent.so diff --git a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/shell.cfg b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/shell.cfg new file mode 100644 index 000000000..056770427 --- /dev/null +++ b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/shell.cfg @@ -0,0 +1,3 @@ +[shell] +locking=true +panel-location=none diff --git a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/virtual.cfg b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/virtual.cfg deleted file mode 100644 index 25a8fae94..000000000 --- a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/virtual.cfg +++ /dev/null @@ -1,18 +0,0 @@ -[output] -name=Virtual-1 -transform=270 -mode=1920x1080 -#mode=1600x1200 -#mode=1680x1050 -#mode=1400x1050 -#mode=1600x900 -#mode=1280x1024 -#mode=1440x900 -#mode=1280x960 -#mode=1360x768 -#mode=1280x800 -#mode=1280x768 -#mode=1280x720 -#mode=800x600 -#mode=848x480 -#mode=640x480 diff --git a/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/virtualoutput.cfg b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/virtualoutput.cfg new file mode 100644 index 000000000..76f536ff8 --- /dev/null +++ b/meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/virtualoutput.cfg @@ -0,0 +1,7 @@ +[output] +name=virtual1 +mode=1920x1080@30 +ip=192.168.20.99 +port=5005 +bitrate=3000000 +crop=384x368@0x0 diff --git a/meta-agl-bsp/recipes-graphics/wayland/weston_%.bbappend b/meta-agl-bsp/recipes-graphics/wayland/weston_%.bbappend deleted file mode 100644 index 9aaea5f69..000000000 --- a/meta-agl-bsp/recipes-graphics/wayland/weston_%.bbappend +++ /dev/null @@ -1,3 +0,0 @@ -RDEPENDS_${PN}_append_qemux86 = " mesa-megadriver" -RDEPENDS_${PN}_append_qemux86-64 = " mesa-megadriver" -RDEPENDS_${PN}_append_intel-corei7-64 = " mesa-megadriver" -- cgit 1.2.3-korg