mir-kiosk: a project that uses Mir
If you have a problem… if you just need support for one fullscreen application… and, if you can use snaps… maybe you can use…
Many devices need to provide some sort of graphical output or display (with the options of keyboard, mouse and touchscreen input) to the user. Some examples include interactive kiosks, digital signage, in-car entertainment, smart meters, the screens seen on everything from washing machines to smart thermostats and various “maker” projects.
There are many possible solutions that might use
mir-kiosk, they can use different hardware or different versions of Ubuntu (Core or Classic), but they all amount to configuring, or building, a device that performs a specific function that uses a display.
Usage of mir-kiosk
mir-kiosk provides the foundation for any graphical kiosk implementation. It provides a black screen with a mouse pointer, letting you run any application you want, instantly turning it into a kiosk application. There are a number of demonstrations and tutorials showing how you quickly you can do this:
Running a kiosk on Ubuntu Core: showcases a set of Qt applications as examples apps you could run on a kiosk.
Graphical Snaps for Ubuntu IoT Devices: a snap of a Wayland-native application to act as the graphical user interface for an IoT or kiosk device.
Graphical Snaps for Ubuntu IoT Devices: Using Xwayland: a snap of an X11 application to act as the graphical user interface for an IoT or kiosk device.
Snaps to develop a Web kiosk on Ubuntu Core (using Wayland): an example web kiosk snap.
Mir-kiosk uses Mir
Mir provides a stable, well tested and performant platform with touch, mouse and tablet input capability. It provides secure client-server communications based on Wayland.
Mir deals with the initialization and configuration of a broad array of graphics and input hardware and transparently deals with hardware quirks. The Mir libraries provide most of the window management, which is customized to ensure applications are fullscreen by one of the Mir example programs:
mir-kiosk project takes this program and packages it as a snap for ease of use.