Canonical has released “Ubuntu Frame,” a Wayland based fullscreen graphics shell for Ubuntu Core and other snaps-enabled distros for designing secure, easily deployable interactive kiosk, signage, and IoT applications.
Canonical’s Ubuntu Frame is not a GUI application, but rather a fullscreen graphics shell for third-party graphics applications. The shell software is based on the widely adopted Wayland display server, which was fully embraced in Ubuntu 21.04 after a long transition from Canonical’s homegrown Mir. Ubuntu Frame is designed to run under Ubuntu Core, although it can run on standard Ubuntu variants and any distro that supports Canonical’s containerized snaps package mechanism (see farther below).
Ubuntu Frame workflow showing snap confinement
(click image to enlarge)
Designed for deploying graphical applications for interactive kiosks, smart retail, digital signage solutions, smart mirrors, IoT and industrial HMI, and more, Ubuntu Frame offers a foundation for GUI development using other apps. The software is compatible with toolkits such as Flutter, Qt 5/6, GTK 3/4, Electron and SDL2.
Ubuntu Frame automatically enables input from touchscreens “with a wide array of gestures, keyboard and mouse,” as well as automating window behaviors and dynamics, says Canonical. “With Ubuntu Frame, the graphic application you choose or design gets a fullscreen window or windows and input from touch, keyboard and mouse without needing to deal with the specific hardware,” says Canonical.
With Ubuntu Frame, “developers no longer need to integrate and maintain partial solutions such as DRM, KMS, input protocols or security policies to power and secure their displays,” says Canonical. Benefits are said to include “less code to manage, less opportunities for bugs and vulnerabilities in untried code, and more time for developing the content.”
The shell provides a Wayland and snaps-based “secure socket” that allows applications to communicate only with the Ubuntu Frame server using secure client-server communications. Snaps provides additional security features including OTA security updates and automatic notifications about security vulnerabilities, among others. With snaps, Ubuntu Frame and the apps running on top of it are isolated from one another and limited in the resources they can access from the mainboard.
Snaps also provides Ubuntu Frame users with easy deployment and management, says Canonical. Management features include automatic updates, rollback on failure, and security sandboxing.
Snaps is pre-installed on the embedded Ubuntu Core variant of Ubuntu, as well as and most Ubuntu variants since Ubuntu 20.04 LTS. It is also pre-installed on Manjaro, KDE Neon, Solus 3 and above, and Zorin OS. Canonical provides instructions for loading snaps onto many more distros, including Arch, Debian, Fedora, openSUSE, RHEL, Linux Mint, Raspberry Pi OS, and more.
Ubuntu Frame has been in development for seven years and production for five years and is already in use, says Canonical. The software is supported with 10-year availability.
Ubuntu Frame is available for free download here. More information may be found in Canonical’s announcement, which includes links to a tutorial and signup for a Nov. 3 webinar. There is also an Ubuntu Frame product brief (PDF).