Cluster demo support updates 67/24567/2
authorScott Murray <scott.murray@konsulko.com>
Mon, 25 May 2020 19:01:08 +0000 (15:01 -0400)
committerScott Murray <scott.murray@konsulko.com>
Tue, 26 May 2020 14:35:39 +0000 (14:35 +0000)
Changes include:
- Add agl-weston-remoting feature that sets "weston-remoting" distro
  feature. The intent is to replace agl-gstrecorder in meta-agl-devel
  with something more generic.
- Add weston remoting initialization timing patch to weston bbappend
  in meta-agl-profile-graphical, conditional on "weston-remoting"
  distro feature.
- The 0004-unconditionally-include-mman.h.patch weston patch is no
  longer required after the SMACK labeling changes, remove it as
  cleanup.
- Enable the weston "remoting" PACKAGECONFIG in weston bbappend, also
  conditional on "weston-remoting". A redefinition of the "remoting"
  PACKAGECONFIG option is required to fix a recipe bug that will have
  a fix sent upstream.
- Rename virtualoutput.cfg weston.ini fragment to remote-output.cfg
  to better reflect its current contents.

Bug-AGL: SPEC-3395

Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I9c0579670d81296492b3b8bed93aafb3f7ffc15c
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/24567
Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org>
ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org>
ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org>
Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf.bbappend
meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/remote-output.cfg [moved from meta-agl-bsp/recipes-graphics/wayland/weston-ini-conf/virtualoutput.cfg with 100% similarity]
meta-agl-profile-graphical/recipes-graphics/wayland/weston/0004-main-change-remoting-initialization-timing.patch [new file with mode: 0644]
meta-agl-profile-graphical/recipes-graphics/wayland/weston/0004-unconditionally-include-mman.h.patch [deleted file]
meta-agl-profile-graphical/recipes-graphics/wayland/weston_8.0.%.bbappend
templates/feature/agl-weston-remoting/50_local.conf.inc [new file with mode: 0644]
templates/feature/agl-weston-remoting/README_feature_agl-weston-remoting.md [new file with mode: 0644]
templates/feature/agl-weston-remoting/included.dep [new file with mode: 0644]

index 00cd35b..f954514 100644 (file)
@@ -2,11 +2,11 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
 
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
-SRC_URI += "${@bb.utils.contains("DISTRO_FEATURES", "gst-record", "file://virtualoutput.cfg", "",d)}"
+SRC_URI += "${@bb.utils.contains("DISTRO_FEATURES", "weston-remoting", "file://remote-output.cfg", "",d)}"
 
-do_configure_append() {
-    if ${@bb.utils.contains('DISTRO_FEATURES', 'gst-record', 'true', 'false', d)}; then
-        echo virtual=1 >> ${WORKDIR}/core.cfg
-    fi
-}
+#do_configure_append() {
+#    if ${@bb.utils.contains('DISTRO_FEATURES', 'weston-remoting', 'true', 'false', d)}; then
+#        echo virtual=1 >> ${WORKDIR}/core.cfg
+#    fi
+#}
 
diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0004-main-change-remoting-initialization-timing.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0004-main-change-remoting-initialization-timing.patch
new file mode 100644 (file)
index 0000000..6177218
--- /dev/null
@@ -0,0 +1,40 @@
+From 0a0103f20437d9ed63b6cec500027a6d7bf6185f Mon Sep 17 00:00:00 2001
+From: Harunobu Kurokawa <harunobu.kurokawa.dn@renesas.com>
+Date: Mon, 20 May 2019 18:31:32 +0900
+Subject: [PATCH] main: change remoting initialization timing
+
+Upstream-Status: Pending[1]
+
+[1]: https://gitlab.freedesktop.org/wayland/weston/issues/246
+
+Signed-off-by: Tomohito Esaki <etom@igel.co.jp>
+Signed-off-by: Harunobu Kurokawa <harunobu.kurokawa.dn@renesas.com>
+[Updated for Weston 8.0.0]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+
+---
+diff --git a/compositor/main.c b/compositor/main.c
+index 8eb8a47..22686b0 100644
+--- a/compositor/main.c
++++ b/compositor/main.c
+@@ -2518,9 +2518,6 @@ load_drm_backend(struct weston_compositor *c,
+       ret = weston_compositor_load_backend(c, WESTON_BACKEND_DRM,
+                                            &config.base);
+-      /* remoting */
+-      load_remoting(c, wc);
+-
+       /* pipewire */
+       load_pipewire(c, wc);
+@@ -3278,6 +3275,10 @@ wet_main(int argc, char *argv[])
+       if (wet.init_failed)
+               goto out;
++      /* remoting: only support on drm-backend */
++      if (strstr(backend, "drm-backend.so"))
++              load_remoting(wet.compositor, config);
++
+       if (idle_time < 0)
+               weston_config_section_get_int(section, "idle-time", &idle_time, -1);
+       if (idle_time < 0)
diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0004-unconditionally-include-mman.h.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0004-unconditionally-include-mman.h.patch
deleted file mode 100644 (file)
index 2780871..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-commit 7b36f171d09354a2d3a48db0ae2d34d66aa4f1ae
-Author: James Hilliard <james.hilliard1@gmail.com>
-Date:   Sat Feb 1 20:02:29 2020 -0700
-
-    unconditionally include sys/mman.h in os-compatibility.c
-    
-    Fixes:
-     ../shared/os-compatibility.c:273:25: error: ‘PROT_READ’ undeclared (first use in this function); did you mean ‘LOCK_READ’?
-       map = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, file->fd, 0);
-                              ^~~~~~~~~
-                              LOCK_READ
-    
-    Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
-
-Upstream-Status: Backport
-
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
-
-diff --git a/shared/os-compatibility.c b/shared/os-compatibility.c
-index 5e1ce479..041c929f 100644
---- a/shared/os-compatibility.c
-+++ b/shared/os-compatibility.c
-@@ -34,10 +34,7 @@
- #include <string.h>
- #include <stdlib.h>
- #include <libweston/zalloc.h>
--
--#ifdef HAVE_MEMFD_CREATE
- #include <sys/mman.h>
--#endif
- #include "os-compatibility.h"
index bafd6bb..bada11c 100644 (file)
@@ -8,12 +8,16 @@ SRC_URI_append = "\
     file://0001-Allow-regular-users-to-launch-Weston_7.0.0.patch \
     file://0002-ivi-shell-Fix-crash-due-no-transmitter-screen.patch \
     file://0001-libweston-Expose-weston_output_damage-in-libweston.patch \
-    file://0004-unconditionally-include-mman.h.patch \
+    file://0004-main-change-remoting-initialization-timing.patch \
     file://smack-weston \
     "
 
 EXTRA_OEMESON_append = " -Denable-user-start=true"
 
+# Workaround for incorrect upstream definition
+PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer1.0 gstreamer1.0-plugins-base"
+PACKAGECONFIG_append = "${@bb.utils.contains('DISTRO_FEATURES', 'weston-remoting', ' remoting', '', d)}"
+
 do_install_append() {
     if ${@bb.utils.contains('DISTRO_FEATURES', 'smack', 'true', 'false', d)}; then
         # Install SMACK rules
diff --git a/templates/feature/agl-weston-remoting/50_local.conf.inc b/templates/feature/agl-weston-remoting/50_local.conf.inc
new file mode 100644 (file)
index 0000000..da1ddb3
--- /dev/null
@@ -0,0 +1 @@
+DISTRO_FEATURES_append = " weston-remoting"
diff --git a/templates/feature/agl-weston-remoting/README_feature_agl-weston-remoting.md b/templates/feature/agl-weston-remoting/README_feature_agl-weston-remoting.md
new file mode 100644 (file)
index 0000000..03b05d4
--- /dev/null
@@ -0,0 +1,9 @@
+---
+description: Feature agl-weston-remoting
+authors: Scott Murray <scott.murray@konsulko.com>
+---
+       
+### Feature agl-weston-remoting
+        
+Enables secondary remote display configuration using Weston's remoting feaure.
+
diff --git a/templates/feature/agl-weston-remoting/included.dep b/templates/feature/agl-weston-remoting/included.dep
new file mode 100644 (file)
index 0000000..032609b
--- /dev/null
@@ -0,0 +1 @@
+agl-profile-graphical