diff --git a/packages/wayland/weston/config/weston.ini b/packages/wayland/weston/config/weston.ini index 196e43484a..dbbb812c29 100644 --- a/packages/wayland/weston/config/weston.ini +++ b/packages/wayland/weston/config/weston.ini @@ -2,10 +2,12 @@ idle-time=0 [shell] -locking=false -background-color=0x00000000 -background-image=/usr/share/weston/splash-2160.png + +background-image=/usr/share/weston/libreelec-wallpaper-2160.png background-type=scale-crop +background-color=0x00000000 +clock-format=minutes-24h +locking=false [launcher] path=/usr/lib/kodi/kodi.bin diff --git a/packages/wayland/weston/package.mk b/packages/wayland/weston/package.mk index c729a35fb1..5b4ccc0fc1 100644 --- a/packages/wayland/weston/package.mk +++ b/packages/wayland/weston/package.mk @@ -2,34 +2,50 @@ # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) PKG_NAME="weston" -PKG_VERSION="9.0.0" -PKG_SHA256="5cf5d6ce192e0eb15c1fc861a436bf21b5bb3b91dbdabbdebe83e1f83aa098fe" -PKG_LICENSE="OSS" +PKG_VERSION="10.0.0" +PKG_SHA256="5c23964112b90238bed39e5dd1e41cd71a79398813cdc3bbb15a9fdc94e547ae" +PKG_LICENSE="MIT" PKG_SITE="https://wayland.freedesktop.org/" PKG_URL="https://wayland.freedesktop.org/releases/${PKG_NAME}-${PKG_VERSION}.tar.xz" -PKG_DEPENDS_TARGET="toolchain wayland wayland-protocols libdrm libxkbcommon libinput cairo libjpeg-turbo dbus" +PKG_DEPENDS_TARGET="toolchain wayland wayland-protocols libdrm libxkbcommon libinput cairo pango libjpeg-turbo dbus seatd" PKG_LONGDESC="Reference implementation of a Wayland compositor" -PKG_MESON_OPTS_TARGET="-Dbackend-drm-screencast-vaapi=false \ +PKG_MESON_OPTS_TARGET="-Dbackend-drm=true \ + -Dbackend-drm-screencast-vaapi=false \ -Dbackend-headless=false \ -Dbackend-rdp=false \ -Dscreenshare=false \ + -Dbackend-wayland=false \ -Dbackend-x11=false \ - -Dbackend-fbdev=false \ + -Ddeprecated-backend-fbdev=false \ + -Dbackend-default=drm \ + -Drenderer-gl=true \ -Dweston-launch=false \ -Dxwayland=false \ + -Dsystemd=true \ -Dremoting=false \ -Dpipewire=false \ + -Dshell-desktop=true \ -Dshell-fullscreen=false \ -Dshell-ivi=false \ + -Dshell-kiosk=false \ + -Ddesktop-shell-client-default="weston-desktop-shell" \ + -Ddeprecated-wl-shell=false \ -Dcolor-management-lcms=false \ -Dcolor-management-colord=false \ + -Dlauncher-logind=false \ + -Dlauncher-libseat=true \ + -Dimage-jpeg=true \ -Dimage-webp=false \ + -Dtools=['terminal'] -Ddemo-clients=false \ - -Dsimple-clients=egl \ + -Dsimple-clients=[] \ -Dresize-pool=false \ -Dwcap-decode=false \ - -Dtest-junit-xml=false" + -Dtest-junit-xml=false \ + -Dtest-skip-is-failure=false \ + -Dtest-gl-renderer=false \ + -Ddoc=false" pre_configure_target() { # weston does not build with NDEBUG (requires assert for tests) @@ -42,12 +58,9 @@ post_makeinstall_target() { mkdir -p ${INSTALL}/usr/share/weston cp ${PKG_DIR}/config/weston.ini ${INSTALL}/usr/share/weston - find_file_path "splash/splash-2160.png" && cp ${FOUND_PATH} ${INSTALL}/usr/share/weston + find_file_path "splash/splash-2160.png" && cp ${FOUND_PATH} ${INSTALL}/usr/share/weston/libreelec-wallpaper-2160.png safe_remove ${INSTALL}/usr/share/wayland-sessions - safe_remove ${INSTALL}/usr/bin/weston-calibrator - safe_remove ${INSTALL}/usr/bin/weston-simple-* - safe_remove ${INSTALL}/usr/bin/weston-touch-calibrator } post_install() { diff --git a/packages/wayland/weston/patches/weston-999.01-PR486-avoid-setting-WAYLAND_DISPLAY=wayland-0.patch b/packages/wayland/weston/patches/weston-999.01-PR486-avoid-setting-WAYLAND_DISPLAY=wayland-0.patch deleted file mode 100644 index 98d152ab83..0000000000 --- a/packages/wayland/weston/patches/weston-999.01-PR486-avoid-setting-WAYLAND_DISPLAY=wayland-0.patch +++ /dev/null @@ -1,73 +0,0 @@ -From ae69381b6eb43ab63992906d1bf29ffd2b4df10d Mon Sep 17 00:00:00 2001 -From: Manuel Stoeckl -Date: Sun, 30 Aug 2020 18:49:18 -0400 -Subject: [PATCH] compositor: avoid setting WAYLAND_DISPLAY=wayland-0 - -This commit alters the way that Weston picks a Wayland display socket -name. Instead of using wl_display_add_socket_auto to look for the first -available name in wayland-0, wayland-1, .... to wayland-32, the code now -checks names wayland-1, wayland-2, .... up to wayland-32. - -This change is a workaround for a suboptimal behavior of -libwayland-client. If a client program calls wl_display_connect(NULL) and -the WAYLAND_DISPLAY environment variable is not set, then the program will -by default try to connect to 'wayland-0'. This is a problem when a -computer has a running Wayland compositor but is being accessed in some -other fashion, such as through an X session on a different virtual -terminal, over ssh, etc. Client programs launched through those means may -attempt to connect to an unrelated compositor. Changing libwayland -behavior to remove the default would also work, but a) libraries have -stronger backward compatibility expectations b) that would likely break -more people's setups than just changing Weston would. - -Signed-off-by: Manuel Stoeckl ---- - compositor/main.c | 23 ++++++++++++++--------- - 1 file changed, 14 insertions(+), 9 deletions(-) - -diff --git a/compositor/main.c b/compositor/main.c -index 2554b7627..0c8c8e027 100644 ---- a/compositor/main.c -+++ b/compositor/main.c -@@ -825,24 +825,29 @@ handle_primary_client_destroyed(struct wl_listener *listener, void *data) - static int - weston_create_listening_socket(struct wl_display *display, const char *socket_name) - { -+ char name_candidate[16]; -+ - if (socket_name) { - if (wl_display_add_socket(display, socket_name)) { - weston_log("fatal: failed to add socket: %s\n", - strerror(errno)); - return -1; - } -+ -+ setenv("WAYLAND_DISPLAY", socket_name, 1); -+ return 0; - } else { -- socket_name = wl_display_add_socket_auto(display); -- if (!socket_name) { -- weston_log("fatal: failed to add socket: %s\n", -- strerror(errno)); -- return -1; -+ for (int i = 1; i <= 32; i++) { -+ sprintf(name_candidate, "wayland-%d", i); -+ if (wl_display_add_socket(display, name_candidate) >= 0) { -+ setenv("WAYLAND_DISPLAY", name_candidate, 1); -+ return 0; -+ } - } -+ weston_log("fatal: failed to add socket: %s\n", -+ strerror(errno)); -+ return -1; - } -- -- setenv("WAYLAND_DISPLAY", socket_name, 1); -- -- return 0; - } - - WL_EXPORT void * --- -GitLab - diff --git a/packages/wayland/weston/profile.d/04-weston.conf b/packages/wayland/weston/profile.d/04-weston.conf index 52ed075aa0..f175f0973b 100644 --- a/packages/wayland/weston/profile.d/04-weston.conf +++ b/packages/wayland/weston/profile.d/04-weston.conf @@ -1,4 +1,5 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) +export WAYLAND_DISPLAY=wayland-1 export XDG_RUNTIME_DIR=/var/run/0-runtime-dir