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] -=-=-=-=-=-=-=-=-=-=-=-