Improve weston's systemd service file

Description

A while back I've noticed that we're not really capturing all the output to compositor.log file.

The original unit contains:

[Unit] Description=Weston Wayland Compositor RequiresMountsFor=/run Conflicts=plymouth-quit.service After=systemd-user-sessions.service plymouth-quit-wait.service [Service] User=%i PAMName=login EnvironmentFile=-/etc/default/weston StandardError=journal PermissionsStartOnly=true IgnoreSIGPIPE=no ExecStart=/usr/bin/weston-start -v -e -- $OPTARGS

With the drop-in containing:

[Service] Type=notify Environment="XDG_RUNTIME_DIR=/run/platform/display" # Note that clearing PAMName (thus not having PAMName=login) disables # logind support for the session, which allows setting XDG_RUNTIME_DIR # to something other than /run/user/% (as is done above). # Without systemd-logind support, weston needs to be patched to allow # its direct launcher to work for non-root users in this scenario. PAMName= ExecStart= ExecStart=/usr/bin/agl-compositor --config /etc/xdg/weston/weston.ini --idle-time=0 --tty=7 --log=/run/platform/display/compositor.log --debug SmackProcessLabel=System::Weston
  • Should we modify the original weston@service, which I suppose comes from poky, to contain StandardOutput=journal and we remove --log=/run/platform/display/compositor.log from the drop-in?

  • Should we append StandardOutput=journalctl in our drop-in and remove --log=/run/platform/display/compositor.log?

The log option is at this point not able to capture stderr hence the StandardError=journal while keeping --log to a file. I believe it would be worthwhile to keep everything in one place, meaning the journal. Been having some talks at this point to see if it makes sense to route also stderr to the file, but nothing conclusive at this point. 

Secondly, recently been playing with running weston as a service, which uses systemd-logind, but haven't really tried in SMACK context. Maybe we should just defer this until we're done with the AppFW changes.

Thoughts?

/cc

Environment

None

Activity

Show:

Walt Miner 
January 4, 2022 at 3:49 PM

Close for Marlin 13.0.0 M1

Marius Vlad 
November 23, 2021 at 1:46 PM

This has been merged with the commit 'meta-agl-core: Update weston/agl-compositor init' by . Thanks a lot!

Marius Vlad 
October 22, 2021 at 8:13 AM

Yes, seem you're correct, according to man, "This setting defaults to the value set with DefaultStandardOutput= in systemd-system.conf(5), which defaults to journal", so removing the --log will make that automatically. Okay, thanks for the heads up. 

Scott Murray 
October 21, 2021 at 8:00 PM

If you just remove the --log option, does it just log to stdout?  If so, that'd be enough, I think, as I believe systemd will capture that anyways.

Marius Vlad 
October 18, 2021 at 6:48 AM

Alright, so I guess we're just updating our drop-in and leave the yocto/OE as is? I guess that would be easier rather than trying to upstream it? 

Fixed

Details

Assignee

Reporter

Fix versions

Labels

Priority

Created October 13, 2021 at 11:16 AM
Updated January 4, 2022 at 3:49 PM
Resolved November 23, 2021 at 1:46 PM

Flag notifications