mirror of
https://git.yoctoproject.org/poky
synced 2026-04-23 09:32:17 +02:00
weston: upgrade 9.0.0 -> 10.0.0
Release announcement with changes: https://lists.freedesktop.org/archives/wayland-devel/2022-February/042103.html Upstream has deprecated both weston-launch and fbdev backend, so let's not delay the inevitable and find replacements. Fbdev can be replaced by passing --use-pixman to drm backend; this will bypass the opengl paths and use CPU for rendering. Apply where GL is too slow or unavailable. weston-launch can be replaced by starting weston directly, with a seat management daemon for support. This is provided either by systemd, or on systemd-less systems, by seatd. The sysvinit startup scripts and tests have been rewritten accordingly. Bonus fix: under sysvinit weston now starts under weston user as it should, and not under root. Upstream discussion: https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/725 License-Update: copyright years (From OE-Core rev: 4efc81fc575aea1e12e00de8644a4b853719f8df) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
35666a87ae
commit
b3bb369ba4
@@ -10,7 +10,7 @@ import threading
|
||||
import time
|
||||
|
||||
class WestonTest(OERuntimeTestCase):
|
||||
weston_log_file = '/tmp/weston.log'
|
||||
weston_log_file = '/tmp/weston-2.log'
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
@@ -31,13 +31,13 @@ class WestonTest(OERuntimeTestCase):
|
||||
return output.split(" ")
|
||||
|
||||
def get_weston_command(self, cmd):
|
||||
return 'export XDG_RUNTIME_DIR=/run/user/0; export WAYLAND_DISPLAY=wayland-0; %s' % cmd
|
||||
return 'export XDG_RUNTIME_DIR=/run/user/`id -u weston`; export WAYLAND_DISPLAY=wayland-1; %s' % cmd
|
||||
|
||||
def run_weston_init(self):
|
||||
if 'systemd' in self.tc.td['VIRTUAL-RUNTIME_init_manager']:
|
||||
self.target.run('systemd-run --collect --unit=weston-ptest.service --uid=0 -p PAMName=login -p TTYPath=/dev/tty6 -E XDG_RUNTIME_DIR=/tmp -E WAYLAND_DISPLAY=wayland-0 /usr/bin/weston --socket=wayland-1 --log=%s' % self.weston_log_file)
|
||||
else:
|
||||
self.target.run(self.get_weston_command('openvt -- weston --socket=wayland-1 --log=%s' % self.weston_log_file))
|
||||
self.target.run(self.get_weston_command('openvt -- weston --socket=wayland-2 --log=%s' % self.weston_log_file))
|
||||
|
||||
def get_new_wayland_processes(self, existing_wl_processes):
|
||||
try_cnt = 0
|
||||
|
||||
@@ -32,7 +32,7 @@ case "$1" in
|
||||
. /etc/profile
|
||||
export HOME=ROOTHOME
|
||||
|
||||
weston-start -- $OPTARGS
|
||||
WESTON_USER=weston weston-start $OPTARGS &
|
||||
;;
|
||||
|
||||
stop)
|
||||
|
||||
@@ -6,7 +6,7 @@ export PATH="/sbin:/usr/sbin:/bin:/usr/bin"
|
||||
|
||||
usage() {
|
||||
cat <<EOF
|
||||
$0 [<openvt arguments>] [-- <weston options>]
|
||||
$0 [<weston options>]
|
||||
EOF
|
||||
}
|
||||
|
||||
@@ -18,11 +18,6 @@ add_weston_argument() {
|
||||
weston_args="$weston_args $1"
|
||||
}
|
||||
|
||||
# Add openvt extra argument
|
||||
add_openvt_argument() {
|
||||
openvt_args="$openvt_args $1"
|
||||
|
||||
}
|
||||
## Add module to --modules argument
|
||||
add_weston_module() {
|
||||
if [[ "x${weston_modules}" == "x" ]]; then
|
||||
@@ -37,33 +32,12 @@ if [ -n "$WAYLAND_DISPLAY" ]; then
|
||||
fi
|
||||
|
||||
if [ -n "$WESTON_USER" ]; then
|
||||
if [ -z "$WESTON_TTY" ]; then
|
||||
echo "ERROR: If you have WESTON_USER variable set, you also need WESTON_TTY."
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "$WESTON_GROUP" ]; then
|
||||
# no explicit WESTON_GROUP given, therefore use WESTON_USER
|
||||
export WESTON_GROUP="${WESTON_USER}"
|
||||
fi
|
||||
weston_args_user="-u $WESTON_USER -t $WESTON_TTY"
|
||||
fi
|
||||
|
||||
if [ -n "$DISPLAY" ]; then
|
||||
launcher="weston"
|
||||
else
|
||||
launcher="weston-launch $weston_args_user --"
|
||||
fi
|
||||
|
||||
openvt_args="-s"
|
||||
while [ -n "$1" ]; do
|
||||
if [ "$1" = "--" ]; then
|
||||
shift
|
||||
break
|
||||
fi
|
||||
openvt_args="$openvt_args $1"
|
||||
shift
|
||||
done
|
||||
|
||||
weston_args=$*
|
||||
|
||||
# Load and run modules
|
||||
@@ -94,4 +68,4 @@ if test -z "$XDG_RUNTIME_DIR"; then
|
||||
fi
|
||||
fi
|
||||
|
||||
exec openvt $openvt_args -- $launcher $weston_args --log=@LOCALSTATEDIR@/log/weston.log
|
||||
su -c "XDG_RUNTIME_DIR=/run/user/`id -u ${WESTON_USER}` weston $weston_args --log=/tmp/weston.log" $WESTON_USER
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
From c8bfa1f8d576cdc6d515dbbac36c48c6166be0d5 Mon Sep 17 00:00:00 2001
|
||||
From: Marius Vlad <marius.vlad@collabora.com>
|
||||
Date: Thu, 1 Apr 2021 00:12:00 +0300
|
||||
Subject: [PATCH] libweston/backend-drm: Re-order gbm destruction at DRM-backend tear down
|
||||
|
||||
Tearing down the drm-backend when there are no input devices, would call
|
||||
for the gbm device destruction before compositor shutdown. The latter
|
||||
would call into the renderer detroy function and assume that the
|
||||
EGLDisplay, which was created using the before-mentioned gbm device, is
|
||||
still available. This patch re-orders the gbm destruction after the
|
||||
compositor shutdown when no one would make use of it.
|
||||
|
||||
Fixes: #314
|
||||
|
||||
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
|
||||
Suggested-by: Daniel Stone <daniel.stone@collabora.com>
|
||||
|
||||
Upstream-Status: Backport [https://gitlab.freedesktop.org/wayland/weston/-/commit/d171c7b3ba346c4d0bd6494f45ebf0be3c3cc5fb]
|
||||
---
|
||||
libweston/backend-drm/drm.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/libweston/backend-drm/drm.c b/libweston/backend-drm/drm.c
|
||||
index 2780f3b..fbcfeca 100644
|
||||
--- a/libweston/backend-drm/drm.c
|
||||
+++ b/libweston/backend-drm/drm.c
|
||||
@@ -3025,10 +3025,6 @@ err_drm_source:
|
||||
err_udev_input:
|
||||
udev_input_destroy(&b->input);
|
||||
err_sprite:
|
||||
-#ifdef BUILD_DRM_GBM
|
||||
- if (b->gbm)
|
||||
- gbm_device_destroy(b->gbm);
|
||||
-#endif
|
||||
destroy_sprites(b);
|
||||
err_udev_dev:
|
||||
udev_device_unref(drm_device);
|
||||
@@ -3038,6 +3034,10 @@ err_launcher:
|
||||
weston_launcher_destroy(compositor->launcher);
|
||||
err_compositor:
|
||||
weston_compositor_shutdown(compositor);
|
||||
+#ifdef BUILD_DRM_GBM
|
||||
+ if (b->gbm)
|
||||
+ gbm_device_destroy(b->gbm);
|
||||
+#endif
|
||||
free(b);
|
||||
return NULL;
|
||||
}
|
||||
--
|
||||
2.33.0
|
||||
@@ -1,32 +0,0 @@
|
||||
From a2ba4714a6872e547621d29d9ddcb0f374b88cf6 Mon Sep 17 00:00:00 2001
|
||||
From: Chen Qi <Qi.Chen@windriver.com>
|
||||
Date: Tue, 20 Apr 2021 20:42:18 -0700
|
||||
Subject: [PATCH] meson.build: fix incorrect header
|
||||
|
||||
The wayland.c actually include 'xdg-shell-client-protocol.h' instead of
|
||||
the server one, so fix it. Otherwise, it's possible to get build failure
|
||||
due to race condition.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
|
||||
---
|
||||
libweston/backend-wayland/meson.build | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libweston/backend-wayland/meson.build b/libweston/backend-wayland/meson.build
|
||||
index 7e82513..29270b5 100644
|
||||
--- a/libweston/backend-wayland/meson.build
|
||||
+++ b/libweston/backend-wayland/meson.build
|
||||
@@ -10,7 +10,7 @@ srcs_wlwl = [
|
||||
fullscreen_shell_unstable_v1_protocol_c,
|
||||
presentation_time_protocol_c,
|
||||
presentation_time_server_protocol_h,
|
||||
- xdg_shell_server_protocol_h,
|
||||
+ xdg_shell_client_protocol_h,
|
||||
xdg_shell_protocol_c,
|
||||
]
|
||||
|
||||
--
|
||||
2.30.2
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
From 58760e09eed662a72da939ff4802d605489cff8e Mon Sep 17 00:00:00 2001
|
||||
From: Denys Dmytriyenko <denys@ti.com>
|
||||
Date: Tue, 8 Sep 2020 19:37:42 -0400
|
||||
Subject: [PATCH] tests: include fcntl.h for open(), O_RDWR, O_CLOEXEC and
|
||||
O_CREAT
|
||||
|
||||
musl libc (unlike glibc) requires explicitly incuding fcntl.h to define open(),
|
||||
O_RDWR, O_CLOEXEC and O_CREAT. Otherwise the build fails with the errors:
|
||||
|
||||
| ../weston-9.0.0/tests/weston-test-fixture-compositor.c: In function 'wait_for_lock':
|
||||
| ../weston-9.0.0/tests/weston-test-fixture-compositor.c:135:7: warning: implicit declaration of function 'open'; did you mean 'popen'? [-Wimplicit-function-declaration]
|
||||
| 135 | fd = open(lock_path, O_RDWR | O_CLOEXEC | O_CREAT, 00700);
|
||||
| | ^~~~
|
||||
| | popen
|
||||
| ../weston-9.0.0/tests/weston-test-fixture-compositor.c:135:23: error: 'O_RDWR' undeclared (first use in this function)
|
||||
| 135 | fd = open(lock_path, O_RDWR | O_CLOEXEC | O_CREAT, 00700);
|
||||
| | ^~~~~~
|
||||
| ../weston-9.0.0/tests/weston-test-fixture-compositor.c:135:23: note: each undeclared identifier is reported only once for each function it appears in
|
||||
| ../weston-9.0.0/tests/weston-test-fixture-compositor.c:135:32: error: 'O_CLOEXEC' undeclared (first use in this function)
|
||||
| 135 | fd = open(lock_path, O_RDWR | O_CLOEXEC | O_CREAT, 00700);
|
||||
| | ^~~~~~~~~
|
||||
| ../weston-9.0.0/tests/weston-test-fixture-compositor.c:135:44: error: 'O_CREAT' undeclared (first use in this function)
|
||||
| 135 | fd = open(lock_path, O_RDWR | O_CLOEXEC | O_CREAT, 00700);
|
||||
| | ^~~~~~~
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/493/diffs?commit_id=b10c0e843dcb8148bbe869bb15261955b94ac98c]
|
||||
|
||||
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
|
||||
---
|
||||
tests/weston-test-fixture-compositor.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/tests/weston-test-fixture-compositor.c b/tests/weston-test-fixture-compositor.c
|
||||
index 0c9855f..e0e32c9 100644
|
||||
--- a/tests/weston-test-fixture-compositor.c
|
||||
+++ b/tests/weston-test-fixture-compositor.c
|
||||
@@ -31,6 +31,7 @@
|
||||
#include <unistd.h>
|
||||
#include <sys/file.h>
|
||||
#include <errno.h>
|
||||
+#include <fcntl.h>
|
||||
|
||||
#include "shared/helpers.h"
|
||||
#include "weston-test-fixture-compositor.h"
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -1,199 +0,0 @@
|
||||
From a1548c742bf2dedbb47282d8a00407b60bbab669 Mon Sep 17 00:00:00 2001
|
||||
From: Tom Hochstein <tom.hochstein@nxp.com>
|
||||
Date: Wed, 22 Feb 2017 15:53:30 +0200
|
||||
Subject: [PATCH] weston-launch: Provide a default version that doesn't require
|
||||
|
||||
PAM
|
||||
|
||||
weston-launch requires PAM for starting weston as a non-root user.
|
||||
|
||||
Since starting weston as root is a valid use case by itself, if
|
||||
PAM is not available, provide a default version of weston-launch
|
||||
without non-root-user support.
|
||||
|
||||
Upstream-Status: Denied [https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/725]
|
||||
|
||||
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
|
||||
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
|
||||
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
|
||||
Signed-off-by: Ming Liu <ming.liu@toradex.com>
|
||||
|
||||
---
|
||||
libweston/meson.build | 16 ++++++++++++----
|
||||
libweston/weston-launch.c | 21 +++++++++++++++++++++
|
||||
meson_options.txt | 7 +++++++
|
||||
3 files changed, 40 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/libweston/meson.build b/libweston/meson.build
|
||||
index 08d23ec..cb9fd3f 100644
|
||||
--- a/libweston/meson.build
|
||||
+++ b/libweston/meson.build
|
||||
@@ -216,16 +216,24 @@ dep_vertex_clipping = declare_dependency(
|
||||
)
|
||||
|
||||
if get_option('weston-launch')
|
||||
- dep_pam = cc.find_library('pam')
|
||||
+ deps_weston_launch = [systemd_dep, dep_libdrm]
|
||||
|
||||
- if not cc.has_function('pam_open_session', dependencies: dep_pam)
|
||||
- error('pam_open_session not found for weston-launch')
|
||||
+ if get_option('pam')
|
||||
+ dep_pam = cc.find_library('pam')
|
||||
+ if not cc.has_function('pam_open_session', dependencies: dep_pam)
|
||||
+ error('pam_open_session not found for weston-launch')
|
||||
+ endif
|
||||
+
|
||||
+ if dep_pam.found()
|
||||
+ deps_weston_launch += dep_pam
|
||||
+ config_h.set('HAVE_PAM', '1')
|
||||
+ endif
|
||||
endif
|
||||
|
||||
executable(
|
||||
'weston-launch',
|
||||
'weston-launch.c',
|
||||
- dependencies: [dep_pam, systemd_dep, dep_libdrm],
|
||||
+ dependencies: deps_weston_launch,
|
||||
include_directories: common_inc,
|
||||
install: true
|
||||
)
|
||||
diff --git a/libweston/weston-launch.c b/libweston/weston-launch.c
|
||||
index 521cb2c..2d42d33 100644
|
||||
--- a/libweston/weston-launch.c
|
||||
+++ b/libweston/weston-launch.c
|
||||
@@ -51,7 +51,9 @@
|
||||
|
||||
#include <pwd.h>
|
||||
#include <grp.h>
|
||||
+#ifdef HAVE_PAM
|
||||
#include <security/pam_appl.h>
|
||||
+#endif
|
||||
|
||||
#ifdef HAVE_SYSTEMD_LOGIN
|
||||
#include <systemd/sd-login.h>
|
||||
@@ -100,8 +102,10 @@ drmSetMaster(int drm_fd)
|
||||
#endif
|
||||
|
||||
struct weston_launch {
|
||||
+#ifdef HAVE_PAM
|
||||
struct pam_conv pc;
|
||||
pam_handle_t *ph;
|
||||
+#endif
|
||||
int tty;
|
||||
int ttynr;
|
||||
int sock[2];
|
||||
@@ -192,6 +196,7 @@ weston_launch_allowed(struct weston_launch *wl)
|
||||
return false;
|
||||
}
|
||||
|
||||
+#ifdef HAVE_PAM
|
||||
static int
|
||||
pam_conversation_fn(int msg_count,
|
||||
const struct pam_message **messages,
|
||||
@@ -232,6 +237,7 @@ setup_pam(struct weston_launch *wl)
|
||||
|
||||
return 0;
|
||||
}
|
||||
+#endif
|
||||
|
||||
static int
|
||||
setup_launcher_socket(struct weston_launch *wl)
|
||||
@@ -466,6 +472,7 @@ quit(struct weston_launch *wl, int status)
|
||||
close(wl->signalfd);
|
||||
close(wl->sock[0]);
|
||||
|
||||
+#ifdef HAVE_PAM
|
||||
if (wl->new_user) {
|
||||
err = pam_close_session(wl->ph, 0);
|
||||
if (err)
|
||||
@@ -473,6 +480,7 @@ quit(struct weston_launch *wl, int status)
|
||||
err, pam_strerror(wl->ph, err));
|
||||
pam_end(wl->ph, err);
|
||||
}
|
||||
+#endif
|
||||
|
||||
/*
|
||||
* Get a fresh handle to the tty as the previous one is in
|
||||
@@ -710,6 +718,7 @@ setup_session(struct weston_launch *wl, char **child_argv)
|
||||
setenv("HOME", wl->pw->pw_dir, 1);
|
||||
setenv("SHELL", wl->pw->pw_shell, 1);
|
||||
|
||||
+#ifdef HAVE_PAM
|
||||
env = pam_getenvlist(wl->ph);
|
||||
if (env) {
|
||||
for (i = 0; env[i]; ++i) {
|
||||
@@ -718,6 +727,7 @@ setup_session(struct weston_launch *wl, char **child_argv)
|
||||
}
|
||||
free(env);
|
||||
}
|
||||
+#endif
|
||||
|
||||
/*
|
||||
* We open a new session, so it makes sense
|
||||
@@ -789,8 +799,10 @@ static void
|
||||
help(const char *name)
|
||||
{
|
||||
fprintf(stderr, "Usage: %s [args...] [-- [weston args..]]\n", name);
|
||||
+#ifdef HAVE_PAM
|
||||
fprintf(stderr, " -u, --user Start session as specified username,\n"
|
||||
" e.g. -u joe, requires root.\n");
|
||||
+#endif
|
||||
fprintf(stderr, " -t, --tty Start session on alternative tty,\n"
|
||||
" e.g. -t /dev/tty4, requires -u option.\n");
|
||||
fprintf(stderr, " -v, --verbose Be verbose\n");
|
||||
@@ -804,7 +816,9 @@ main(int argc, char *argv[])
|
||||
int i, c;
|
||||
char *tty = NULL;
|
||||
struct option opts[] = {
|
||||
+#ifdef HAVE_PAM
|
||||
{ "user", required_argument, NULL, 'u' },
|
||||
+#endif
|
||||
{ "tty", required_argument, NULL, 't' },
|
||||
{ "verbose", no_argument, NULL, 'v' },
|
||||
{ "help", no_argument, NULL, 'h' },
|
||||
@@ -816,11 +830,16 @@ main(int argc, char *argv[])
|
||||
while ((c = getopt_long(argc, argv, "u:t:vh", opts, &i)) != -1) {
|
||||
switch (c) {
|
||||
case 'u':
|
||||
+#ifdef HAVE_PAM
|
||||
wl.new_user = optarg;
|
||||
if (getuid() != 0) {
|
||||
fprintf(stderr, "weston: Permission denied. -u allowed for root only\n");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
+#else
|
||||
+ fprintf(stderr, "weston: -u is unsupported in this weston-launch build\n");
|
||||
+ exit(EXIT_FAILURE);
|
||||
+#endif
|
||||
break;
|
||||
case 't':
|
||||
tty = optarg;
|
||||
@@ -872,8 +891,10 @@ main(int argc, char *argv[])
|
||||
if (setup_tty(&wl, tty) < 0)
|
||||
exit(EXIT_FAILURE);
|
||||
|
||||
+#ifdef HAVE_PAM
|
||||
if (wl.new_user && setup_pam(&wl) < 0)
|
||||
exit(EXIT_FAILURE);
|
||||
+#endif
|
||||
|
||||
if (setup_launcher_socket(&wl) < 0)
|
||||
exit(EXIT_FAILURE);
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index 239bd2d..99e4ec3 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -73,6 +73,13 @@ option(
|
||||
)
|
||||
|
||||
option(
|
||||
+ 'pam',
|
||||
+ type: 'boolean',
|
||||
+ value: true,
|
||||
+ description: 'Define if PAM is available'
|
||||
+)
|
||||
+
|
||||
+option(
|
||||
'xwayland',
|
||||
type: 'boolean',
|
||||
value: true,
|
||||
@@ -1,4 +1,7 @@
|
||||
Fix atomic modesetting with musl
|
||||
From ece4c3d261aeec230869c0304ed1011ff6837c16 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Sat, 12 Sep 2020 14:04:04 -0700
|
||||
Subject: [PATCH] Fix atomic modesetting with musl
|
||||
|
||||
atomic modesetting seems to fail with drm weston backend and this patch fixes
|
||||
it, below errors are seen before weston exits
|
||||
@@ -8,9 +11,15 @@ atomic: couldn't commit new state: Invalid argument
|
||||
Upstream-Status: Submitted [https://gitlab.freedesktop.org/wayland/weston/-/issues/158]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
---
|
||||
libweston/backend-drm/kms.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libweston/backend-drm/kms.c b/libweston/backend-drm/kms.c
|
||||
index 780d007..9994da1 100644
|
||||
--- a/libweston/backend-drm/kms.c
|
||||
+++ b/libweston/backend-drm/kms.c
|
||||
@@ -1168,8 +1168,8 @@ drm_pending_state_apply_atomic(struct dr
|
||||
@@ -1142,8 +1142,8 @@ drm_pending_state_apply_atomic(struct drm_pending_state *pending_state,
|
||||
wl_list_for_each(plane, &b->plane_list, link) {
|
||||
drm_debug(b, "\t\t[atomic] starting with plane %lu disabled\n",
|
||||
(unsigned long) plane->plane_id);
|
||||
|
||||
@@ -3,22 +3,19 @@ DESCRIPTION = "Weston is the reference implementation of a Wayland compositor"
|
||||
HOMEPAGE = "http://wayland.freedesktop.org"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \
|
||||
file://libweston/compositor.c;endline=27;md5=6c53bbbd99273f4f7c4affa855c33c0a"
|
||||
file://libweston/compositor.c;endline=27;md5=eb6d5297798cabe2ddc65e2af519bcf0 \
|
||||
"
|
||||
|
||||
SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
|
||||
file://weston.png \
|
||||
file://weston.desktop \
|
||||
file://xwayland.weston-start \
|
||||
file://systemd-notify.weston-start \
|
||||
file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \
|
||||
file://0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch \
|
||||
file://0001-meson.build-fix-incorrect-header.patch \
|
||||
file://0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch \
|
||||
"
|
||||
"
|
||||
|
||||
SRC_URI:append:libc-musl = " file://dont-use-plane-add-prop.patch "
|
||||
|
||||
SRC_URI[sha256sum] = "5cf5d6ce192e0eb15c1fc861a436bf21b5bb3b91dbdabbdebe83e1f83aa098fe"
|
||||
SRC_URI[sha256sum] = "5c23964112b90238bed39e5dd1e41cd71a79398813cdc3bbb15a9fdc94e547ae"
|
||||
|
||||
UPSTREAM_CHECK_URI = "https://wayland.freedesktop.org/releases.html"
|
||||
|
||||
@@ -34,13 +31,13 @@ LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'lto', '-Wl,-z,undefs', '',
|
||||
|
||||
WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}"
|
||||
|
||||
EXTRA_OEMESON += "-Dbackend-default=auto -Dpipewire=false"
|
||||
EXTRA_OEMESON += "-Dpipewire=false"
|
||||
|
||||
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl clients', '', d)} \
|
||||
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms wayland egl clients', '', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd x11', d)} \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \
|
||||
${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'headless', d)} \
|
||||
launch \
|
||||
${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'sysvinit', 'launcher-libseat', '', d)} \
|
||||
image-jpeg \
|
||||
screenshare \
|
||||
shell-desktop \
|
||||
@@ -59,11 +56,11 @@ PACKAGECONFIG[x11] = "-Dbackend-x11=true,-Dbackend-x11=false,virtual/libx11 libx
|
||||
# Headless Weston
|
||||
PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false"
|
||||
# Weston on framebuffer
|
||||
PACKAGECONFIG[fbdev] = "-Dbackend-fbdev=true,-Dbackend-fbdev=false,udev mtdev"
|
||||
PACKAGECONFIG[fbdev] = "-Ddeprecated-backend-fbdev=true,-Ddeprecated-backend-fbdev=false,udev mtdev"
|
||||
# Weston on RDP
|
||||
PACKAGECONFIG[rdp] = "-Dbackend-rdp=true,-Dbackend-rdp=false,freerdp"
|
||||
# weston-launch
|
||||
PACKAGECONFIG[launch] = "-Dweston-launch=true,-Dweston-launch=false,drm"
|
||||
PACKAGECONFIG[launch] = "-Ddeprecated-weston-launch=true,-Ddeprecated-weston-launch=false,drm"
|
||||
# VA-API desktop recorder
|
||||
PACKAGECONFIG[vaapi] = "-Dbackend-drm-screencast-vaapi=true,-Dbackend-drm-screencast-vaapi=false,libva"
|
||||
# Weston with EGL support
|
||||
@@ -82,8 +79,6 @@ PACKAGECONFIG[colord] = "-Dcolor-management-colord=true,-Dcolor-management-color
|
||||
PACKAGECONFIG[clients] = "-Dsimple-clients=all -Ddemo-clients=true,-Dsimple-clients= -Ddemo-clients=false"
|
||||
# Virtual remote output with GStreamer on DRM backend
|
||||
PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer1.0 gstreamer1.0-plugins-base"
|
||||
# Weston with PAM support
|
||||
PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam"
|
||||
# Weston with screen-share support
|
||||
PACKAGECONFIG[screenshare] = "-Dscreenshare=true,-Dscreenshare=false"
|
||||
# Traditional desktop shell
|
||||
@@ -94,6 +89,8 @@ PACKAGECONFIG[shell-fullscreen] = "-Dshell-fullscreen=true,-Dshell-fullscreen=fa
|
||||
PACKAGECONFIG[shell-ivi] = "-Dshell-ivi=true,-Dshell-ivi=false"
|
||||
# JPEG image loading support
|
||||
PACKAGECONFIG[image-jpeg] = "-Dimage-jpeg=true,-Dimage-jpeg=false, jpeg"
|
||||
# support libseat based launch
|
||||
PACKAGECONFIG[launcher-libseat] = "-Dlauncher-libseat=true,-Dlauncher-libseat=false,seatd"
|
||||
|
||||
do_install:append() {
|
||||
# Weston doesn't need the .la files to load modules, so wipe them
|
||||
Reference in New Issue
Block a user