Unity8 is a graphical shell targeting a range of devices and form factors including phones, tablets, laptops and desktops. Unity8 uses the facility to customize Mir’s default window management to give its “convergent” experience.
In addition to the phones and tablets supported by Ubuntu Touch work is in progress to adapt Unity8 for use on PostmarketOS, Arch, Fedora, Debian in addition to Ubuntu.
Unity8 for Ubuntu Touch
Ubuntu Touch is a mobile operating system derived from Ubuntu 16.04LTS. It uses Unity8 to run naturally in a mobile, touch-screen environment with the additional capability, when connected to an external display, keyboard and mouse, to automatically transition to a traditional “desktop shell experience”.
“Unity8 is a key part of the Ubuntu Touch operating system. It’s what gives UT “convergence”. Convergence is where an app has the capacity to morph from a phone or tablet user experience, with touch screen interaction, to looking like a traditional desktop app with window controls, and working with a keyboard and mouse.
“It’s a central tenet of Ubuntu Touch, and it’s what makes the Operating System so incredibly powerful. Is that a smartphone I see in your hand, or is it a fully-fledged PC?
“UBports’ users are happily plugging their devices into monitors using a SlimPort adaptor, and pairing them with WiFi keyboards, in order to take advantage of a wealth of Free and Open Source software, like LibreOffice, Gimp and Firefox. And this is thanks to Unity8.” – UBports blog
Unity8 for Desktop
The same UBports community that provides Ubuntu Touch for phones also has put work into running on the desktop.
It is possible to install Unity8 and successfully use a range of Wayland based applications. However, the desktop install is not yet ready for production use: There are features that are incomplete or don’t work correctly.
Work is under way to target other distributions such as Fedora, Debian and Arch.
Unity8 uses Mir
Mir simplifies the complexity that shell authors need to deal with. It provides a stable, well tested and performant platform with touch, mouse and tablet input capability, and secure client-server communications.
Mir deals with the initialization and configuration of a broad array of graphics and input hardware. It abstracts hardware differences away from shell authors by transparently dealing with hardware quirks and integrates with system components such as greeters.
Mir’s modular design means it can integrate well with Qt/QML, meaning desktop shells can be written in a higher level language. This allows Unity8 to provide components of the desktop: various panels, server-side decorations, transitions and animations.