Where does ubuntu-frame work?

Where does ubuntu-frame work?

Ubuntu Frame is a snap designed to provide a graphical shell on Linux based devices for a single application.

We recommend Ubuntu Core for a lot of purposes, but you should be able to use Ubuntu Frame on any Linux system with snapd installed and with “suitable graphics”.

Suitable graphics

Ubuntu Frame is based on Mir which supports a range of graphics options. The current iteration of Ubuntu Frame does not support all of these, just “gbm-kms”.

In general, this means that Ubuntu Frame can work with any driver providing KMS, libgbm and an EGL supporting EGL_WL_bind_wayland_display .

Default graphics

A default installation of Ubuntu Frame will install the open-source Mesa drivers (via the mesa-core20 snap). Mesa provides gbm-kms support across a wide range of hardware.

Bespoke graphics

Ubuntu Frame requires the graphics userspace to be supplied via the graphics-core20 Snap interface.

We’ve done some “proof of concept” work with non-mesa drivers, but we are not currently in a position to provide these as snaps.

hardware graphics

Strictly speaking Ubuntu Frame 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 Frame targets hardware graphics will be needed to achieve acceptable performance.

Reference platforms

Ubuntu Frame 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 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