diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-02-01 18:27:11 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-03-13 05:51:39 +0300 |
commit | 6e60e8b2b2bab889379b380a28a167a0edd9d1d3 (patch) | |
tree | f12f54d5ba8e74e67e5fad3651a1e125bb8f4191 /import-layers/yocto-poky/meta/recipes-graphics/wayland/weston | |
parent | 509842add85b53e13164c1569a1fd43d5b8d91c5 (diff) | |
download | openbmc-6e60e8b2b2bab889379b380a28a167a0edd9d1d3.tar.xz |
Yocto 2.3
Move OpenBMC to Yocto 2.3(pyro).
Tested: Built and verified Witherspoon and Palmetto images
Change-Id: I50744030e771f4850afc2a93a10d3507e76d36bc
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Resolves: openbmc/openbmc#2461
Diffstat (limited to 'import-layers/yocto-poky/meta/recipes-graphics/wayland/weston')
7 files changed, 91 insertions, 234 deletions
diff --git a/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/0001-configure.ac-Fix-wayland-protocols-path.patch b/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/0001-configure.ac-Fix-wayland-protocols-path.patch index 00118d78b..5f4d79c38 100644 --- a/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/0001-configure.ac-Fix-wayland-protocols-path.patch +++ b/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/0001-configure.ac-Fix-wayland-protocols-path.patch @@ -13,22 +13,17 @@ breaks multilib weston as it would point to multilib sysroot when the Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Upstream-Status: Inappropriate [embedded specific] --- - configure.ac | 2 +- + configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/configure.ac b/configure.ac -index bc7c329..15a05d3 100644 --- a/configure.ac +++ b/configure.ac -@@ -187,7 +187,7 @@ PKG_CHECK_MODULES(LIBINPUT_BACKEND, [libinput >= 0.8.0]) +@@ -187,7 +187,7 @@ PKG_CHECK_MODULES(LIBINPUT_BACKEND, [lib PKG_CHECK_MODULES(COMPOSITOR, [$COMPOSITOR_MODULES]) - PKG_CHECK_MODULES(WAYLAND_PROTOCOLS, [wayland-protocols >= 1.2], + PKG_CHECK_MODULES(WAYLAND_PROTOCOLS, [wayland-protocols >= 1.7], - [ac_wayland_protocols_pkgdatadir=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`]) + [ac_wayland_protocols_pkgdatadir=${WAYLAND_PROTOCOLS_SYSROOT_DIR}`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`]) AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, $ac_wayland_protocols_pkgdatadir) AC_ARG_ENABLE(wayland-compositor, [ --enable-wayland-compositor],, --- -2.1.4 - diff --git a/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch b/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch index 148848d8d..e2213aca6 100644 --- a/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch +++ b/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/0001-make-error-portable.patch @@ -10,17 +10,15 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> --- Upstream-Status: Submitted - configure.ac | 2 ++ - src/weston-error.h | 20 ++++++++++++++++++++ - src/weston-launch.c | 2 +- + configure.ac | 2 ++ + libweston/weston-error.h | 20 ++++++++++++++++++++ + libweston/weston-launch.c | 2 +- 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 src/weston-error.h -diff --git a/configure.ac b/configure.ac -index 263fc22..f52cd62 100644 --- a/configure.ac +++ b/configure.ac -@@ -57,6 +57,8 @@ AC_CHECK_DECL(CLOCK_MONOTONIC,[], +@@ -60,6 +60,8 @@ AC_CHECK_DECL(CLOCK_MONOTONIC,[], [[#include <time.h>]]) AC_CHECK_HEADERS([execinfo.h]) @@ -28,12 +26,9 @@ index 263fc22..f52cd62 100644 + AC_CHECK_FUNCS([mkostemp strchrnul initgroups posix_fallocate]) - COMPOSITOR_MODULES="wayland-server >= 1.7.93 pixman-1 >= 0.25.2" -diff --git a/src/weston-error.h b/src/weston-error.h -new file mode 100644 -index 0000000..2089d02 + COMPOSITOR_MODULES="wayland-server >= $WAYLAND_PREREQ_VERSION pixman-1 >= 0.25.2" --- /dev/null -+++ b/src/weston-error.h ++++ b/libweston/weston-error.h @@ -0,0 +1,20 @@ +#ifndef _WESTON_ERROR_H +#define _WESTON_ERROR_H @@ -55,11 +50,9 @@ index 0000000..2089d02 + +#endif + -diff --git a/src/weston-launch.c b/src/weston-launch.c -index 10c66de..3e6d30a 100644 ---- a/src/weston-launch.c -+++ b/src/weston-launch.c -@@ -30,7 +30,6 @@ +--- a/libweston/weston-launch.c ++++ b/libweston/weston-launch.c +@@ -33,7 +33,6 @@ #include <poll.h> #include <errno.h> @@ -67,7 +60,7 @@ index 10c66de..3e6d30a 100644 #include <getopt.h> #include <sys/types.h> -@@ -56,6 +55,7 @@ +@@ -59,6 +58,7 @@ #endif #include "weston-launch.h" @@ -75,6 +68,3 @@ index 10c66de..3e6d30a 100644 #define DRM_MAJOR 226 --- -2.1.4 - diff --git a/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/0001-shared-include-stdint.h-for-int32_t.patch b/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/0001-shared-include-stdint.h-for-int32_t.patch deleted file mode 100644 index 91ef727d3..000000000 --- a/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/0001-shared-include-stdint.h-for-int32_t.patch +++ /dev/null @@ -1,28 +0,0 @@ -From ba02b8abe4e2afac2bfbf2559972d5059d75a041 Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen <jussi.kukkonen@intel.com> -Date: Sat, 16 Jul 2016 22:50:19 +0300 -Subject: [PATCH weston] shared: include stdint.h for int32_t - -This fixes build on musl. - -Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> -Upstream-Status: Submitted ---- - shared/xalloc.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/shared/xalloc.h b/shared/xalloc.h -index 85fccb4..484de2d 100644 ---- a/shared/xalloc.h -+++ b/shared/xalloc.h -@@ -30,6 +30,7 @@ - extern "C" { - #endif - -+#include <stdint.h> - #include <stdlib.h> - #include <string.h> - --- -2.1.4 - diff --git a/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch b/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch index 5542036be..70b988898 100644 --- a/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch +++ b/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch @@ -1,6 +1,6 @@ -From d02226b3d5872b184c1d50c7f4706ac9467ffb81 Mon Sep 17 00:00:00 2001 +From 8ff6ed03ec4079f32e9b34085414e57be4730e04 Mon Sep 17 00:00:00 2001 From: Tom Hochstein <tom.hochstein@nxp.com> -Date: Fri, 15 Jul 2016 11:00:15 +0300 +Date: Wed, 22 Feb 2017 15:53:30 +0200 Subject: [PATCH] weston-launch: Provide a default version that doesn't require PAM @@ -13,16 +13,17 @@ without non-root-user support. Upstream-Status: Pending Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> +Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> --- - configure.ac | 9 +++++++-- - src/weston-launch.c | 20 ++++++++++++++++++++ + configure.ac | 9 +++++++-- + libweston/weston-launch.c | 20 ++++++++++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac -index 32fdde7..240966f 100644 +index 46cb2c7..bb45f46 100644 --- a/configure.ac +++ b/configure.ac -@@ -416,13 +416,17 @@ AC_ARG_ENABLE(resize-optimization, +@@ -435,13 +435,17 @@ AC_ARG_ENABLE(resize-optimization, AS_IF([test "x$enable_resize_optimization" = "xyes"], [AC_DEFINE([USE_RESIZE_POOL], [1], [Use resize memory pool as a performance optimization])]) @@ -30,11 +31,11 @@ index 32fdde7..240966f 100644 + AS_HELP_STRING([--with-pam], [Use PAM]), + [use_pam=$withval], [use_pam=yes]) AC_ARG_ENABLE(weston-launch, [ --enable-weston-launch],, enable_weston_launch=yes) - AM_CONDITIONAL(BUILD_WESTON_LAUNCH, test x$enable_weston_launch == xyes) --if test x$enable_weston_launch == xyes; then + AM_CONDITIONAL(BUILD_WESTON_LAUNCH, test x$enable_weston_launch = xyes) +-if test x$enable_weston_launch = xyes; then +if test x$enable_weston_launch = xyes -a x$use_pam = xyes; then WESTON_SEARCH_LIBS([PAM], [pam], [pam_open_session], [have_pam=yes], [have_pam=no]) - if test x$have_pam == xno; then + if test x$have_pam = xno; then - AC_ERROR([weston-launch requires pam]) + AC_ERROR([PAM support is explicitly requested, but libpam couldn't be found]) fi @@ -42,7 +43,7 @@ index 32fdde7..240966f 100644 fi AM_CONDITIONAL(HAVE_PANGO, test "x$have_pango" = "xyes") -@@ -673,6 +677,7 @@ AC_MSG_RESULT([ +@@ -701,6 +705,7 @@ AC_MSG_RESULT([ Enable developer documentation ${enable_devdocs} weston-launch utility ${enable_weston_launch} @@ -50,10 +51,10 @@ index 32fdde7..240966f 100644 systemd-login support ${have_systemd_login} systemd notify support ${enable_systemd_notify} -diff --git a/src/weston-launch.c b/src/weston-launch.c -index b8b2ba0..a865061 100644 ---- a/src/weston-launch.c -+++ b/src/weston-launch.c +diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c +index 0491896..07e7469 100644 +--- a/libweston/weston-launch.c ++++ b/libweston/weston-launch.c @@ -51,7 +51,9 @@ #include <pwd.h> @@ -107,7 +108,7 @@ index b8b2ba0..a865061 100644 if (ioctl(wl->tty, KDSKBMUTE, 0) && ioctl(wl->tty, KDSKBMODE, wl->kb_mode)) -@@ -600,6 +608,7 @@ setup_session(struct weston_launch *wl) +@@ -600,6 +608,7 @@ setup_session(struct weston_launch *wl, char **child_argv) setenv("HOME", wl->pw->pw_dir, 1); setenv("SHELL", wl->pw->pw_shell, 1); @@ -115,15 +116,15 @@ index b8b2ba0..a865061 100644 env = pam_getenvlist(wl->ph); if (env) { for (i = 0; env[i]; ++i) { -@@ -608,6 +617,7 @@ setup_session(struct weston_launch *wl) +@@ -608,6 +617,7 @@ setup_session(struct weston_launch *wl, char **child_argv) } free(env); } +#endif - } - static void -@@ -665,7 +675,9 @@ static void + /* + * We open a new session, so it makes sense +@@ -675,7 +685,9 @@ static void help(const char *name) { fprintf(stderr, "Usage: %s [args...] [-- [weston args..]]\n", name); @@ -133,7 +134,7 @@ index b8b2ba0..a865061 100644 fprintf(stderr, " -t, --tty Start session on alternative tty\n"); fprintf(stderr, " -v, --verbose Be verbose\n"); fprintf(stderr, " -h, --help Display this help message\n"); -@@ -678,7 +690,9 @@ main(int argc, char *argv[]) +@@ -688,7 +700,9 @@ main(int argc, char *argv[]) int i, c; char *tty = NULL; struct option opts[] = { @@ -143,7 +144,7 @@ index b8b2ba0..a865061 100644 { "tty", required_argument, NULL, 't' }, { "verbose", no_argument, NULL, 'v' }, { "help", no_argument, NULL, 'h' }, -@@ -690,9 +704,13 @@ main(int argc, char *argv[]) +@@ -700,9 +714,13 @@ main(int argc, char *argv[]) while ((c = getopt_long(argc, argv, "u:t::vh", opts, &i)) != -1) { switch (c) { case 'u': @@ -157,7 +158,7 @@ index b8b2ba0..a865061 100644 break; case 't': tty = optarg; -@@ -730,8 +748,10 @@ main(int argc, char *argv[]) +@@ -740,8 +758,10 @@ main(int argc, char *argv[]) if (setup_tty(&wl, tty) < 0) exit(EXIT_FAILURE); diff --git a/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/make-weston-launch-exit-for-unrecognized-option.patch b/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/make-weston-launch-exit-for-unrecognized-option.patch deleted file mode 100644 index 0c408a43d..000000000 --- a/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/make-weston-launch-exit-for-unrecognized-option.patch +++ /dev/null @@ -1,33 +0,0 @@ -From e8b615250f700f7854b423aaaf0a0aeea92c05a9 Mon Sep 17 00:00:00 2001 -From: Tom Hochstein <tom.hochstein@nxp.com> -Date: Sat, 7 May 2016 08:51:58 -0300 -Subject: [PATCH] weston-launch: Handle invalid command line options -Organization: O.S. Systems Software LTDA. - -Exit the program if an unrecognized command line option is found. - -Upstream-Status: Submitted - -Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> -Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> ---- - - src/weston-launch.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/weston-launch.c b/src/weston-launch.c -index b8dfb17..9987d8e 100644 ---- a/src/weston-launch.c -+++ b/src/weston-launch.c -@@ -703,6 +703,8 @@ main(int argc, char *argv[]) - case 'h': - help("weston-launch"); - exit(EXIT_FAILURE); -+ default: -+ exit(EXIT_FAILURE); - } - } - --- -2.8.2 - diff --git a/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/weston-1.11-config-option-for-no-input-device.patch b/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/weston-1.11-config-option-for-no-input-device.patch deleted file mode 100644 index 6f5ad6652..000000000 --- a/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/weston-1.11-config-option-for-no-input-device.patch +++ /dev/null @@ -1,123 +0,0 @@ -From bbf2e6ebbd9c051775f43e1e3c3a2f41322342e8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Daniel=20D=C3=ADaz?= <daniel.diaz@linaro.org> -Date: Fri, 21 Oct 2016 14:03:13 -0500 -Subject: [PATCH] Add configuration option for no input device. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -[Backported from master, 75b7197.] - -As it has been discussed in the past [1], running Weston -without any input device at launch might be beneficial for -some use cases. - -Certainly, it's best for the vast majority of users (and -the project) to require an input device to be present, as -to avoid frustration and hassle, but for those brave souls -that so prefer, this patch lets them run without any input -device at all. - -This introduces a simple configuration in weston.ini: - [core] - require-input=true - -True is the default, so no behavioral change is introduced. - -[1] https://lists.freedesktop.org/archives/wayland-devel/2015-November/025193.html - -Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org> ---- - man/weston.ini.man | 5 +++++ - src/compositor.h | 4 ++++ - src/libinput-seat.c | 6 ++++++ - src/main.c | 5 +++++ - weston.ini.in | 1 + - 5 files changed, 21 insertions(+) - -diff --git a/man/weston.ini.man b/man/weston.ini.man -index d7c4a6f..c7d0f01 100644 ---- a/man/weston.ini.man -+++ b/man/weston.ini.man -@@ -169,6 +169,11 @@ time, the one specified in the command-line will be used. On the other - hand, if none of these sets the value, default idle timeout will be - set to 300 seconds. - .RS -+.PP -+.RE -+.TP 7 -+.BI "require-input=" true -+require an input device for launch - - .SH "LIBINPUT SECTION" - The -diff --git a/src/compositor.h b/src/compositor.h -index 0bbf458..476b650 100644 ---- a/src/compositor.h -+++ b/src/compositor.h -@@ -803,6 +803,10 @@ struct weston_compositor { - - void *user_data; - void (*exit)(struct weston_compositor *c); -+ -+ /* Whether to let the compositor run without any input device. */ -+ bool require_input; -+ - }; - - struct weston_buffer { -diff --git a/src/libinput-seat.c b/src/libinput-seat.c -index 8ce0ee0..e1fdcf0 100644 ---- a/src/libinput-seat.c -+++ b/src/libinput-seat.c -@@ -255,6 +255,12 @@ udev_input_enable(struct udev_input *input) - devices_found = 1; - } - -+ if (devices_found == 0 && !c->require_input) { -+ weston_log("warning: no input devices found, but none required " -+ "as per configuration.\n"); -+ return 0; -+ } -+ - if (devices_found == 0) { - weston_log( - "warning: no input devices on entering Weston. " -diff --git a/src/main.c b/src/main.c -index 3279ac6..09905ea 100644 ---- a/src/main.c -+++ b/src/main.c -@@ -1298,6 +1298,7 @@ int main(int argc, char *argv[]) - struct wl_client *primary_client; - struct wl_listener primary_client_destroyed; - struct weston_seat *seat; -+ int require_input; - - const struct weston_option core_options[] = { - { WESTON_OPTION_STRING, "backend", 'B', &backend }, -@@ -1373,6 +1374,10 @@ int main(int argc, char *argv[]) - if (weston_compositor_init_config(ec, config) < 0) - goto out; - -+ weston_config_section_get_bool(section, "require-input", -+ &require_input, true); -+ ec->require_input = require_input; -+ - if (load_backend(ec, backend, &argc, argv, config) < 0) { - weston_log("fatal: failed to create compositor backend\n"); - goto out; -diff --git a/weston.ini.in b/weston.ini.in -index 14a4c0c..d837fb5 100644 ---- a/weston.ini.in -+++ b/weston.ini.in -@@ -2,6 +2,7 @@ - #modules=xwayland.so,cms-colord.so - #shell=desktop-shell.so - #gbm-format=xrgb2101010 -+#require-input=true - - [shell] - background-image=/usr/share/backgrounds/gnome/Aqua.jpg --- -1.9.1 - diff --git a/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch b/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch new file mode 100644 index 000000000..c18801855 --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-graphics/wayland/weston/weston-gl-renderer-Set-pitch-correctly-for-subsampled-textures.patch @@ -0,0 +1,55 @@ +Multi-plane sub-sampled textures have partial width/height, e.g. +YUV420/I420 has a full-size Y plane, followed by a half-width/height U +plane, and a half-width/height V plane. + +zwp_linux_dmabuf_v1 allows clients to pass an explicit pitch for each +plane, but for wl_shm this must be inferred. gl-renderer was correctly +accounting for the width and height when subsampling, but the pitch was +being taken as the pitch for the first plane. + +This does not match the requirements for GStreamer's waylandsink, in +particular, as well as other clients. Fix the SHM upload path to +correctly set the pitch for each plane, according to subsampling. + +Tested with: + $ gst-launch-1.0 videotestsrc ! waylandsink + +Upstream-Status: Backport [https://patchwork.freedesktop.org/patch/180767/] + +Signed-off-by: Daniel Stone <daniels@collabora.com> +Fixes: fdeefe42418 ("gl-renderer: add support of WL_SHM_FORMAT_YUV420") +Reported-by: Fabien Lahoudere <fabien.lahoudere@collabora.co.uk> +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103063 + +--- + libweston/gl-renderer.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libweston/gl-renderer.c b/libweston/gl-renderer.c +index 244ce309..40bf0bb6 100644 +--- a/libweston/gl-renderer.c ++++ b/libweston/gl-renderer.c +@@ -1285,14 +1285,13 @@ gl_renderer_flush_damage(struct weston_surface *surface) + goto done; + } + +- glPixelStorei(GL_UNPACK_ROW_LENGTH_EXT, gs->pitch); +- + if (gs->needs_full_upload) { + glPixelStorei(GL_UNPACK_SKIP_PIXELS_EXT, 0); + glPixelStorei(GL_UNPACK_SKIP_ROWS_EXT, 0); + wl_shm_buffer_begin_access(buffer->shm_buffer); + for (j = 0; j < gs->num_textures; j++) { + glBindTexture(GL_TEXTURE_2D, gs->textures[j]); ++ glPixelStorei(GL_UNPACK_ROW_LENGTH_EXT, gs->pitch / gs->hsub[j]); + glTexImage2D(GL_TEXTURE_2D, 0, + gs->gl_format[j], + gs->pitch / gs->hsub[j], +@@ -1317,6 +1316,7 @@ gl_renderer_flush_damage(struct weston_surface *surface) + glPixelStorei(GL_UNPACK_SKIP_ROWS_EXT, r.y1); + for (j = 0; j < gs->num_textures; j++) { + glBindTexture(GL_TEXTURE_2D, gs->textures[j]); ++ glPixelStorei(GL_UNPACK_ROW_LENGTH_EXT, gs->pitch / gs->hsub[j]); + glTexSubImage2D(GL_TEXTURE_2D, 0, + r.x1 / gs->hsub[j], + r.y1 / gs->vsub[j], |