Weston

Ucan, Emre (ADITG/SW1) eucan at de.adit-jv.com
Fri Nov 11 11:43:59 UTC 2016


Hi,

To compile systemd notify plugin: --enable-systemd-notify

To start weston with the plugin: /usr/bin/weston --tty=1 --modules=systemd-notify.so

The systemd-notify plugin will send a notification when weston startup is finished.

You can use this notification to synchronize your application with weston.

Best regards

Emre Ucan
Software Group I (ADITG/SW1)

Tel. +49 5121 49 6937

> -----Original Message-----
> From: wayland-devel [mailto:wayland-devel-
> bounces at lists.freedesktop.org] On Behalf Of Andrea Giammarchi
> Sent: Freitag, 11. November 2016 12:32
> To: Pekka Paalanen
> Cc: wayland-devel at lists.freedesktop.org; Nikola Popovic
> Subject: Re: Weston
> 
> pq I don't want to abuse anything but like you confirmed shell is the only
> usable option I have now.
> 
> Of curse I'll update the configuration as soon as autolaunch app is available
> but if there are no other options what should I do? 'cause falling back to X11
> is what I do already for platforms that don't run well on wayland due missing
> OS drivers.
> 
> I hope I don't have to force every device to run on X11 via basic `.xinitrc` and
> `startx` mechanism so I'll be asking help and hints once it's possible to do
> what I'm doing already.
> 
> It's not "my choice" or "my opinion", it's right now the only way to achieve
> what I wanted to achieve.
> 
> 
> > Weston's systemd plugin. The plugin also provides start-up notification so
> that systemd won't start dependent services too early AFAIU.
> 
> 
> I didn't know about this plugin. Any link that shows how to install and
> configure it?
> 
> 
> > I just don't know how to do auto-login with systemd
> 
> 
> What I do is basically this: https://github.com/WebReflection/benja/blob/gh-
> pages/os/sh/install-common#L88
> 
> ExecStart=-/sbin/agetty -nia benja %I $TERM
> 
> 
> in /etc/systemd/system/getty.target.wants/getty at tty1.service
> 
> change benja with your username and you'll have automatic login.
> 
> To make weston launch after the systemd service I've linked at my first reply:
> https://github.com/WebReflection/benja/blob/gh-pages/os/sh/weston-
> compositor.service
> 
> 
> This worked so far in every platform compatible with weston.
> 
> Best Regards
> 
> 
> 
> On Fri, Nov 11, 2016 at 11:19 AM, Pekka Paalanen <ppaalanen at gmail.com>
> wrote:
> 
> 
> 	On Fri, 11 Nov 2016 10:18:04 +0000
> 	Andrea Giammarchi <andrea.giammarchi at gmail.com> wrote:
> 
> 	> Thanks for your answer.
> 	>
> 	> > you should be starting weston, not weston-launch, when you
> have a proper
> 	> logind. weston-launch is for users who do not have logind service.
> 	>
> 	> I think weston-launch does more than just weston, in some case
> weston
> 	> wasn't able to start full-screen but I might give it another try with
> just
> 	> weston on that very same service, unless there is a better way (for
> which
> 	> I'd love an example)
> 
> 	Start-up problems may have well been because your abuse of the
> shell
> 	client parameter.
> 
> 	There is https://phabricator.freedesktop.org/T63
> <https://phabricator.freedesktop.org/T63>  with some hints.
> 
> 	One key point I believe is that Weston expects the VT to be already
> 	active where it will be started on. That might use some fixing in
> 	Weston, but without breaking setups that have no VTs.
> 
> 	> > This is really not meant to be used like you use it. The shell client
> is
> 	> a special client, it is not the place to plug in random applications for
> 	> autolaunch.
> 	>
> 	> AFAIK Weston is a compositor but it does not provide a way to auto
> launch
> 	> applications if not through the shell.
> 
> 	Correct, patches to add autolaunch feature were started but never
> finished:
> 	https://lists.freedesktop.org/archives/wayland-devel/2014-
> October/017971.html <https://lists.freedesktop.org/archives/wayland-
> devel/2014-October/017971.html>
> 
> 
> 	> What you see there is what Tizen does (or used to do) together
> with every
> 	> other Kiosk based on Weston.
> 	>
> 	> Is there any other way to launch a full screen-kiosk app if not
> through
> 	> shell?
> 
> 	Perhaps with a systemd unit?
> 
> 	Conceptually, both Weston and the app should be launched from a
> systemd
> 	user session, because Weston is supposed to run in a valid session. I
> 	just don't know how to do auto-login with systemd, and the other
> issue
> 	is the VT switching.
> 
> 	Weston also supports systemd socket activation and watchdog, if you
> 	load Weston's systemd plugin. The plugin also provides start-up
> 	notification so that systemd won't start dependent services too early
> 	AFAIU.
> 
> 	> > E.g. if you have a floating window, and you want to resize it by
> dragging
> 	> a pointer, the cursor is left as what the app last set it, rather than
> the
> 	> cursor the compositor would pick.
> 	>
> 	> Benja is a Web Kiosk, has no floating window, just evnetually Gtk
> modals
> 	> and these show up fine.
> 	>
> 	>
> 	> > You cannot have screen locking.
> 	>
> 	> I've posted my configuration which disables screen locking, not an
> issue.
> 	>
> 	>
> 	> > Indications for frozen app windows is missing.
> 	>
> 	> if the browser freeze there's nothing else Benja can do if not a
> browser
> 	> reset
> 
> 	Indications for the user; For frozen windows, weston is intended to
> 	show a busy cursor. In your case, the cursor will be left what ever it
> 	happened to be, the browser window is frozen, and no other
> indication
> 	is given to the user. The cursor will stil move.
> 
> 	If your browser was managed by systemd, you could implement the
> systemd
> 	watchdog in the browser process and have systemd restart the
> browser if
> 	it hangs.
> 
> 	Weston also detects frozen windows, but does not implement an
> auto-kill
> 	or restart.
> 
> 	> > The compositor start-up will take long, because it needs to time
> out before
> 	> fading in since the shell client is not signalling ready. In the future
> 	> there might be more things than just fade-in that wait for the read-
> signal.
> 	>
> 	> the fade and animations are disabled, as you can see from the
> config so not
> 	> an issue.
> 	>
> 
> 	Until we add the next feature that requires the ready-signal before
> 	weston becomes usable.
> 
> 	>
> 	> > If your app ever goes non-fullscreen, you will see garbage outside
> the app
> 	> window.
> 	>
> 	> it never does that. It's an always full screen Web Kiosk with
> disabled
> 	> resize.
> 	>
> 	>
> 	>
> 	> > You possibly see garbage or glitches during startup if you disable
> the fade-in
> 	> animation.
> 	>
> 	> I don't, like I've said Benja works already. It has been out for
> months now.
> 	>
> 	>
> 	>
> 	> > Maybe mod+tab shows wrong blending as there is no wallpaper.
> 	>
> 	> I don't want wallpaper, or at least not a system one, it's a Web
> Kiosk
> 	> system.
> 
> 	You missed the point. Mod+tab makes windows temporarily
> 	semi-transparent. That effect will probably screw up if there is no
> 	opaque surface at the bottom of the scenegraph (the wallpaper).
> 
> 	Users can also use the mouse and keyboard to make windows
> 	semi-transparent.
> 
> 	> > Those are just what came to mind off-hand, there's possibly
> more.
> 	>
> 	> If you think there are more specific for Benja use case please let
> me know
> 	> 'cause so far ....
> 	>
> 	>
> 	> > So yeah, it probably works for you for now, if you don't pay
> attention to
> 	> details and nothing in apps ever fails. I'd call that fragile.
> 	>
> 	> ... I've paid attention already to these details and configured it to
> *not*
> 	> be fragile. (it's been on for weaks now on my raspi2)
> 
> 	That's your opinion. This is mine. You are abusing a feature of weston
> 	in a way it was never meant to be used, and is not intended to keep
> on
> 	working. It's your choice, at least now you know there might be
> issues.
> 
> 	In the future the special shell client will likely gain more
> 	responsibilities. Whether that will break your use case or not remains
> 	to be seen.
> 
> 
> 	Thanks,
> 	pq
> 
> 
> 
> 	> On Fri, Nov 11, 2016 at 9:47 AM, Pekka Paalanen
> <ppaalanen at gmail.com> wrote:
> 	>
> 	> > On Thu, 10 Nov 2016 14:48:53 +0000
> 	> > Andrea Giammarchi <andrea.giammarchi at gmail.com> wrote:
> 	> >
> 	> > > > why is it using weston-launch when you have systemd?
> 	> > >
> 	> > > I am not sure I understand; that file is a service that's enable via
> 	> > > systemctl and it launches weston once the graphic is ready,
> right?
> 	> > >
> 	> > > How else would you start weston on boot? Is there already a
> weston
> 	> > service
> 	> > > I am missing? That might simplify things for me.
> 	> >
> 	> > Hi,
> 	> >
> 	> > you should be starting weston, not weston-launch, when you
> have a
> 	> > proper logind. weston-launch is for users who do not have logind
> 	> > service.
> 	> >
> 	> > weston-launch does support cases where logind exists, in which
> case it
> 	> > remains unused - an extra setuid-root process with no purpose.
> 	> >
> 	> > > > No, that does not fully work
> 	> > >
> 	> > > FWICT benja works already pretty well and for a kiosk like
> system I think
> 	> > > the following is enough, or at least it is enough for benja use
> case ...
> 	> > > isn't it? Am I missing some configuration?
> 	> > >
> 	> > > ```
> 	> > > [core]
> 	> > > idle-time=0
> 	> > > modules=xwayland.so
> 	> > >
> 	> > > [shell]
> 	> > > client=/usr/bin/app
> 	> >
> 	> > This is really not meant to be used like you use it. The shell client
> 	> > is a special client, it is not the place to plug in random applications
> 	> > for autolaunch.
> 	> >
> 	> > > animation=none
> 	> > > close-animation=none
> 	> > > startup-animation=none
> 	> > > locking=false
> 	> > > ```
> 	> > >
> 	> > > > It may appear to work at first, but you will miss the corner
> cases.
> 	> > >
> 	> > > can you please indicate some of these corner cases?
> 	> >
> 	> > I listed them already.
> 	> >
> 	> > E.g. if you have a floating window, and you want to resize it by
> 	> > dragging a pointer, the cursor is left as what the app last set it,
> 	> > rather than the cursor the compositor would pick.
> 	> >
> 	> > You cannot have screen locking.
> 	> >
> 	> > Indications for frozen app windows is missing.
> 	> >
> 	> > The compositor start-up will take long, because it needs to time
> out
> 	> > before fading in since the shell client is not signalling ready. In the
> 	> > future there might be more things than just fade-in that wait for
> the
> 	> > read-signal.
> 	> >
> 	> > If your app ever goes non-fullscreen, you will see garbage outside
> the
> 	> > app window.
> 	> >
> 	> > You possibly see garbage or glitches during startup if you disable
> the
> 	> > fade-in animation.
> 	> >
> 	> > Maybe mod+tab shows wrong blending as there is no wallpaper.
> 	> >
> 	> > Those are just what came to mind off-hand, there's possibly
> more.
> 	> >
> 	> > So yeah, it probably works for you for now, if you don't pay
> attention
> 	> > to details and nothing in apps ever fails. I'd call that fragile.
> 	> >
> 	> >
> 	> > Thanks
> 	> > pq
> 	> >
> 	> >
> 	> > > On Thu, Nov 10, 2016 at 10:57 AM, Pekka Paalanen
> <ppaalanen at gmail.com>
> 	> > > wrote:
> 	> > >
> 	> > > > On Thu, 10 Nov 2016 09:44:58 +0000
> 	> > > > Andrea Giammarchi <andrea.giammarchi at gmail.com> wrote:
> 	> > > >
> 	> > > > > It looks like you want something like benja (
> https://benja.io/ )
> 	> > which
> 	> > > > is
> 	> > > > > Weston + Electron based.
> 	> > > > >
> 	> > > > > It uses a service:
> 	> > > > > https://github.com/WebReflection/benja/blob/gh-
> <https://github.com/WebReflection/benja/blob/gh->
> 	> > > > pages/os/sh/weston-compositor.service
> 	> > > > > You can enable it via `systemctl enable weston-compositor`
> 	> > > >
> 	> > > > Hi,
> 	> > > >
> 	> > > > why is it using weston-launch when you have systemd?
> 	> > > >
> 	> > > > >
> 	> > > > > You also need to put
> 	> > > > > ```
> 	> > > > > [shell]
> 	> > > > > client=/usr/bin/chromium
> 	> > > > > ```
> 	> > > > > or the application you want to use instead of the default
> 	> > desktop/shell
> 	> > > > > inside the `~/.config/weston.ini` file, and this can be also a
> bash
> 	> > file
> 	> > > > > that launches chrome in fullscreen or with specific
> parameters.
> 	> > > >
> 	> > > > No, that does not fully work, unless you have modified
> chromium to also
> 	> > > > take care of weston-desktop-shell's responsibilities.
> 	> > > >
> 	> > > > weston-desktop-shell does not only do the wallpaper and
> panel, it also
> 	> > > > provides the lock screen and pointer cursors for grabs and
> unresponsive
> 	> > > > apps, plus more. See weston-desktop-shell.xml in Weston
> repository.
> 	> > > >
> 	> > > > It may appear to work at first, but you will miss the corner
> cases.
> 	> > > >
> 	> > > > Doing that also gives the app privileges it would not have
> otherwise
> 	> > > > (i.e. bind to and use weston_desktop_shell interface).
> 	> > > >
> 	> > > >
> 	> > > > Thanks,
> 	> > > > pq
> 	> > > >
> 	> > > > > You can test that everything works as expected simply using
> 	> > > > > `/usr/bin/weston-terminal` as client to find yourself within
> the
> 	> > shell
> 	> > > > (or
> 	> > > > > you can just use Benja to develop your portable app)
> 	> > > > >
> 	> > > > > Best Regards
> 	> > > > >
> 	> > > > >
> 	> > > > >
> 	> > > > > On Wed, Oct 26, 2016 at 3:10 PM, Nikola Popovic <
> 	> > > > nikola.popovic at rt-rk.com>
> 	> > > > > wrote:
> 	> > > > >
> 	> > > > > > Greetings.
> 	> > > > > >
> 	> > > > > > I have installed yocto on my board. Im planing to run
> weston just
> 	> > after
> 	> > > > > > boot finish and to run chromium inside weston. Is it
> possible to
> 	> > write
> 	> > > > some
> 	> > > > > > script or something in weston.ini to run chromium inside
> weston
> 	> > > > without my
> 	> > > > > > interaction.
> 	> > > > > >
> 	> > > > > > Tnx!
> 	> > > > > >
> 	> > > > > > --
> 	> > > > > > Nikola Popovic
> 	> > > > > > Software Engineer
> 	> > > > > > Tel: +381 21 4801 1304
> <tel:%2B381%2021%204801%201304>
> 	> > > > > > E-mail : nikola.popovic at rt-rk.com
> 	> > > > > >
> 	> > > > > > RT-RK LLC
> 	> > > > > > Narodnog fronta 23a
> 	> > > > > > 21000 Novi Sad
> 	> > > > > > Serbia
> 	> > > > > > www.rt-rk.com
> 	> > > > > >
> 	> > > > > >
> _______________________________________________
> 	> > > > > > wayland-devel mailing list
> 	> > > > > > wayland-devel at lists.freedesktop.org <mailto:wayland-
> devel at lists.freedesktop.org>
> 	> > > > > > https://lists.freedesktop.org/mailman/listinfo/wayland-
> devel <https://lists.freedesktop.org/mailman/listinfo/wayland-devel>
> 	> > > > > >
> 	> > > >
> 	> > > >
> 	> >
> 	> >
> 
> 
> 



More information about the wayland-devel mailing list