On Tue, Sep 8, 2020 at 11:23 PM Henning Heinold <henn...@itconsulting-heinold.de> wrote: > > 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.
That was tried in between so perhaps should have updated commit msg. > > 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 (#142303): https://lists.openembedded.org/g/openembedded-core/message/142303 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] -=-=-=-=-=-=-=-=-=-=-=-