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