Run Ubuntu Frame on your Device

This is a quick reference for running Ubuntu Frame on a device.

Setup your device

You need either Ubuntu Core or a version of Linux supporting snaps.

  1. Setting up Ubuntu Core is described in Get Ubuntu for IoT
  2. Setting up snapd on other versions of Linux is described in Installing snapd

Follow the instructions to install Ubuntu Core/snapd and ssh into your device.

Install Ubuntu Frame

You should now have a command prompt reading something like <your‑user>@yourdevice:~$. Now install Ubuntu Frame with the following command:

$ snap install ubuntu-frame

If you are using Ubuntu Core, you can skip this next step. On other versions of Linux, Ubuntu Frame does not start by default. To change this default run the following command:

$ snap set ubuntu-frame daemon=true

Once Ubuntu Frame starts the display should show a graduated grey screen. This is the default Ubuntu Frame wallpaper. This can be changed using the “config” snap configuration option:

$ snap set ubuntu-frame config="
wallpaper-top=0x92006a
wallpaper-bottom=0xdd4814
"

The wallpaper-top and wallpaper-bottom are RGB values. There are a lot of configuration options to control the kiosk display, but they are all set using config and display (more details in REFERENCE.md)

Install a Web Kiosk

Still in your ssh session, install web kiosk:

$ snap install wpe-webkit-mir-kiosk

If you are using Ubuntu Core, you can skip this next step. On other versions of Linux, wpe-webkit-mir-kiosk does not start by default. To change this default run the following command:

$ snap connect wpe-webkit-mir-kiosk:wayland
$ snap set wpe-webkit-mir-kiosk daemon=true

Once installed and configured the display should show the WPE website.

The website can be changed using the “url” snap configuration option:

$ snap set wpe-webkit-mir-kiosk url=https://mir-server.io
$ snap start wpe-webkit-mir-kiosk

This will show the Mir Server website.

Next steps

For more detail about running and configuring Ubuntu Frame, and for resources to help build your own snaps to work with it see REFERENCE.md.

2 Likes

hi. I use these commands for setup web kiosk on my ubuntu 22.04 server arm64 on rapsberry pi4 but my sceen is black. thank you from you if tell me what is my problem?

Sorry, @majidkaka14 you have not provided enough information for us to help.

At what point did you get a black screen?

Did you see any error messages when you ran the commands?

1 Like

Thank you for your quick response @alan_g .when i use this command:
snap set ubuntu-frame daemon=true
the black screen is displayed with a flashing pointer. I checked dmesg command and see this log:
apparmor=“DENIED” operation=“open” profile=“snap.ubuntu-frame.daemon” name="/run/user/0/" pid=3367 comm=“mkdir” requested_mask=“r” denied_mask=“r” fsuid=0 ouid=0

Can you check the ubuntu-frame log:

snap log -n 80 ubuntu-frame

I want to see if the error you see in dmsg is the actual problem. (You can avoid formatting the log using triple backquote ``` around it.)

1 Like
2022-11-03T10:51:01Z ubuntu-frame.daemon[3638]: [2022-11-03 10:51:01.301155] <information> mirserver: Starting
2022-11-03T10:51:01Z ubuntu-frame.daemon[3638]: [2022-11-03 10:51:01.302373] < - debug - > mirserver: Using Linux VT subsystem for session management
2022-11-03T10:51:01Z ubuntu-frame.daemon[3638]: [2022-11-03 10:51:01.303029] <information> mircommon: Loading modules from: /snap/ubuntu-frame/3901/usr/lib/aarch64-linux-gnu/mir/server-platform
2022-11-03T10:51:01Z ubuntu-frame.daemon[3638]: [2022-11-03 10:51:01.303347] <information> mircommon: Loading module: /snap/ubuntu-frame/3901/usr/lib/aarch64-linux-gnu/mir/server-platform/graphics-gbm-kms.so.20
2022-11-03T10:51:01Z ubuntu-frame.daemon[3638]: [2022-11-03 10:51:01.303434] <information> mircommon: Loading module: /snap/ubuntu-frame/3901/usr/lib/aarch64-linux-gnu/mir/server-platform/server-x11.so.20
2022-11-03T10:51:01Z ubuntu-frame.daemon[3638]: [2022-11-03 10:51:01.303490] <information> mircommon: Loading module: /snap/ubuntu-frame/3901/usr/lib/aarch64-linux-gnu/mir/server-platform/input-evdev.so.8
2022-11-03T10:51:01Z ubuntu-frame.daemon[3638]: [2022-11-03 10:51:01.306695] <information> mirserver: Found display driver: mir:gbm-kms (version 2.9.0)
2022-11-03T10:51:01Z ubuntu-frame.daemon[3638]: [2022-11-03 10:51:01.308301] <information> gbm-kms: Unsupported: No DRM devices detected
2022-11-03T10:51:01Z ubuntu-frame.daemon[3638]: [2022-11-03 10:51:01.308385] <information> mirserver: (Unsupported by system environment)
2022-11-03T10:51:01Z ubuntu-frame.daemon[3638]: [2022-11-03 10:51:01.308435] <information> mirserver: Found display driver: mir:x11 (version 2.9.0)
2022-11-03T10:51:01Z ubuntu-frame.daemon[3638]: [2022-11-03 10:51:01.308529] <information> mirserver: (Unsupported by system environment)
2022-11-03T10:51:01Z ubuntu-frame.daemon[3638]: ERROR: /build/mir-p5QAkY/mir-2.9.0/src/server/graphics/default_configuration.cpp(233): Throw in function virtual const std::vector<std::shared_ptr<mir::graphics::DisplayPlatform> >& mir::DefaultServerConfiguration::the_display_platforms()
2022-11-03T10:51:01Z ubuntu-frame.daemon[3638]: Dynamic exception type: boost::wrapexcept<std::runtime_error>
2022-11-03T10:51:01Z ubuntu-frame.daemon[3638]: std::exception::what: Exception while creating graphics platform
2022-11-03T10:51:01Z ubuntu-frame.daemon[3638]: ERROR: /build/mir-p5QAkY/mir-2.9.0/src/server/graphics/platform_probe.cpp(190): Throw in function std::vector<std::pair<mir::graphics::SupportedDevice, std::shared_ptr<mir::SharedLibrary> > > {anonymous}::modules_for_device({anonymous}::ModuleType, const std::vector<std::shared_ptr<mir::SharedLibrary> >&, const mir::options::ProgramOption&, const std::shared_ptr<mir::ConsoleServices>&)
2022-11-03T10:51:01Z ubuntu-frame.daemon[3638]: Dynamic exception type: boost::wrapexcept<std::runtime_error>
2022-11-03T10:51:01Z ubuntu-frame.daemon[3638]: std::exception::what: Failed to find any platforms for current system
2022-11-03T10:51:01Z systemd[1]: snap.ubuntu-frame.daemon.service: Main process exited, code=exited, status=1/FAILURE
2022-11-03T10:51:01Z systemd[1]: snap.ubuntu-frame.daemon.service: Failed with result 'exit-code'.
2022-11-03T10:51:04Z systemd[1]: snap.ubuntu-frame.daemon.service: Scheduled restart job, restart counter is at 26.
2022-11-03T10:51:04Z systemd[1]: Stopped Service for snap application ubuntu-frame.daemon.
2022-11-03T10:51:04Z systemd[1]: Started Service for snap application ubuntu-frame.daemon.
2022-11-03T10:51:04Z ubuntu-frame.daemon[3660]: + exec nohup /snap/ubuntu-frame/3901/bin/run-frame /snap/ubuntu-frame/3901/usr/local/bin/frame
2022-11-03T10:51:04Z ubuntu-frame.daemon[3660]: + [ /snap/ubuntu-frame/3901/usr/local/bin/frame = --help ]
2022-11-03T10:51:04Z ubuntu-frame.daemon[3678]: + dirname /run/user/0/snap.ubuntu-frame
2022-11-03T10:51:04Z ubuntu-frame.daemon[3660]: + XDG_RUNTIME_DIR=/run/user/0
2022-11-03T10:51:04Z ubuntu-frame.daemon[3660]: + export XDG_RUNTIME_DIR
2022-11-03T10:51:04Z ubuntu-frame.daemon[3660]: + mkdir -p /run/user/0 -m 700
2022-11-03T10:51:04Z ubuntu-frame.daemon[3660]: + [ -n  ]
2022-11-03T10:51:04Z ubuntu-frame.daemon[3660]: + exec /snap/ubuntu-frame/3901/usr/local/bin/frame
2022-11-03T10:51:04Z ubuntu-frame.daemon[3660]: [2022-11-03 10:51:04.803834] <information> mirserver: Starting
2022-11-03T10:51:04Z ubuntu-frame.daemon[3660]: [2022-11-03 10:51:04.804964] < - debug - > mirserver: Using Linux VT subsystem for session management
2022-11-03T10:51:04Z ubuntu-frame.daemon[3660]: [2022-11-03 10:51:04.805558] <information> mircommon: Loading modules from: /snap/ubuntu-frame/3901/usr/lib/aarch64-linux-gnu/mir/server-platform
2022-11-03T10:51:04Z ubuntu-frame.daemon[3660]: [2022-11-03 10:51:04.805866] <information> mircommon: Loading module: /snap/ubuntu-frame/3901/usr/lib/aarch64-linux-gnu/mir/server-platform/graphics-gbm-kms.so.20
2022-11-03T10:51:04Z ubuntu-frame.daemon[3660]: [2022-11-03 10:51:04.805957] <information> mircommon: Loading module: /snap/ubuntu-frame/3901/usr/lib/aarch64-linux-gnu/mir/server-platform/server-x11.so.20
2022-11-03T10:51:04Z ubuntu-frame.daemon[3660]: [2022-11-03 10:51:04.806016] <information> mircommon: Loading module: /snap/ubuntu-frame/3901/usr/lib/aarch64-linux-gnu/mir/server-platform/input-evdev.so.8
2022-11-03T10:51:04Z ubuntu-frame.daemon[3660]: [2022-11-03 10:51:04.809261] <information> mirserver: Found display driver: mir:gbm-kms (version 2.9.0)
2022-11-03T10:51:04Z ubuntu-frame.daemon[3660]: [2022-11-03 10:51:04.810852] <information> gbm-kms: Unsupported: No DRM devices detected
2022-11-03T10:51:04Z ubuntu-frame.daemon[3660]: [2022-11-03 10:51:04.810935] <information> mirserver: (Unsupported by system environment)
2022-11-03T10:51:04Z ubuntu-frame.daemon[3660]: [2022-11-03 10:51:04.810985] <information> mirserver: Found display driver: mir:x11 (version 2.9.0)
2022-11-03T10:51:04Z ubuntu-frame.daemon[3660]: [2022-11-03 10:51:04.811106] <information> mirserver: (Unsupported by system environment)
2022-11-03T10:51:04Z ubuntu-frame.daemon[3660]: ERROR: /build/mir-p5QAkY/mir-2.9.0/src/server/graphics/default_configuration.cpp(233): Throw in function virtual const std::vector<std::shared_ptr<mir::graphics::DisplayPlatform> >& mir::DefaultServerConfiguration::the_display_platforms()
2022-11-03T10:51:04Z ubuntu-frame.daemon[3660]: Dynamic exception type: boost::wrapexcept<std::runtime_error>
2022-11-03T10:51:04Z ubuntu-frame.daemon[3660]: std::exception::what: Exception while creating graphics platform
2022-11-03T10:51:04Z ubuntu-frame.daemon[3660]: ERROR: /build/mir-p5QAkY/mir-2.9.0/src/server/graphics/platform_probe.cpp(190): Throw in function std::vector<std::pair<mir::graphics::SupportedDevice, std::shared_ptr<mir::SharedLibrary> > > {anonymous}::modules_for_device({anonymous}::ModuleType, const std::vector<std::shared_ptr<mir::SharedLibrary> >&, const mir::options::ProgramOption&, const std::shared_ptr<mir::ConsoleServices>&)
2022-11-03T10:51:04Z ubuntu-frame.daemon[3660]: Dynamic exception type: boost::wrapexcept<std::runtime_error>
2022-11-03T10:51:04Z ubuntu-frame.daemon[3660]: std::exception::what: Failed to find any platforms for current system
2022-11-03T10:51:04Z systemd[1]: snap.ubuntu-frame.daemon.service: Main process exited, code=exited, status=1/FAILURE
2022-11-03T10:51:04Z systemd[1]: snap.ubuntu-frame.daemon.service: Failed with result 'exit-code'.
2022-11-03T10:51:07Z systemd[1]: snap.ubuntu-frame.daemon.service: Scheduled restart job, restart counter is at 27.
2022-11-03T10:51:07Z systemd[1]: Stopped Service for snap application ubuntu-frame.daemon.
2022-11-03T10:51:08Z systemd[1]: Started Service for snap application ubuntu-frame.daemon.
2022-11-03T10:51:08Z ubuntu-frame.daemon[3682]: + exec nohup /snap/ubuntu-frame/3901/bin/run-frame /snap/ubuntu-frame/3901/usr/local/bin/frame
2022-11-03T10:51:08Z ubuntu-frame.daemon[3682]: + [ /snap/ubuntu-frame/3901/usr/local/bin/frame = --help ]
2022-11-03T10:51:08Z ubuntu-frame.daemon[3700]: + dirname /run/user/0/snap.ubuntu-frame
2022-11-03T10:51:08Z ubuntu-frame.daemon[3682]: + XDG_RUNTIME_DIR=/run/user/0
2022-11-03T10:51:08Z ubuntu-frame.daemon[3682]: + export XDG_RUNTIME_DIR
2022-11-03T10:51:08Z ubuntu-frame.daemon[3682]: + mkdir -p /run/user/0 -m 700
2022-11-03T10:51:08Z ubuntu-frame.daemon[3682]: + [ -n  ]
2022-11-03T10:51:08Z ubuntu-frame.daemon[3682]: + exec /snap/ubuntu-frame/3901/usr/local/bin/frame
2022-11-03T10:51:08Z ubuntu-frame.daemon[3682]: [2022-11-03 10:51:08.305135] <information> mirserver: Starting
2022-11-03T10:51:08Z ubuntu-frame.daemon[3682]: [2022-11-03 10:51:08.306291] < - debug - > mirserver: Using Linux VT subsystem for session management
2022-11-03T10:51:08Z ubuntu-frame.daemon[3682]: [2022-11-03 10:51:08.306880] <information> mircommon: Loading modules from: /snap/ubuntu-frame/3901/usr/lib/aarch64-linux-gnu/mir/server-platform
2022-11-03T10:51:08Z ubuntu-frame.daemon[3682]: [2022-11-03 10:51:08.307213] <information> mircommon: Loading module: /snap/ubuntu-frame/3901/usr/lib/aarch64-linux-gnu/mir/server-platform/graphics-gbm-kms.so.20
2022-11-03T10:51:08Z ubuntu-frame.daemon[3682]: [2022-11-03 10:51:08.307311] <information> mircommon: Loading module: /snap/ubuntu-frame/3901/usr/lib/aarch64-linux-gnu/mir/server-platform/server-x11.so.20
2022-11-03T10:51:08Z ubuntu-frame.daemon[3682]: [2022-11-03 10:51:08.307369] <information> mircommon: Loading module: /snap/ubuntu-frame/3901/usr/lib/aarch64-linux-gnu/mir/server-platform/input-evdev.so.8
2022-11-03T10:51:08Z ubuntu-frame.daemon[3682]: [2022-11-03 10:51:08.310739] <information> mirserver: Found display driver: mir:gbm-kms (version 2.9.0)
2022-11-03T10:51:08Z ubuntu-frame.daemon[3682]: [2022-11-03 10:51:08.312803] <information> gbm-kms: Unsupported: No DRM devices detected
2022-11-03T10:51:08Z ubuntu-frame.daemon[3682]: [2022-11-03 10:51:08.312895] <information> mirserver: (Unsupported by system environment)
2022-11-03T10:51:08Z ubuntu-frame.daemon[3682]: [2022-11-03 10:51:08.312946] <information> mirserver: Found display driver: mir:x11 (version 2.9.0)
2022-11-03T10:51:08Z ubuntu-frame.daemon[3682]: [2022-11-03 10:51:08.313036] <information> mirserver: (Unsupported by system environment)
2022-11-03T10:51:08Z ubuntu-frame.daemon[3682]: ERROR: /build/mir-p5QAkY/mir-2.9.0/src/server/graphics/default_configuration.cpp(233): Throw in function virtual const std::vector<std::shared_ptr<mir::graphics::DisplayPlatform> >& mir::DefaultServerConfiguration::the_display_platforms()
2022-11-03T10:51:08Z ubuntu-frame.daemon[3682]: Dynamic exception type: boost::wrapexcept<std::runtime_error>
2022-11-03T10:51:08Z ubuntu-frame.daemon[3682]: std::exception::what: Exception while creating graphics platform
2022-11-03T10:51:08Z ubuntu-frame.daemon[3682]: ERROR: /build/mir-p5QAkY/mir-2.9.0/src/server/graphics/platform_probe.cpp(190): Throw in function std::vector<std::pair<mir::graphics::SupportedDevice, std::shared_ptr<mir::SharedLibrary> > > {anonymous}::modules_for_device({anonymous}::ModuleType, const std::vector<std::shared_ptr<mir::SharedLibrary> >&, const mir::options::ProgramOption&, const std::shared_ptr<mir::ConsoleServices>&)
2022-11-03T10:51:08Z ubuntu-frame.daemon[3682]: Dynamic exception type: boost::wrapexcept<std::runtime_error>
2022-11-03T10:51:08Z ubuntu-frame.daemon[3682]: std::exception::what: Failed to find any platforms for current system
2022-11-03T10:51:08Z systemd[1]: snap.ubuntu-frame.daemon.service: Main process exited, code=exited, status=1/FAILURE
2022-11-03T10:51:08Z systemd[1]: snap.ubuntu-frame.daemon.service: Failed with result 'exit-code'.```

This is your problem: Mir cannot find a display to render to. You need to enable KMS in config.txt.

I’m not sure of the exact incantation for RPi4, but here’s the corresponding information for RPi3:

https://github.com/MirServer/ubuntu-frame/issues/39#issuecomment-966308829

You can find information on RPi4 here:

https://www.raspberrypi.com/documentation/computers/configuration.html

(I think you need vc4-kms-v3d-pi4, but don’t have the kit to try it)

1 Like

It was great, thank you very much for your help. yes when edit dtoverlay (in /boot/firmware/config.txt) to vc4-kms-v3d-pi4 value, it works for me. Just one more issue,
the mouse pointer does not appear on the screen. how can i fix it?

I suspect a problem with the driver support for hardware cursor. Try adding cursor=software to the Ubuntu Frame config option.

1 Like

beyond what alan said, IIRC the pointer is dynamic, do you actually have a mouse attached ? without it it should not be shown.

1 Like

Thank you, yes, it was fixed with the following line:
sudo snap set wpe-webkit-mir-kiosk cursor=software

1 Like

I don’t think wpe-webkit-mir-kiosk has that option

1 Like

Hi Alan
I’m tring do some “Mir on X” simulator according to “IoT Graphics with
Ubuntu Frame” document. I got a error when I used ‘ubuntu-frame&’ command. Here are message in bleow.

std::exception::what: Failed to find any platforms for current system

could you give me some suggestions. thanks.

@attachbingo you don’t give much of the log (each platform will show why it doesn’t work on the current system).

My first guess is that you you already have a Wayland compositor running and failed to change the WAYLAND_DISPLAY environment variable.

I have followed the steps in https://mir-server.io/docs/run-ubuntu-frame-on-your-device on 22.04.2 LTS and I am getting a red screen. This is a new NUC running Intel N200.

Please advise.

These are my logs:

# snap logs -n 80 ubuntu-frame

2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]:     - card-id: 0
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]:       DisplayPort-1:
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]:         # (disconnected)
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]:       HDMI-A-1:
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]:         # This output supports the following modes: 3840x2160@60.0, 3840x2160@59.9,
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]:         # 3840x2160@50.0, 3840x2160@30.0, 3840x2160@30.0, 3840x2160@25.0, 3840x2160@24.0,
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]:         # 3840x2160@24.0, 2560x1440@60.0, 2048x1280@59.9, 2048x1152@60.0, 1920x1200@60.0,
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]:         # 1920x1080@60.0, 1920x1080@60.0, 1920x1080@59.9, 1920x1080@50.0, 1600x1200@60.0,
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]:         # 1680x1050@59.9, 1280x1024@75.0, 1280x1024@60.0, 1280x800@59.9, 1152x864@75.0,
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]:         # 1280x720@60.0, 1280x720@59.9, 1280x720@50.0, 1024x768@75.0, 1024x768@60.0,
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]:         # 800x600@75.0, 800x600@60.3, 720x576@50.0, 720x480@60.0, 720x480@59.9,
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]:         # 640x480@75.0, 640x480@60.0, 640x480@59.9, 720x400@70.1
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]:         #
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]:         # Uncomment the following to enforce the selected configuration.
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]:         # Or amend as desired.
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]:         #
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]:         state: enabled	# {enabled, disabled}, defaults to enabled
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]:         mode: 3840x2160@59.9	# Defaults to preferred mode
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]:         position: [0, 0]	# Defaults to [0, 0]
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]:         orientation: normal	# {normal, left, right, inverted}, defaults to normal
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]:         scale: 1
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]:         group: 0	# Outputs with the same non-zero value are treated as a single display
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: 8>< ---------------------------------------------------
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.693184] < -warning- > gbm-kms: drmModeCrtcSetGamma failed: Invalid argument
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.721585] <information> gbm-kms: Detected single-GPU DisplayBuffer. Rendering will be sent directly to output
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: xkbcommon: ERROR: couldn't find a Compose file for locale "en_US.UTF-8"
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: MESA: warning: Driver does not support the 0x46d0 PCI ID.
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: MESA: warning: Driver does not support the 0x46d0 PCI ID.
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.743592] <information> mirserver: Using hardware cursor
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.750810] <information> GLRenderer: EGL vendor: Mesa Project
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.750867] <information> GLRenderer: EGL version: 1.4
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.750877] <information> GLRenderer: EGL client APIs: OpenGL OpenGL_ES
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.750884] <information> GLRenderer: EGL extensions: EGL_ANDROID_blob_cache EGL_EXT_buffer_age EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_image_dma_buf_export EGL_MESA_query_driver
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.750895] <information> GLRenderer: GL vendor: Mesa/X.org
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.750902] <information> GLRenderer: GL renderer: llvmpipe (LLVM 12.0.0, 256 bits)
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.750908] <information> GLRenderer: GL version: OpenGL ES 3.2 Mesa 21.2.6
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.750915] <information> GLRenderer: GLSL version: OpenGL ES GLSL ES 3.20
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.750996] <information> GLRenderer: GL extensions: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays GL_EXT_texture_compression_s3tc GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_format_BGRA8888 GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24 GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_stencil8 GL_OES_texture_3D GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_half_float GL_EXT_draw_instanced GL_EXT_texture_sRGB_decode GL_OES_EGL_image GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_type_2_10_10_10_REV GL_NV_conditional_render GL_OES_get_program_binary GL_APPLE_texture_max_level GL_EXT_discard_framebuffer GL_EXT_read_format_bgra GL_EXT_frag_depth GL_NV_fbo_color_attachments GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_array_object GL_OES_viewport_array GL_ANGLE_pack_reverse_row_order GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_EXT_occlusion_query_boolean GL_EXT_robustness GL_EXT_texture_rg GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer GL_NV_read_depth GL_NV_read_depth_stencil GL_NV_read_stencil GL_EXT_draw_buffers GL_EXT_map_buffer_range GL_KHR_debug GL_KHR_robustness GL_KHR_texture_compression_astc_ldr GL_NV_pixel_buffer_object GL_OES_depth_texture_cube_map GL_OES_required_internalformat GL_OES_surfaceless_context GL_EXT_color_buffer_float GL_EXT_sRGB_write_control GL_EXT_separate_shader_objects GL_EXT_shader_group_vote GL_EXT_shader_implicit_conversions GL_EXT_shader_integer_mix GL_EXT_tessellation_point_size GL_EXT_tessellation_shader GL_ANDROID_extension_pack_es31a GL_EXT_base_instance GL_EXT_compressed_ETC1_RGB8_sub_texture GL_EXT_copy_image GL_EXT_draw_buffers_indexed GL_EXT_draw_elements_base_vertex GL_EXT_gpu_shader5 GL_EXT_polygon_offset_clamp GL_EXT_primitive_bounding_box GL_EXT_render_snorm GL_EXT_shader_io_blocks GL_EXT_texture_border_clamp GL_EXT_texture_buffer GL_EXT_texture_cube_map_array GL_EXT_texture_norm16 GL_EXT_texture_view GL_KHR_blend_equation_advanced GL_KHR_context_flush_control GL_KHR_robust_buffer_access_behavior GL_NV_image_formats GL_OES_copy_image GL_OES_draw_buffers_indexed GL_OES_draw_elements_base_vertex GL_OES_gpu_shader5 GL_OES_primitive_bounding_box GL_OES_sample_shading GL_OES_sample_variables GL_OES_shader_io_blocks GL_OES_shader_multisample_interpolation GL_OES_tessellation_point_size GL_OES_tessellation_shader GL_OES_texture_border_clamp GL_OES_texture_buffer GL_OES_texture_cube_map_array GL_OES_texture_stencil8 GL_OES_texture_storage_multisample_2d_array GL_OES_texture_view GL_EXT_blend_func_extended GL_EXT_buffer_storage GL_EXT_float_blend GL_EXT_geometry_point_size GL_EXT_geometry_shader GL_EXT_texture_filter_minmax GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_RG8 GL_KHR_no_error GL_KHR_texture_compression_astc_sliced_3d GL_OES_EGL_image_external_essl3 GL_OES_geometry_point_size GL_OES_geometry_shader GL_OES_shader_image_atomic GL_EXT_clip_cull_distance GL_EXT_disjoint_timer_query GL_EXT_texture_compression_s3tc_srgb GL_MESA_shader_integer_functions GL_EXT_clip_control GL_EXT_color_buffer_half_float GL_EXT_texture_compression_bptc GL_KHR_parallel_shader_compile GL_EXT_EGL_image_storage GL_EXT_shader_framebuffer_fetch_non_coherent GL_EXT_texture_shadow_lod GL_MESA_framebuffer_flip_y GL_EXT_depth_clamp GL_EXT_texture_query_lod GL_MESA_bgra
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.751008] <information> GLRenderer: GL max texture size = 16384
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.751602] <information> GLRenderer: GL framebuffer bits: RGBA=0000, depth=0, stencil=0
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.751842] < -warning- > gbm-kms-buffer-allocator: Failed to bind EGL Display to Wayland display, falling back to software buffers: /build/mir-JGAege/mir-2.13.0/src/platform/graphics/egl_extensions.cpp(86): Throw in function mir::graphics::EGLExtensions::WaylandExtensions::WaylandExtensions(EGLDisplay)
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: Dynamic exception type: boost::wrapexcept<std::runtime_error>
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: std::exception::what: EGL display doesn't support EGL_WL_bind_wayland_display
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.751926] <information> gbm-kms-buffer-allocator: Enabled linux-dmabuf import support
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.752177] <information> mircommon: Loading modules from: /snap/ubuntu-frame/5328/usr/lib/x86_64-linux-gnu/mir/server-platform
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.752231] <information> mircommon: Loading module: /snap/ubuntu-frame/5328/usr/lib/x86_64-linux-gnu/mir/server-platform/graphics-gbm-kms.so.20
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.752269] <information> mircommon: Loading module: /snap/ubuntu-frame/5328/usr/lib/x86_64-linux-gnu/mir/server-platform/server-x11.so.20
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.752283] <information> mircommon: Loading module: /snap/ubuntu-frame/5328/usr/lib/x86_64-linux-gnu/mir/server-platform/input-evdev.so.8
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.769836] <information> mirserver: Selected input driver: mir:evdev-input (version: 2.13.0)
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.770015] <information> mirserver: Mir version 2.13.0
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.770637] <information> GLRenderer: EGL vendor: Mesa Project
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.770659] <information> GLRenderer: EGL version: 1.4
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.770668] <information> GLRenderer: EGL client APIs: OpenGL OpenGL_ES
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.770678] <information> GLRenderer: EGL extensions: EGL_ANDROID_blob_cache EGL_EXT_buffer_age EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_image_dma_buf_export EGL_MESA_query_driver
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.770687] <information> GLRenderer: GL vendor: Mesa/X.org
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.770695] <information> GLRenderer: GL renderer: llvmpipe (LLVM 12.0.0, 256 bits)
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.770701] <information> GLRenderer: GL version: OpenGL ES 3.2 Mesa 21.2.6
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.770708] <information> GLRenderer: GLSL version: OpenGL ES GLSL ES 3.20
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.770795] <information> GLRenderer: GL extensions: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays GL_EXT_texture_compression_s3tc GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_format_BGRA8888 GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24 GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_stencil8 GL_OES_texture_3D GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_half_float GL_EXT_draw_instanced GL_EXT_texture_sRGB_decode GL_OES_EGL_image GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_type_2_10_10_10_REV GL_NV_conditional_render GL_OES_get_program_binary GL_APPLE_texture_max_level GL_EXT_discard_framebuffer GL_EXT_read_format_bgra GL_EXT_frag_depth GL_NV_fbo_color_attachments GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_array_object GL_OES_viewport_array GL_ANGLE_pack_reverse_row_order GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_EXT_occlusion_query_boolean GL_EXT_robustness GL_EXT_texture_rg GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer GL_NV_read_depth GL_NV_read_depth_stencil GL_NV_read_stencil GL_EXT_draw_buffers GL_EXT_map_buffer_range GL_KHR_debug GL_KHR_robustness GL_KHR_texture_compression_astc_ldr GL_NV_pixel_buffer_object GL_OES_depth_texture_cube_map GL_OES_required_internalformat GL_OES_surfaceless_context GL_EXT_color_buffer_float GL_EXT_sRGB_write_control GL_EXT_separate_shader_objects GL_EXT_shader_group_vote GL_EXT_shader_implicit_conversions GL_EXT_shader_integer_mix GL_EXT_tessellation_point_size GL_EXT_tessellation_shader GL_ANDROID_extension_pack_es31a GL_EXT_base_instance GL_EXT_compressed_ETC1_RGB8_sub_texture GL_EXT_copy_image GL_EXT_draw_buffers_indexed GL_EXT_draw_elements_base_vertex GL_EXT_gpu_shader5 GL_EXT_polygon_offset_clamp GL_EXT_primitive_bounding_box GL_EXT_render_snorm GL_EXT_shader_io_blocks GL_EXT_texture_border_clamp GL_EXT_texture_buffer GL_EXT_texture_cube_map_array GL_EXT_texture_norm16 GL_EXT_texture_view GL_KHR_blend_equation_advanced GL_KHR_context_flush_control GL_KHR_robust_buffer_access_behavior GL_NV_image_formats GL_OES_copy_image GL_OES_draw_buffers_indexed GL_OES_draw_elements_base_vertex GL_OES_gpu_shader5 GL_OES_primitive_bounding_box GL_OES_sample_shading GL_OES_sample_variables GL_OES_shader_io_blocks GL_OES_shader_multisample_interpolation GL_OES_tessellation_point_size GL_OES_tessellation_shader GL_OES_texture_border_clamp GL_OES_texture_buffer GL_OES_texture_cube_map_array GL_OES_texture_stencil8 GL_OES_texture_storage_multisample_2d_array GL_OES_texture_view GL_EXT_blend_func_extended GL_EXT_buffer_storage GL_EXT_float_blend GL_EXT_geometry_point_size GL_EXT_geometry_shader GL_EXT_texture_filter_minmax GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_RG8 GL_KHR_no_error GL_KHR_texture_compression_astc_sliced_3d GL_OES_EGL_image_external_essl3 GL_OES_geometry_point_size GL_OES_geometry_shader GL_OES_shader_image_atomic GL_EXT_clip_cull_distance GL_EXT_disjoint_timer_query GL_EXT_texture_compression_s3tc_srgb GL_MESA_shader_integer_functions GL_EXT_clip_control GL_EXT_color_buffer_half_float GL_EXT_texture_compression_bptc GL_KHR_parallel_shader_compile GL_EXT_EGL_image_storage GL_EXT_shader_framebuffer_fetch_non_coherent GL_EXT_texture_shadow_lod GL_MESA_framebuffer_flip_y GL_EXT_depth_clamp GL_EXT_texture_query_lod GL_MESA_bgra
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.770806] <information> GLRenderer: GL max texture size = 16384
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.770816] <information> GLRenderer: GL framebuffer bits: RGBA=8880, depth=0, stencil=0
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.917623] <information> mirserver: Initial display configuration:
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.917696] <information> mirserver: * Output 1: DisplayPort disconnected
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.917715] <information> mirserver: * Output 2: HDMI-A connected, used
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.917737] <information> mirserver: . |_ EDID monitor name: DELL U2720QM
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.917753] <information> mirserver: . |_ EDID manufacturer: DEL
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.917770] <information> mirserver: . |_ EDID product code: 16825
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.917790] <information> mirserver: . |_ Physical size 27.2" 600x340mm
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.917805] <information> mirserver: . |_ Power is on
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.917821] <information> mirserver: . |_ Current mode 3840x2160 59.94Hz
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.917836] <information> mirserver: . |_ Preferred mode 3840x2160 60.00Hz
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.917850] <information> mirserver: . |_ Orientation normal
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.917867] <information> mirserver: . |_ Logical size 3840x2160
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.917881] <information> mirserver: . |_ Logical position +0+0
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.917894] <information> mirserver: . |_ Scaling factor: 1.00
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.924758] < -warning- > evdev-input: Attempted to remove unmanaged fd 43
2023-04-09T22:45:11+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:11.973803] < -warning- > evdev-input: Attempted to remove unmanaged fd 46
2023-04-09T22:45:13+08:00 ubuntu-frame.daemon[5900]: [2023-04-09 22:45:13.735494] <information> frame: New surface for snap="wpe-webkit-mir-kiosk" with title="Cog"
2023-04-09T22:45:13+08:00 ubuntu-frame.daemon[5900]: file descriptor expected, object (11), message create_pool(nhi)
2023-04-09T22:45:13+08:00 ubuntu-frame.daemon[5900]: error in client communication (pid 6114)
# snap logs -n 80 wpe-webkit-mir-kiosk 
2023-04-09T22:41:55+08:00 systemd[1]: Started Service for snap application wpe-webkit-mir-kiosk.restart-watcher.
2023-04-09T22:41:55+08:00 wpe-webkit-mir-kiosk.restart-watcher[5038]: Setting up watches.
2023-04-09T22:41:55+08:00 wpe-webkit-mir-kiosk.restart-watcher[5038]: Watches established.
2023-04-09T22:42:01+08:00 systemd[1]: Stopping Service for snap application wpe-webkit-mir-kiosk.restart-watcher...
2023-04-09T22:42:01+08:00 systemd[1]: snap.wpe-webkit-mir-kiosk.restart-watcher.service: Deactivated successfully.
2023-04-09T22:42:01+08:00 systemd[1]: Stopped Service for snap application wpe-webkit-mir-kiosk.restart-watcher.
2023-04-09T22:42:01+08:00 systemd[1]: Started Service for snap application wpe-webkit-mir-kiosk.restart-watcher.
2023-04-09T22:42:01+08:00 wpe-webkit-mir-kiosk.restart-watcher[5182]: Setting up watches.
2023-04-09T22:42:01+08:00 wpe-webkit-mir-kiosk.restart-watcher[5182]: Watches established.
2023-04-09T22:42:05+08:00 systemd[1]: Started Service for snap application wpe-webkit-mir-kiosk.daemon.
2023-04-09T22:42:05+08:00 wpe-webkit-mir-kiosk.daemon[5227]: + snapctl get daemon
2023-04-09T22:42:05+08:00 wpe-webkit-mir-kiosk.daemon[5200]: + [ true = true ]
2023-04-09T22:42:05+08:00 wpe-webkit-mir-kiosk.daemon[5200]: + exec /snap/wpe-webkit-mir-kiosk/93/bin/wayland-launch /snap/wpe-webkit-mir-kiosk/93/bin/set-arch-triplet /snap/wpe-webkit-mir-kiosk/93/bin/gio-updater /snap/wpe-webkit-mir-kiosk/93/bin/launch-wpe
2023-04-09T22:42:06+08:00 -[5303]: Could not open /sys/class/dmi/id/chassis_type: Failed to open file “/sys/class/dmi/id/chassis_type”: Permission denied
2023-04-09T22:42:06+08:00 -[5303]: Could not open /sys/firmware/acpi/pm_profile: Failed to open file “/sys/firmware/acpi/pm_profile”: Permission denied
2023-04-09T22:42:06+08:00 wpe-webkit-mir-kiosk.daemon[5303]: Could not determine the accessibility bus address
2023-04-09T22:42:06+08:00 -[5303]: Your application does not implement g_application_activate() and has no handlers connected to the 'activate' signal.  It should do one of these.
2023-04-09T22:42:06+08:00 -[5303]: Acquired D-Bus well-known name com.igalia.Cog
2023-04-09T22:42:06+08:00 -[5313]: Could not open /sys/class/dmi/id/chassis_type: Failed to open file “/sys/class/dmi/id/chassis_type”: Permission denied
2023-04-09T22:42:06+08:00 -[5313]: Could not open /sys/firmware/acpi/pm_profile: Failed to open file “/sys/firmware/acpi/pm_profile”: Permission denied
2023-04-09T22:42:06+08:00 wpe-webkit-mir-kiosk.daemon[5303]: wl_display@1: error 1: invalid arguments for wl_shm@11.create_pool
2023-04-09T22:42:06+08:00 -[5303]: <https://mir-server.io/> Load started.
2023-04-09T22:42:07+08:00 -[5303]: <https://mir-server.io/> Loading...
2023-04-09T22:42:09+08:00 -[5303]: <https://mir-server.io/> Loaded successfully.
2023-04-09T22:45:08+08:00 systemd[1]: Stopping Service for snap application wpe-webkit-mir-kiosk.daemon...
2023-04-09T22:45:08+08:00 systemd[1]: snap.wpe-webkit-mir-kiosk.daemon.service: Deactivated successfully.
2023-04-09T22:45:08+08:00 systemd[1]: Stopped Service for snap application wpe-webkit-mir-kiosk.daemon.
2023-04-09T22:45:08+08:00 systemd[1]: snap.wpe-webkit-mir-kiosk.daemon.service: Consumed 1.258s CPU time.
2023-04-09T22:45:08+08:00 systemd[1]: Started Service for snap application wpe-webkit-mir-kiosk.daemon.
2023-04-09T22:45:08+08:00 systemd[1]: Stopping Service for snap application wpe-webkit-mir-kiosk.restart-watcher...
2023-04-09T22:45:08+08:00 systemd[1]: snap.wpe-webkit-mir-kiosk.restart-watcher.service: Deactivated successfully.
2023-04-09T22:45:08+08:00 systemd[1]: Stopped Service for snap application wpe-webkit-mir-kiosk.restart-watcher.
2023-04-09T22:45:08+08:00 systemd[1]: Started Service for snap application wpe-webkit-mir-kiosk.restart-watcher.
2023-04-09T22:45:08+08:00 wpe-webkit-mir-kiosk.daemon[5714]: + snapctl get daemon
2023-04-09T22:45:08+08:00 wpe-webkit-mir-kiosk.restart-watcher[5731]: Setting up watches.
2023-04-09T22:45:08+08:00 wpe-webkit-mir-kiosk.restart-watcher[5731]: Watches established.
2023-04-09T22:45:08+08:00 wpe-webkit-mir-kiosk.daemon[5674]: + [ true = true ]
2023-04-09T22:45:08+08:00 wpe-webkit-mir-kiosk.daemon[5674]: + exec /snap/wpe-webkit-mir-kiosk/93/bin/wayland-launch /snap/wpe-webkit-mir-kiosk/93/bin/set-arch-triplet /snap/wpe-webkit-mir-kiosk/93/bin/gio-updater /snap/wpe-webkit-mir-kiosk/93/bin/launch-wpe
2023-04-09T22:45:08+08:00 -[5797]: Could not open /sys/class/dmi/id/chassis_type: Failed to open file “/sys/class/dmi/id/chassis_type”: Permission denied
2023-04-09T22:45:08+08:00 -[5797]: Could not open /sys/firmware/acpi/pm_profile: Failed to open file “/sys/firmware/acpi/pm_profile”: Permission denied
2023-04-09T22:45:08+08:00 wpe-webkit-mir-kiosk.daemon[5797]: Could not determine the accessibility bus address
2023-04-09T22:45:08+08:00 -[5797]: Your application does not implement g_application_activate() and has no handlers connected to the 'activate' signal.  It should do one of these.
2023-04-09T22:45:08+08:00 -[5797]: Acquired D-Bus well-known name com.igalia.Cog
2023-04-09T22:45:08+08:00 -[5807]: Could not open /sys/class/dmi/id/chassis_type: Failed to open file “/sys/class/dmi/id/chassis_type”: Permission denied
2023-04-09T22:45:08+08:00 -[5807]: Could not open /sys/firmware/acpi/pm_profile: Failed to open file “/sys/firmware/acpi/pm_profile”: Permission denied
2023-04-09T22:45:08+08:00 -[5797]: <https://mir-server.io/> Load started.
2023-04-09T22:45:08+08:00 wpe-webkit-mir-kiosk.daemon[5797]: wl_display@1: error 1: invalid arguments for wl_shm@11.create_pool
2023-04-09T22:45:08+08:00 -[5797]: <https://mir-server.io/> Loading...
2023-04-09T22:45:10+08:00 -[5797]: <https://mir-server.io/> Loaded successfully.
2023-04-09T22:45:11+08:00 wpe-webkit-mir-kiosk.restart-watcher[5732]: Wayland socket was deleted, restarting browser service in 2 seconds
2023-04-09T22:45:11+08:00 wpe-webkit-mir-kiosk.restart-watcher[5732]: Wayland socket not yet available
2023-04-09T22:45:11+08:00 systemd[1]: Stopping Service for snap application wpe-webkit-mir-kiosk.daemon...
2023-04-09T22:45:11+08:00 systemd[1]: snap.wpe-webkit-mir-kiosk.daemon.service: Deactivated successfully.
2023-04-09T22:45:11+08:00 systemd[1]: Stopped Service for snap application wpe-webkit-mir-kiosk.daemon.
2023-04-09T22:45:11+08:00 systemd[1]: Started Service for snap application wpe-webkit-mir-kiosk.daemon.
2023-04-09T22:45:11+08:00 systemd[1]: Stopping Service for snap application wpe-webkit-mir-kiosk.restart-watcher...
2023-04-09T22:45:11+08:00 systemd[1]: snap.wpe-webkit-mir-kiosk.restart-watcher.service: Deactivated successfully.
2023-04-09T22:45:11+08:00 systemd[1]: Stopped Service for snap application wpe-webkit-mir-kiosk.restart-watcher.
2023-04-09T22:45:11+08:00 systemd[1]: Started Service for snap application wpe-webkit-mir-kiosk.restart-watcher.
2023-04-09T22:45:11+08:00 wpe-webkit-mir-kiosk.daemon[5998]: + snapctl get daemon
2023-04-09T22:45:11+08:00 wpe-webkit-mir-kiosk.restart-watcher[5970]: Wayland socket not available, waiting one second
2023-04-09T22:45:11+08:00 wpe-webkit-mir-kiosk.daemon[5947]: + [ true = true ]
2023-04-09T22:45:11+08:00 wpe-webkit-mir-kiosk.daemon[5947]: + exec /snap/wpe-webkit-mir-kiosk/93/bin/wayland-launch /snap/wpe-webkit-mir-kiosk/93/bin/set-arch-triplet /snap/wpe-webkit-mir-kiosk/93/bin/gio-updater /snap/wpe-webkit-mir-kiosk/93/bin/launch-wpe
2023-04-09T22:45:11+08:00 wpe-webkit-mir-kiosk.daemon[6060]: Setting up watches.
2023-04-09T22:45:11+08:00 wpe-webkit-mir-kiosk.daemon[6060]: Watches established.
2023-04-09T22:45:11+08:00 wpe-webkit-mir-kiosk.daemon[6060]: /run/user/0/ CREATE wayland-0.lock
2023-04-09T22:45:12+08:00 wpe-webkit-mir-kiosk.restart-watcher[6072]: Setting up watches.
2023-04-09T22:45:12+08:00 wpe-webkit-mir-kiosk.restart-watcher[6072]: Watches established.
2023-04-09T22:45:13+08:00 wpe-webkit-mir-kiosk.daemon[5947]: /snap/wpe-webkit-mir-kiosk/93/bin/wayland-launch: 29: kill: No such process
2023-04-09T22:45:13+08:00 -[6114]: Could not open /sys/class/dmi/id/chassis_type: Failed to open file “/sys/class/dmi/id/chassis_type”: Permission denied
2023-04-09T22:45:13+08:00 -[6114]: Could not open /sys/firmware/acpi/pm_profile: Failed to open file “/sys/firmware/acpi/pm_profile”: Permission denied
2023-04-09T22:45:13+08:00 wpe-webkit-mir-kiosk.daemon[6114]: Could not determine the accessibility bus address
2023-04-09T22:45:13+08:00 -[6114]: Your application does not implement g_application_activate() and has no handlers connected to the 'activate' signal.  It should do one of these.
2023-04-09T22:45:13+08:00 -[6114]: Acquired D-Bus well-known name com.igalia.Cog
2023-04-09T22:45:13+08:00 -[6124]: Could not open /sys/class/dmi/id/chassis_type: Failed to open file “/sys/class/dmi/id/chassis_type”: Permission denied
2023-04-09T22:45:13+08:00 -[6124]: Could not open /sys/firmware/acpi/pm_profile: Failed to open file “/sys/firmware/acpi/pm_profile”: Permission denied
2023-04-09T22:45:13+08:00 wpe-webkit-mir-kiosk.daemon[6114]: wl_display@1: error 1: invalid arguments for wl_shm@11.create_pool
2023-04-09T22:45:13+08:00 -[6114]: <https://mir-server.io/> Load started.
2023-04-09T22:45:14+08:00 -[6114]: <https://mir-server.io/> Loading...
2023-04-09T22:45:15+08:00 -[6114]: <https://mir-server.io/> Loaded successfully.

These suggest that the problem lies with the exchange of buffers between the snaps.

Further up the logs I see:

So it may be that the problem is that the hardware is not supported by the mesa-core20 snap.

It is possible that the more recent Mesa in kisak-core20 would work. But you’d need to install it from edge and connect the snaps to it:

snap install --edge kisak-core20
snap connect ubuntu-frame:graphics-core20 kisak-core20
snap connect wpe-webkit-mir-kiosk:graphics-core20 kisak-core20

And possibly restart wpe-webkit-mir-kiosk.cog too.

Works, thank you so much. Should I report a bug to the mesa-core20?

PS. In case anyone wants to try the same workaround, a small change to the above commands:

snap install --edge kisak-core20
snap disconnect ubuntu-frame:graphics-core20
snap connect ubuntu-frame:graphics-core20 kisak-core20
snap connect wpe-webkit-mir-kiosk:graphics-core20 kisak-core20

It isn’t really a bug with that package, just that your hardware is newer than the drivers it packages from the Ubuntu archive. When the archive has newer drivers, then the package will get updated.

1 Like

Hi @alan_g i use ubuntu 22.04 server version on raspberry pi4 B (8G memory)model and i can setup wpe-webkit-mir-kiosk successfully on it but its rendering is slow, how can I speed up the display?
I setup kiosk with these commands:

sudo snap install ubuntu-frame
sudo snap set ubuntu-frame daemon=true
sudo sed -i 's/dtoverlay=dwc2/dtoverlay=vc4-kms-v3d-pi4/g' /boot/firmware/config.txt
sudo snap install wpe-webkit-mir-kiosk
sudo snap connect wpe-webkit-mir-kiosk:wayland
sudo snap set wpe-webkit-mir-kiosk daemon=true 
sudo snap set wpe-webkit-mir-kiosk url=http://localhost
sudo snap start wpe-webkit-mir-kiosk
sudo snap set wpe-webkit-mir-kiosk cursor=software

@majidkaka14 I assume you did reboot after editing the firmware/config.txt?

In general, I don’t know how, or if it is possible, to optimise WPE webkit. As you can see in the “snap info”, it is published by Glancr:

$ snap info wpe-webkit-mir-kiosk | grep -e contact -e gitlab 
contact:   kontakt@glancr.de
  3: https://gitlab.com/glancr/wpe-webkit-snap/-/blob/main/README.md

You may find more useful information here:

https://gitlab.com/glancr/wpe-webkit-snap/-/blob/main/README.md