What is the minimum package list for Wayland

Greetings,

I’ve playing around with Cage, which is a kiosk that runs a single application on top of Wayland. Gnome and KDE not required -apparently. (details here: https://www.hjdskes.nl/projects/cage/).

Luckily its been built at home:jubalh for Tumbleweed.

Under a standard Tumbleweed KDE install, it works as advertised - I can specify the command “cage /usr/bin/epiphany” from the CLI and it launches a plain screen with the web browser, and when I close the browser the session returns to the CLI.

However, when I try to install this on a minimal JeOS build, it throws me out with the message “[cage.c :182] Unable to create the wlroots backendeviceerer”

As C has never been my strong point I was wondering if anyone out there has any clues what packages need to be installed to make this work, OR, if there is a “correct” way to troubleshoot what packages are missing?

I’ve tried installing a bunch of wayland/weston related packages but nothing has worked so far…

Thanks in advance - Patrick

Hi
In theory, cage should only require the libraries indicated here: https://build.opensuse.org/package/binary/home:jubalh/cage/openSUSE_Tumbleweed/x86_64/cage-0.1-1.1.x86_64.rpm

Those libraries in turn should pull in their dependencies.

What JeOS image are you using?

Hi
Looking at the build info, cage isn’t built with wayland support…

Cage comes with compile-time support for XWayland. To enable this, first make sure that your version of wlroots is compiled with this option.
Then, add -Dxwayland=true to the meson command above. Note that you’ll need to have the XWayland binary installed on your system for this to work.

The kiwi build from the SUSE repo over at Github…

Works well, thought I’d give it a simple graphical interface…

Hi
Here you go, a version with Xwayland support;

That refers to Xwayland, which is optional, and should not be be required?

Cage is definitely built for wayland, according to the author.

(I thought that the whole idea of wayland was to get rid of X?)

Hi
Any missing libs from the output of;


ldd /usr/bin/cage

No - nothing marked missing. All the libs listed in the RPM are present too…

Let me try a cleaner version of the kiwi config…

Clean version (ie none of our packages added) yields the same result.

Will try with your package shortly, however I’m trying to not pull in X…

You may not need it (for your kiosk environment context), however XWayland is provided as a minimal X-server for those applications that are not Wayland aware. X11-based apps will expect such a server to be available. This might help clarify further…
https://wayland.freedesktop.org/docs/html/ch05.html

Hmm, unfortunately it fails with the same error… :frowning:

And Epiphany has been Wayland ready for a long time as far as I can tell…
/p

Yes, my post wasn’t about the error you reported in your opening post, just a general comment about why XWayland is provided. I’m not sure about the best way to determine what is failing with your wlroots Wayland compositor environment. I’m not a programmer, but I did take a quick look at the cage.c source where that error code is generated and it seems to be associated with the ‘wlr_backend_autocreate’ structure declared in the wlroots backend.c code. If you don’t get the required help here, perhaps the cage developer ( Jente Hidskes) might be able to offer some advice to help progress this?

Yes, that was going to be my next step, but thought I’d ask here first (as my natural assumption was that I had done something wrong… :slight_smile: )

Hi
Have a read here: wlroots/docs/env_vars.md at master · swaywm/wlroots · GitHub

Spun up a kiwi JeOS as well, I get a little further but don’t see the error. So it is purely the underlying initial configuration…

…you get a little further… how far? Can you install epiphany and get a web session?

On Fri 03 May 2019 05:16:02 PM CDT, pfitzgerald wrote:

malcolmlewis;2901363 Wrote:
>
>
> Spun up a kiwi JeOS as well, I get a little further but don’t see the
> error.

…you get a little further… how far? Can you install epiphany and get
a web session?

Hi
No, failed to start the wayland backend (wayland error) and unable to
create the wlroots backend (cage error)… Yes, trying to run epiphany.

I’m just running as a vm with qxl, are you running on real hardware?


Cheers Malcolm °¿° SUSE Knowledge Partner (Linux Counter #276890)
Tumbleweed 20190428 | GNOME Shell 3.30.2 | 5.0.9-1-default
If you find this post helpful and are logged into the web interface,
please show your appreciation and click on the star below… Thanks!

Yes- the kiwi is a pxe boot diskless instance.

The one that I had working in a TTY session was a full tumbleweed install on an old laptop.

So it there is something missing. I’ve raised it with the creator of cage so we’ll see what he comes back with…

I will report back here. I’ve also suggested he builds on OBS.

Thanks for help so far -

On Fri 03 May 2019 06:06:03 PM CDT, pfitzgerald wrote:

malcolmlewis;2901368 Wrote:
>
> I’m just running as a vm with qxl, are you running on real hardware?
>

Yes- the kiwi is a pxe boot diskless instance.

The one that I had working in a TTY session was a full tumbleweed
install on an old laptop.

So it there -is- something missing. I’ve raised it with the creator of
cage so we’ll see what he comes back with…

I will report back here. I’ve also suggested he builds on OBS.

Thanks for help so far -

Hi
I bowed to the x11 pressure…

With the following I get it to work (cage epiphany);


<package name="cage"/>
<package name="epiphany"/>
<package name="xorg-x11-server-wayland"/>
<package name="patterns-base-x11"/>


ls -lah /var/lib/libvirt/images/LimeJeOS-tumbleweed.x86_64-0.0.2.iso
-rw-r--r-- 1 qemu qemu 322M May  3 19:14 /var/lib/libvirt/images/LimeJeOS-tumbleweed.x86_64-0.0.2.iso

ls -lah /var/lib/libvirt/images/LimeJeOS-tumbleweed.x86_64-0.0.1.iso
-rw-r--r-- 1 root root 303M May  3 17:58 /var/lib/libvirt/images/LimeJeOS-tumbleweed.x86_64-0.0.1.iso

Now to figure out the backends…


Cheers Malcolm °¿° SUSE Knowledge Partner (Linux Counter #276890)
Tumbleweed 20190430 | GNOME Shell 3.30.2 | 5.0.9-1-default
If you find this post helpful and are logged into the web interface,
please show your appreciation and click on the star below… Thanks!

Hi
So have it working with both wayland and Xwayland…


localhost:~ # pstree
systemd─┬─dbus-daemon
        ├─login───bash───cage───epiphany─┬─WebKitNetworkPr───8*{WebKitNetworkPr}]
        │                                ├─WebKitWebProces───7*{WebKitWebProces}]
        │                                └─10*{epiphany}]

tux       1897  1167  5 21:48 tty1     00:00:00 cage epiphany
tux       1898  1897  5 21:48 tty1     00:00:00 epiphany
tux       1907  1898  0 21:48 tty1     00:00:00 /usr/lib/libwebkit2gtk-4_0-37/WebKitNetworkProcess 4 18
tux       1921  1898  2 21:48 tty1     00:00:00 /usr/lib/libwebkit2gtk-4_0-37/WebKitWebProcess 6 25


localhost:~ # pstree
systemd─┬─Xwayland
        ├─dbus-daemon
        ├─login───bash───cageX───epiphany─┬─WebKitNetworkPr───9*{WebKitNetworkPr}]
        │                                 ├─WebKitWebProces───8*{WebKitWebProces}]
        │                                 └─11*{epiphany}]

tux       1851  1167  0 21:45 tty1     00:00:00 cageX epiphany
tux       1852  1851  0 21:45 tty1     00:00:00 epiphany
tux       1857     1  0 21:45 tty1     00:00:00 Xwayland :0 -rootless -terminate -listen 16 -listen 17 -wm 37
tux       1865  1852  0 21:45 tty1     00:00:00 /usr/lib/libwebkit2gtk-4_0-37/WebKitNetworkProcess 4 18
tux       1879  1852  0 21:45 tty1     00:00:00 /usr/lib/libwebkit2gtk-4_0-37/WebKitWebProcess 6 25

Hi
So it just needs Mesa to be added, so all I have added to the base JeOS
image is;


<package name="cage"/>
<package name="epiphany"/>
<package name="Mesa"/>

You should be good to go with cage epiphany :wink:


Cheers Malcolm °¿° SUSE Knowledge Partner (Linux Counter #276890)
Tumbleweed 20190430 | GNOME Shell 3.30.2 | 5.0.9-1-default
If you find this post helpful and are logged into the web interface,
please show your appreciation and click on the star below… Thanks!