On Tue, Sep 08, 2020 at 11:19:05PM -0700, Khem Raj wrote: > Currently, weston when autolauched with systemd ends up with seat0 > related errors because its launched before seat0 is assigned. The udev > rule to install the seat is called 72-seat-drm-pci-0000_00_02_0.rules > which sorts after 71-weston-drm.rules, renaming it to > 73-weston-drm.rules ensures the right sequence
Hi, I can not see any renaming of 71-weston-drm.rules to 73-weston-drm.rules in this patch. Bye Henning > > Fixes > [05:16:09.357] logind: failed to get session seat > [05:16:09.358] logind: cannot setup systemd-logind helper (-61), using legacy > fallback > > Also fixes weston ptests > RESULTS - > weston.WestonTest.test_weston_can_initialize_new_wayland_compositor: PASSED > (8.58s) > > Signed-off-by: Khem Raj <raj.k...@gmail.com> > Cc: Marek Vasut <ma...@denx.de> > --- > meta/recipes-graphics/wayland/weston-init.bb | 8 ++- > .../wayland/weston-init/weston-autologin | 11 +++ > .../wayland/weston-init/weston@.service | 69 ++++++++++++++++--- > .../wayland/weston-init/weston@.socket | 10 +++ > 4 files changed, 87 insertions(+), 11 deletions(-) > create mode 100644 meta/recipes-graphics/wayland/weston-init/weston-autologin > create mode 100644 meta/recipes-graphics/wayland/weston-init/weston@.socket > > diff --git a/meta/recipes-graphics/wayland/weston-init.bb > b/meta/recipes-graphics/wayland/weston-init.bb > index 40aa76295f..95d75556dc 100644 > --- a/meta/recipes-graphics/wayland/weston-init.bb > +++ b/meta/recipes-graphics/wayland/weston-init.bb > @@ -8,7 +8,9 @@ SRC_URI = "file://init \ > file://weston.env \ > file://weston.ini \ > file://weston@.service \ > + file://weston@.socket \ > file://71-weston-drm.rules \ > + file://weston-autologin \ > file://weston-start" > > S = "${WORKDIR}" > @@ -20,6 +22,10 @@ do_install() { > > # Install Weston systemd service and accompanying udev rule > 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 > + if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then > + install -D -p -m0644 ${WORKDIR}/weston-autologin > ${D}${sysconfdir}/pam.d/weston-autologin > + fi > sed -i -e s:/etc:${sysconfdir}:g \ > -e s:/usr/bin:${bindir}:g \ > -e s:/var:${localstatedir}:g \ > @@ -50,7 +56,7 @@ RDEPENDS_${PN} = "weston kbd" > INITSCRIPT_NAME = "weston" > INITSCRIPT_PARAMS = "start 9 5 2 . stop 20 0 1 6 ." > > -FILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini > ${systemd_system_unitdir}/weston@.service ${sysconfdir}/default/weston" > +FILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini > ${systemd_system_unitdir}/weston@.service > ${systemd_system_unitdir}/weston@.socket ${sysconfdir}/default/weston > ${sysconfdir}/pam.d/" > > CONFFILES_${PN} += "${sysconfdir}/xdg/weston/weston.ini > ${sysconfdir}/default/weston" > > diff --git a/meta/recipes-graphics/wayland/weston-init/weston-autologin > b/meta/recipes-graphics/wayland/weston-init/weston-autologin > new file mode 100644 > index 0000000000..f6e6d106de > --- /dev/null > +++ b/meta/recipes-graphics/wayland/weston-init/weston-autologin > @@ -0,0 +1,11 @@ > +auth required pam_nologin.so > +auth required pam_unix.so try_first_pass nullok > + > +account required pam_nologin.so > +account required pam_unix.so > + > +session required pam_env.so > +session required pam_unix.so > +-session optional pam_systemd.so type=wayland class=user desktop=weston > +-session optional pam_loginuid.so > + > diff --git a/meta/recipes-graphics/wayland/weston-init/weston@.service > b/meta/recipes-graphics/wayland/weston-init/weston@.service > index 39e193014a..0a1df15bdf 100644 > --- a/meta/recipes-graphics/wayland/weston-init/weston@.service > +++ b/meta/recipes-graphics/wayland/weston-init/weston@.service > @@ -1,15 +1,64 @@ > +# This is a system unit for launching Weston with auto-login as the > +# user configured here. > +# > +# Weston must be built with systemd support, and your weston.ini must load > +# the plugin systemd-notify.so. > [Unit] > -Description=Weston Wayland Compositor > -RequiresMountsFor=/run > -Conflicts=plymouth-quit.service > -After=systemd-user-sessions.service plymouth-quit-wait.service > +Description=Weston, a Wayland compositor, as a system service > +Documentation=man:weston(1) man:weston.ini(5) > +Documentation=http://wayland.freedesktop.org/ > + > +# Make sure we are started after logins are permitted. > +After=systemd-user-sessions.service > + > +# If Plymouth is used, we want to start when it is on its way out. > +After=plymouth-quit-wait.service > + > +# D-Bus is necessary for contacting logind. Logind is required. > +Wants=dbus.socket > +After=dbus.socket > + > +# Since we are part of the graphical session, make sure we are started before > +# it is complete. > +Before=graphical.target > + > +# Prevent starting on systems without virtual consoles, Weston requires one > +# for now. > +ConditionPathExists=/dev/tty0 > > [Service] > -User=%i > -PAMName=login > -EnvironmentFile=-/etc/default/weston > +# Requires systemd-notify.so Weston plugin. > +Type=notify > +ExecStart=/usr/bin/weston --modules=systemd-notify.so > + > +# Optional watchdog setup > +TimeoutStartSec=60 > +WatchdogSec=20 > + > +# The user to run Weston as. > +User=%I > + > +# Make sure working directory is users home directory > +WorkingDirectory=/home/%i > + > +# Set up a full user session for the user, required by Weston. > +PAMName=weston-autologin > + > +# A virtual terminal is needed. > +TTYPath=/dev/tty7 > +TTYReset=yes > +TTYVHangup=yes > +TTYVTDisallocate=yes > + > +# Fail to start if not controlling the tty. > +StandardInput=tty-fail > +StandardOutput=journal > StandardError=journal > -PermissionsStartOnly=true > -IgnoreSIGPIPE=no > > -ExecStart=/usr/bin/weston-start -v -e -- $OPTARGS > +# Log this user with utmp, letting it show up with commands 'w' and 'who'. > +UtmpIdentifier=tty7 > +UtmpMode=user > + > +[Install] > +WantedBy=graphical.target > +DefaultInstance=tty7 > diff --git a/meta/recipes-graphics/wayland/weston-init/weston@.socket > b/meta/recipes-graphics/wayland/weston-init/weston@.socket > new file mode 100644 > index 0000000000..f1790d74a8 > --- /dev/null > +++ b/meta/recipes-graphics/wayland/weston-init/weston@.socket > @@ -0,0 +1,10 @@ > +[Unit] > +Description=Weston Wayland socket > +After=user-runtime-dir@1000.service > + > +[Socket] > +ListenStream=/run/user/1000/wayland-%I > + > +[Install] > +WantedBy=sockets.target > + > -- > 2.28.0 > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#142283): https://lists.openembedded.org/g/openembedded-core/message/142283 Mute This Topic: https://lists.openembedded.org/mt/76727183/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-