Wpe-webkit-mir-kiosk not visible

hello everyone!

i’m having problems getting wpe-webkit-mir-kiosk to work and hope this is the right place to ask for help. after installing the ubuntu-frame snap (snap install ubuntu-frame; snap set ubuntu-frame daemon=true) on a clean ubuntu installation, a gray/black screen is visible. then i execute the following:

snap install wpe-webkit-mir-kiosk
snap set wpe-webkit-mir-kiosk daemon=true
/snap/wpe-webkit-mir-kiosk/current/bin/setup.sh (which does as far as i know the same as "snap connect wpe-webkit-mir-kiosk:wayland")

and did a restart. ubuntu-frame seems to start, because the gray/black screen is visible again, but no browser. when i check the logs (snap logs wpe-webkit-mir-kiosk), there is one supicious line:

2023-08-31T20:59:14Z wpe-webkit-mir-kiosk.daemon[8401]: wl_display@1: error 1: invalid arguments for wl_shm@11.create_pool

because there were some apparmor errors visible via dmesg, i disabled apparmor for “snap.wpe-webkit-mir-kiosk.daemon”, but the error remains. i also tried other kiosk snaps like mir-kiosk-neverputt or dashkiosk-client-browser which work without any problems with ubuntu-frame. i’ve also tried different ubuntu version with the same result:

  • ubuntu core 22 arm64
  • ubuntu 20.04 server amd64 (latest; minimal installation)
  • ubuntu 22.04 server amd64 (latest; minimal installation)
  • ubuntu 23.04 server amd64 (latest; minimal installation)

here are some system informations:

# snap list
Name                  Version                     Rev    Tracking       Publisher       Notes
bare                  1.0                         5      latest/stable  canonical✓      base
core18                20230703                    2790   latest/stable  canonical✓      base
core20                20230801                    2015   latest/stable  canonical✓      base
core22                20230801                    864    latest/stable  canonical✓      base
firefox-kiosk         0.1                         22     latest/edge    scout208        -
gnome-3-28-1804       3.28.0-19-g98f9e67.98f9e67  198    latest/stable  canonical✓      -
gtk-common-themes     0.1-81-g442e511             1535   latest/stable  canonical✓      -
mesa-core20           21.2.6                      145    latest/stable  canonical✓      -
mesa-core22           22.2.5                      208    latest/stable  canonical✓      -
mir-kiosk-neverputt   1.6.0+git20180603           252    latest/stable  alangriffiths✪  -
snapd                 2.60.2                      19993  latest/stable  canonical✓      snapd
ubuntu-frame          109-mir2.15.0               6626   22/stable      canonical✓      -
web-kiosk             0.0.4                       4      latest/stable  david180975     -
wpe-webkit-mir-kiosk  2.38.5                      93     latest/stable  glancr          -

# snap services
Service                               Startup  Current   Notes
firefox-kiosk.daemon                  enabled  inactive  -
mir-kiosk-neverputt.daemon            enabled  inactive  -
ubuntu-frame.daemon                   enabled  active    -
wpe-webkit-mir-kiosk.daemon           enabled  active    -
wpe-webkit-mir-kiosk.restart-watcher  enabled  active    -

# snap connections wpe-webkit-mir-kiosk
Interface                 Plug                                   Slot                              Notes
audio-playback            wpe-webkit-mir-kiosk:audio-playback    :audio-playback                   -
avahi-observe             wpe-webkit-mir-kiosk:avahi-observe     -                                 -
content[graphics-core20]  wpe-webkit-mir-kiosk:graphics-core20   mesa-core20:graphics-core20       -
dbus                      -                                      wpe-webkit-mir-kiosk:dbus-cogctl  -
hardware-observe          wpe-webkit-mir-kiosk:hardware-observe  -                                 -
hostname-control          wpe-webkit-mir-kiosk:hostname-control  -                                 -
network                   wpe-webkit-mir-kiosk:network           :network                          -
network-bind              wpe-webkit-mir-kiosk:network-bind      :network-bind                     -
network-manager           wpe-webkit-mir-kiosk:network-manager   -                                 -
opengl                    wpe-webkit-mir-kiosk:opengl            :opengl                           -
process-control           wpe-webkit-mir-kiosk:process-control   -                                 -
system-observe            wpe-webkit-mir-kiosk:system-observe    -                                 -
upower-observe            wpe-webkit-mir-kiosk:upower-observe    :upower-observe                   -
wayland                   wpe-webkit-mir-kiosk:wayland           :wayland                          manual

i would be really happy if someone could help me and many thanks in advance

Thomas

Pinging @tobias who maintains wpe-webkit-mir-kiosk. If that doesn’t work, then:

$ snap info wpe-webkit-mir-kiosk | grep contact
contact:   kontakt@glancr.de

thank you @alan_g.

all previous test were made on virtualbox for amd64 and qemu for arm64 ubuntu versions. today i’ve tried the same on ubuntu core 22.04 arm64 on rpi4 and everything works fine there. because i use raspberry as production platform, this issue is now low priority for me. maybe someday this will be fixed, so testing on my dev platform is possible. maybe this thread will also save somebody some hours in trying.

Hi @ret, thanks for bringing this up. While the error message is different, it sounds a bit like https://gitlab.com/glancr/wpe-webkit-snap/-/issues/33 – did you enable 3D acceleration for your Virtualbox machine? Same question for the QEMU stack. I guess other kiosk snaps fall back to 2D rendering, as does ubuntu-frame.

indeed, the cause for the problem is the missing 3d acceleration support.

after switching from virtio-ramfb to virtio-ramfb-gl in qemu the “wl_display@1”-error went away and the browser appeared.

i’ll give feedback for virtualbox in the evening.

thank you very much for the hint @tobias!

i can confirm, the problem is also gone on virtualbox after enabling 3d acceleration. hope this info helps someone in the future.