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