Weston

Andrea Giammarchi andrea.giammarchi at gmail.com
Fri Nov 11 11:32:03 UTC 2016


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 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
>
>
> > 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-
> > > > > 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
> > > > > > > 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
> > > > > > > https://lists.freedesktop.org/mailman/listinfo/wayland-devel
> > > > > > >
> > > > >
> > > > >
> > >
> > >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20161111/3625d7ab/attachment-0001.html>


More information about the wayland-devel mailing list