On Fri, Aug 4, 2023 at 1:05 PM Otavio Salvador <ota...@ossystems.com.br> wrote:
>
> The systemd uses /run/wayland-0 as global socket and it is important to
> align the behavior so it avoids diverging when using sysvinit. Another
> change is installing the ${sysconfdir}/profile.d/weston-socket.sh script
> also aligning the behaviors.
>
> The commit modifies the behavior of the weston-init script when running
> in sysvinit. It mimics the behavior of systemd by exporting the
> WAYLAND_DISPLAY variable and using it as the socket for the weston
> command.
>
> The changes include:
>
> - The installation of the weston-socket.sh script in the /etc/profile.d
> directory, which sets the WAYLAND_DISPLAY variable to /run/wayland-0 if
> it is not already set.
>
> - Modifying the weston-start script to check if the WAYLAND_DISPLAY
> variable is set. If not, it sets it to /run/wayland-0.
>
> These changes ensure that the weston command uses the same socket
> defined in the WAYLAND_DISPLAY variable, allowing compatibility with
> systems using sysvinit and systemd.
>
> Fixes: 2818cbc730 ("weston-init: add profile to point users to global socket")
> Tested-by: Tom Hochstein <tom.hochst...@nxp.com>
> Signed-off-by: Otavio Salvador <ota...@ossystems.com.br>
> ---
>
>  meta/recipes-graphics/wayland/weston-init.bb           | 4 +++-
>  meta/recipes-graphics/wayland/weston-init/weston-start | 6 +++++-
>  2 files changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/meta/recipes-graphics/wayland/weston-init.bb 
> b/meta/recipes-graphics/wayland/weston-init.bb
> index 024e400665..6c8dc36467 100644
> --- a/meta/recipes-graphics/wayland/weston-init.bb
> +++ b/meta/recipes-graphics/wayland/weston-init.bb
> @@ -40,13 +40,15 @@ do_install() {
>         if 
> ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
>                 install -D -p -m0644 ${WORKDIR}/weston.service 
> ${D}${systemd_system_unitdir}/weston.service
>                 install -D -p -m0644 ${WORKDIR}/weston.socket 
> ${D}${systemd_system_unitdir}/weston.socket
> -               install -D -p -m0644 ${WORKDIR}/weston-socket.sh 
> ${D}${sysconfdir}/profile.d/weston-socket.sh
>                 sed -i -e s:/etc:${sysconfdir}:g \
>                         -e s:/usr/bin:${bindir}:g \
>                         -e s:/var:${localstatedir}:g \
>                         ${D}${systemd_system_unitdir}/weston.service
>         fi
>
> +       # Export the WAYLAND_DISPLAY in case it is using the global socket
> +       install -D -p -m0644 ${WORKDIR}/weston-socket.sh 
> ${D}${sysconfdir}/profile.d/weston-socket.sh
> +
>         if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
>                 install -D -p -m0644 ${WORKDIR}/weston-autologin 
> ${D}${sysconfdir}/pam.d/weston-autologin
>         fi
> diff --git a/meta/recipes-graphics/wayland/weston-init/weston-start 
> b/meta/recipes-graphics/wayland/weston-init/weston-start
> index 01670cd4f5..7b898bb436 100755
> --- a/meta/recipes-graphics/wayland/weston-init/weston-start
> +++ b/meta/recipes-graphics/wayland/weston-init/weston-start
> @@ -68,4 +68,8 @@ if test -z "$XDG_RUNTIME_DIR"; then
>         fi
>  fi
>
> -su -c "XDG_RUNTIME_DIR=/run/user/`id -u ${WESTON_USER}` weston $weston_args 
> --log=/tmp/weston.log" $WESTON_USER
> +if [ -z "$WAYLAND_DISPLAY" ]; then
> +       WAYLAND_DISPLAY=/run/wayland-0

This can be set automatically by something like
WAYLAND_DISPLAY=`basename /run/user/1000/wayland-[0-9]`

That way it can cover more e.g. my variscite/imx8 SOM I have wayland-1

> +fi

≈> +
> +su -c "XDG_RUNTIME_DIR=/run/user/`id -u ${WESTON_USER}` weston $weston_args 
> --socket=$WAYLAND_DISPLAY --log=/tmp/weston.log" $WESTON_USER



> --
> 2.41.0
>
>
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#185545): 
https://lists.openembedded.org/g/openembedded-core/message/185545
Mute This Topic: https://lists.openembedded.org/mt/100553774/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to