Mir is a computer
display server and, recently, a
Wayland compositor
Wayland is a communication protocol that specifies the communication between a display server and its clients, as well as a C library implementation of that protocol. A display server using the Wayland protocol is called a '' Wayland composito ...
for the
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
that is under development by
Canonical Ltd.
Canonical Ltd. is a privately-held computer software company based in London, England. It was founded and funded by South African entrepreneur Mark Shuttleworth to market commercial support and related services for Ubuntu and related projects. ...
It was planned to replace the currently used
X Window System
The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems.
X originated as part of Project Athena at Massachusetts Institute of Technology (MIT) in 1984. The X protocol has been at ...
for
Ubuntu
Ubuntu ( ) is a Linux distribution based on Debian and composed primarily of free and open-source software. Developed by the British company Canonical (company), Canonical and a community of contributors under a Meritocracy, meritocratic gover ...
;
however, the plan changed and
Mutter was adopted as part of
GNOME Shell
GNOME Shell is the graphical shell of the GNOME desktop environment starting with version 3, which was released on April 6, 2011. It provides basic functions like launching applications and switching between windows. GNOME Shell replaced GN ...
.
Mir was announced by Canonical on 4 March 2013
[ as part of the development of Unity 8, intended as the next generation for the Unity user interface.][ Four years later Unity 8 was dropped] although Mir's development continued for Internet of Things
Internet of things (IoT) describes devices with sensors, processing ability, software and other technologies that connect and exchange data with other devices and systems over the Internet or other communication networks. The IoT encompasse ...
(IoT) applications.
Software architecture
Mir is built on EGL and uses some of the infrastructure originally developed for Wayland such as Mesa's EGL implementation[ and Jolla's ]libhybris
libhybris is a compatibility layer for computers running Linux distributions based on the GNU C library or Musl, intended for using software written for Bionic-based Linux systems, which mainly includes Android libraries and device drivers ...
. The compatibility layer for X, XMir, is based on XWayland
X.Org Server is the free and open-source implementation of the X Window System (X11) display server stewarded by the X.Org Foundation.
Implementations of the client-side X Window System protocol exist in the form of ''X11 libraries'', which ...
.
Other parts of the infrastructure used by Mir originate from Android
Android most commonly refers to:
*Android (robot), a humanoid robot or synthetic organism designed to imitate a human
* Android (operating system), a mobile operating system primarily developed by Google
* Android TV, a operating system developed ...
. These parts include Google's Protocol Buffers
Protocol Buffers (Protobuf) is a free and open-source cross-platform data format used to serialize structured data. It is useful in developing programs that communicate with each other over a network or for storing data. The method involves an ...
, and previously included Android's input stack, which has since been replaced by Wayland's libinput, prior to the end of 2015.[ An implementation detail in ]memory management
Memory management (also dynamic memory management, dynamic storage allocation, or dynamic memory allocation) is a form of Resource management (computing), resource management applied to computer memory. The essential requirement of memory manag ...
shared with Android is the use of server-allocated buffers which Canonical employee Christopher Halse Rogers claims to be a requirement for "the ARM world and Android graphics stack".[
According to Ryan Paul of ]Ars Technica
''Ars Technica'' is a website covering news and opinions in technology, science, politics, and society, created by Ken Fisher and Jon Stokes in 1998. It publishes news, reviews, and guides on issues such as computer hardware and software, sci ...
,
it has basic Wayland support.
Adoption
, the only announced desktop environment
In computing, a desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs running on top of a computer operating system that share a common graphical user interface (GUI), sometimes described as a graphi ...
with native support for Mir was Canonical's ''Unity 8
Unity is a graphical shell originally developed by Canonical (company), Canonical Ltd. for its Ubuntu, Ubuntu operating system. It debuted in 2010 in the Ubuntu Netbook Edition, netbook edition of Ubuntu version history#1010, Ubuntu 10.10 and ...
.'' No other Linux distribution
A Linux distribution, often abbreviated as distro, is an operating system that includes the Linux kernel for its kernel functionality. Although the name does not imply product distribution per se, a distro—if distributed on its own—is oft ...
announced plans to adopt Mir as default display server.
On 23 July 2013, Compiz
Compiz () is a compositing window manager for the X Window System, using 3D graphics hardware to create fast compositing desktop effects for window management. Effects, such as a minimization animation or a cube workspace, are implemented as loa ...
developer Sam Spilsbury had announced a proof-of-concept port of Kodi
Kodi may refer to:
Arts, entertainment, and media
* KODI, a radio station in Cody, Wyoming, USA
* Kodi (film), ''Kodi'' (film), India, 2016
* Kodi, a dog in the 2004 film ''Balto III: Wings of Change''
Other uses
* Kodi (software), an open sour ...
to Mir, based on the previous proof-of-concept port of Kodi to Wayland. On the same day Canonical developer Oliver Ries had confirmed that "this is the first native Mir client out in the wild".
Among Ubuntu derivatives using a non-Unity environment, Xubuntu
Xubuntu () is a Canonical-recognized, community-maintained derivative of the Ubuntu operating system. The name ''Xubuntu'' is a portmanteau of ''Xfce'' and ''Ubuntu'', as it uses the Xfce desktop environment, instead of Ubuntu's customized GNOME ...
developers had announced in early August 2013 that they would evaluate running Xfce
Xfce or XFCE (pronounced as four individual letters, ) is a Free and open-source software, free and open-source desktop environment for Linux and other Unix-like operating systems.
Xfce aims to be fast and Lightweight software, lightweight whil ...
via XMir, but three weeks later decided to refrain from adopting it.
Ubuntu
In June 2013, Canonical's publicly announced milestones for Mir development were to ship Unity 7 with XMir by default and a pure X11 fallback mode with Ubuntu 13.10, remove the X11 fallback with Ubuntu 14.04 LTS
Ubuntu releases are made semiannually by Canonical Ltd using the year and month of the release as a version number. The first Ubuntu release, for example, was Ubuntu 4.10 and was released on 20 October 2004. Consequently, version numbers for fu ...
, and Unity 8 running natively on Mir by Ubuntu 14.10. Later, on , Canonical announced a postponement of their Mir plans for desktop use and not use XMir as default in Ubuntu 13.10. Ubuntu Touch
Ubuntu Touch is a mobile version of the Ubuntu operating system, developed by the UBports community. Its user interface is written in Qt, and is designed primarily for touchscreen mobile devices such as smartphones and tablet computers. Howev ...
, however is targeted to ship with Mir and a smartphone version of Unity 8.
In May 2016, during his traditional video interview with the community held during the Ubuntu Online Summit, Mark Shuttleworth
Mark Richard Shuttleworth (born 18 September 1973) is a South African and British entrepreneur, founder and CEO of Canonical, the company behind the Ubuntu Linux operating system. In 2002, Shuttleworth became the first African to travel to spa ...
confirmed that "You will be able to get 16.10 with Unity 8, just like you can get 16.04 with MATE, or KDE, or GNOME. It'll be there, it'll be an option, and the team that's working on that is committed to making that a first-class option."
On 5 April 2017, Canonical announced that with the release of Ubuntu 18.04 LTS, the Unity 8 interface would be abandoned in favor of GNOME
A gnome () is a mythological creature and diminutive spirit in Renaissance magic and alchemy, introduced by Paracelsus in the 16th century and widely adopted by authors, including those of modern fantasy literature. They are typically depict ...
. When asked if the decision would also mean the end of Mir development, Canonical's Michael Hall said that given the divergent development paths taken by Mir and its competitor, Wayland, "Using Mir simply isn't an option we have."
However, Mark Shuttleworth
Mark Richard Shuttleworth (born 18 September 1973) is a South African and British entrepreneur, founder and CEO of Canonical, the company behind the Ubuntu Linux operating system. In 2002, Shuttleworth became the first African to travel to spa ...
clarified on 8 April 2017 that development would continue for Mir's use in Internet of Things
Internet of things (IoT) describes devices with sensors, processing ability, software and other technologies that connect and exchange data with other devices and systems over the Internet or other communication networks. The IoT encompasse ...
(IoT) applications, stating: "we have lots of IoT projects using Mir as a compositor so that code continues to receive investment."
Toolkits
* SDL supported both Mir and Wayland starting with SDL 2.0.2 but it was disabled by default. Wayland and Mir support was enabled by default starting with SDL 2.0.4. With the release of 2.0.10, Mir support was dropped in favor of Wayland.
* GTK
GTK (formerly GIMP ToolKit and GTK+) is a free software cross-platform widget toolkit for creating graphical user interfaces (GUIs). It is licensed under the terms of the GNU Lesser General Public License, allowing both Free software, free and ...
3.16 included an experimental Mir backend, but was removed in GTK 4.
* Qt5
Qt ( pronounced "cute") is a cross-platform application development framework for creating graphical user interfaces as well as cross-platform applications that run on various software and hardware platforms such as Linux, Windows, macOS, An ...
is the official and supported toolkit for Unity8 and Ubuntu Touch, included in the Ubuntu SDK.
Criticism
In March 2013, Canonical Ltd. announced Mir as the replacement display server for the X.Org Server
X.Org Server is the free and open-source implementation of the X Window System (X11) display server stewarded by the X.Org Foundation.
Implementations of the client-side X Window System protocol exist in the form of ''X11 libraries'', which ...
in Ubuntu. Previously, in 2010, it had announced that it would use Wayland. Canonical stated that it could not meet Ubuntu's needs with Wayland.[ There were several posts made in objection or clarification, by people leading other similar or affected projects.
When originally announcing Mir, Canonical made various claims about Wayland's input system, which the Wayland developers rebutted.] Official Canonical documentation in 2014 states, "our evaluation of the protocol definition revealed that the Wayland protocol does not meet our requirements. First, we are aiming for a more extensible input event handling that takes future developments like 3D input devices (e.g. Leap Motion
Leap Motion, Inc. (formerly OcuSpec Inc.) was an American company, active from 2010 to 2019, that manufactured and marketed a computer hardware sensor device. The device supports hand and finger motions as input, analogous to a mouse, but requ ...
) into account ... With respect to mobile use-cases, we think that the handling of input methods should be reflected in the display server protocol, too. As another example, we consider the shell integration parts of the protocol as privileged and we'd rather avoid having any sort of shell behavior defined in the client facing protocol." In late 2015 Mir switched from a custom Android-derived input stack to Wayland's libinput
Wayland is a communication protocol that specifies the communication between a display server and its clients, as well as a C library implementation of that protocol. A display server using the Wayland protocol is called a ''Wayland compositor ...
.
Long-time Linux kernel
The Linux kernel is a Free and open-source software, free and open source Unix-like kernel (operating system), kernel that is used in many computer systems worldwide. The kernel was created by Linus Torvalds in 1991 and was soon adopted as the k ...
developer Matthew Garrett
Matthew Garrett is an Irish technologist, programmer, and free software activist who is a major contributor to a series of free software projects including Linux, GNOME, Debian, Ubuntu, and Red Hat. He has received the Free Software Award fr ...
criticized the choice of licensing for Canonical's software projects, particularly Mir. Unlike X.Org Server
X.Org Server is the free and open-source implementation of the X Window System (X11) display server stewarded by the X.Org Foundation.
Implementations of the client-side X Window System protocol exist in the form of ''X11 libraries'', which ...
and Wayland, both under the MIT License
The MIT License is a permissive software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts very few restrictions on reuse and therefore has high license compatibility.
Unl ...
, Mir is licensed under GPLv3
The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first ...
– "an odd hoice for "GPLv3-hostile markets" – but contributors are required to sign an agreement that "grants Canonical the right to relicense your contribution under their choice of license. This means that, despite not being the sole copyright holder, Canonical are free to relicense your code under a proprietary license." He concludes that this creates asymmetry where "you end up with a situation that looks awfully like Canonical wanting to squash competition by making it impossible for anyone else to sell modified versions of Canonical's software in the same market." Garrett's concerns were echoed by Bradley M. Kuhn
Bradley M. Kuhn (born 1973) is a free software activist from the United States.
Kuhn is currently Policy Fellow and Hacker-in-Residence of the Software Freedom Conservancy, having previously been executive director. Until 2010 he was the FLOSS ...
, Executive Director of the Software Freedom Conservancy
Software Freedom Conservancy, Inc. (also known as "Conservancy") is an organization that provides a Nonprofit organization, non-profit home, infrastructure support, and legal support for free software, free and open source software projects. The ...
.
Richard Stallman
Richard Matthew Stallman ( ; born March 16, 1953), also known by his initials, rms, is an American free software movement activist and programmer. He campaigns for software to be distributed in such a manner that its users have the freedom to ...
of the Free Software Foundation
The Free Software Foundation (FSF) is a 501(c)(3) non-profit organization founded by Richard Stallman on October 4, 1985. The organisation supports the free software movement, with the organization's preference for software being distributed ...
has stated on the similar case of MySQL that he supports dual-licensing of GPL software, as long as there are no proprietary extensions or proprietary versions of the free program, which was not the case for MySQL.
In June 2013, Jonathan Riddell of Kubuntu
Kubuntu ( ) is an official flavor of the Ubuntu operating system that uses the KDE Plasma Desktop Environment instead of the GNOME desktop environment. As part of the Ubuntu project, Kubuntu uses the same underlying systems. Kubuntu shares th ...
announced that Kubuntu did not plan to switch to Mir. He stated "A few months ago Canonical announced their new graphics system for Ubuntu, Mir. It's a shame the Linux desktop market hasn't taken off as we all hoped at the turn of the millennium and they feel the need to follow a more Apple or Android style of approach making an OS which works in isolation rather than as part of a community development method. Here at Kubuntu we still want to work as part of the community development, taking the fine software from KDE and other upstream projects and putting it on computers worldwide. So when Ubuntu desktop gets switched to Mir we won't be following. We'll be staying with X on the images for our 13.10 release now in development and the 14.04 LTS release next year. After that we hope to switch to Wayland which is what KDE and every other Linux distro hopes to do."
In September 2013, an Intel developer removed XMir support from their video driver and wrote "We do not condone or support Canonical in the course of action they have chosen, and will not carry XMir patches upstream."
See also
* List of display servers
This is a list of display servers based on X11, Wayland, Linux framebuffer and other systems.
X11
Wayland
1 A pivotal difference between Android and the other Linux kernel-based operating systems is the C standard library: Android's ...
References
{{Portal bar, Free and open-source software, Linux
Canonical (company)
Display servers
Free software programmed in C++
Ubuntu