Where does mir-kiosk work?

Where does mir-kiosk work?

Mir-kiosk is a snap designed to provide a graphical shell on Ubuntu Core for a single application. The systems it can run on are limited by this objective.

Mir-kiosk only works where Mesa works

One of the principle limitations is that graphical snaps on Ubuntu Core need to include any userspace graphics libraries for the graphics hardware.

While Mir (on which Mir kiosk is based) is capable of running on a range of graphics drivers and corresponding hardware the mir-kiosk snap only includes the Mesa userspace libraries. These open source libraries provide support for a wide range of hardware and have a stable interface to the kernel drivers.

This means that without work to create a custom mir-kiosk for a different graphics stack it only works where Mesa works.

hardware graphics

Strictly speaking mir-kiosk itself does not require hardware graphics. Mir will use hardware graphics if available, but will “fall back” software rendering.

However, for most applications on the typical IoT devices that Ubuntu Core targets hardware graphics will be needed to achieve acceptable performance.

Hardware video acceleration

Hardware video acceleration makes it possible for the graphics hardware to decode video. This is not used by mir-kiosk.

Because Mir does not make use of hardware video acceleration we do not have any direct knowledge of how well it works on any specific hardware or drivers.

Reference platforms

Mir-kiosk should work on hardware that:

  1. has a Mesa driver; and,
  2. has the corresponding kernel drivers enabled

If you find there are problems on such a system then it is worth filing a bug.

Because different drivers and hardware work differently we can only test and, if necessary, debug on systems to which we have access.

These are some systems where I know we have automated testing in place:

Device Mesa driver Video acceleration
RPi3b vc4 No
RPi4 V3D ?
Intel i915 VAAPI
Nvidia Nouveau VAAPI/VDPAU?
AMD radeon VAAPI

Note: As noted above, there are other non-Mesa platforms for which Mir support is enabled, but which the standard mir-kiosk snap does not include.