Mir (software)

{{short description|Display server software}}

{{About|the *NIX display server|the MMORPG|The Legend of Mir (disambiguation){{!}}The Legend of Mir}}

{{Use dmy dates|date=December 2019}}

{{Use British English|date=March 2023}}

{{Infobox software

| name = Mir

| logo =

| screenshot =

| caption =

| author = Canonical Ltd.

| developer = Canonical Ltd.

| released =

| discontinued =

| latest release version = 2.19.3

| latest release date = {{Start date and age|2025|01|20|df=yes}}{{cite web|url=https://github.com/MirServer/mir/releases|title=Mir - Releases|website=GitHub |access-date=16 February 2025}}

| latest preview version =

| latest preview date =

| programming language = C++

| operating system = Linux

| platform =

| size =

| genre = Display server

| license = GPLv2 or GPLv3{{cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=Mir-GPLv2-or-GPLv3|title=Mir Relicensed To GPLv2 Or GPLv3|last=Larabel|first=Michael|date=9 August 2017|work=Phoronix|access-date=21 November 2017}}

| website = {{Official URL}}

}}

Mir is a computer display server and, recently, a Wayland compositor for the Linux operating system that is under development by Canonical Ltd. It was planned to replace the currently used X Window System for Ubuntu;{{cite web|url=https://wiki.ubuntu.com/MirSpec|title=MirSpec|publisher=wiki.ubuntu.com|access-date=6 March 2013}}{{cite web|url=http://www.h-online.com/open/news/item/Canonical-reveals-plans-to-launch-Mir-display-server-Update-1815982.html|archive-url=https://web.archive.org/web/20130306011841/http://www.h-online.com/open/news/item/Canonical-reveals-plans-to-launch-Mir-display-server-Update-1815982.html|archive-date=6 March 2013|title=Canonical reveals plans to launch Mir display server – Update|publisher=H-online.com|date=24 February 2013|access-date=6 March 2013}}{{cite web|last=Brodkin|first=Jon|url=https://arstechnica.com/information-technology/2013/03/ubuntu-dumps-x-window-system-creates-replacement-for-pc-and-mobile/|title=Ubuntu dumps X window system, creates replacement for PC and mobile|publisher=Ars Technica|date=17 May 2012|access-date=6 March 2013}} however, the plan changed and Mutter was adopted as part of GNOME Shell.

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{{cite web|url=https://arstechnica.com/information-technology/2017/04/ubuntu-unity-is-dead-desktop-will-switch-back-to-gnome-next-year/|title=Ubuntu Unity is dead: Desktop will switch back to GNOME next year|work=arstechnica.com|date=5 April 2017 |access-date=5 April 2017}} although Mir's development continued for Internet of Things (IoT) applications.

Software architecture

Mir is built on EGL{{cite web |url = http://geek.co.il/2013/03/12/canonical-announced-a-new-display-server-mir-and-it-is-good-for-the-consumer |title = Canonical announced a new display server – Mir, and it is good for the consumer |publisher = Geek.co.il |date = 12 March 2013 |access-date = 23 August 2013 }} and uses some of the infrastructure originally developed for Wayland{{cite web |url = http://blog.cooperteam.net/2013/03/mir-and-you.html |title = Tomorrow Comes Today: Mir and YOU! |author = Christopher Halse Rogers |access-date = 23 August 2013 |archive-url = https://web.archive.org/web/20130323144343/http://blog.cooperteam.net/2013/03/mir-and-you.html |archive-date = 23 March 2013 |url-status = dead }} such as Mesa's EGL implementation and Jolla's libhybris.{{cite web |author = Carsten Munk |url = http://mer-project.blogspot.com/2013/04/wayland-utilizing-android-gpu-drivers.html |title = Wayland utilizing Android GPU drivers on glibc based systems, Part 1 |publisher = Mer Project |date = 11 April 2013 |access-date = 3 July 2013 }}{{cite web |url = https://launchpad.net/libhybris |title = libhybris in Launchpad |publisher = Launchpad.net |date = 5 February 2013 |access-date = 3 July 2013 }} The compatibility layer for X, XMir, is based on XWayland.{{cite web |url = https://samohtv.wordpress.com/2013/03/04/mir-an-outpost-envisioned-as-a-new-home/ |title = Mir – An outpost envisioned as a new home |author = Thomas Voss |date = 4 March 2013 |access-date = 23 August 2013 }}

Other parts of the infrastructure used by Mir originate from Android. These parts include Google's Protocol Buffers,{{cite web |url = https://blog.cooperteam.net/2013/03/18/artistic-differences/ |title = Tomorrow Comes Today: Artistic differences |author = Christopher Halse Rogers |date = 18 March 2013 |access-date = 27 February 2023 }} and previously included Android's input stack,{{cite web |url = http://bazaar.launchpad.net/~mir-team/mir/trunk/view/head:/3rd_party/android-input/README |title = android-input README |publisher = Launchpad.net }} which has since been replaced by Wayland's libinput, prior to the end of 2015. An implementation detail in memory management 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".{{cite web |url = http://blog.cooperteam.net/2013/03/server-allocated-buffers-in-mir.html |title = Tomorrow Comes Today: Server Allocated Buffers in Mir |author = Christopher Halse Rogers |access-date = 23 August 2013 |archive-url = https://web.archive.org/web/20131106130925/http://blog.cooperteam.net/2013/03/server-allocated-buffers-in-mir.html |archive-date = 6 November 2013 |url-status = dead }}

According to Ryan Paul of Ars Technica,

{{blockquote|Some of the benefits that Mir will eventually offer include lower overhead in the display pipeline, more seamless transitions between display modes during the boot process, richer input handling that will make it easier to support things like touchscreen gestures, more seamless support for systems with switchable graphics hardware (like laptops that can dynamically shift between using embedded and discrete graphics), and better application interchange (which will help improve things like the clipboard and drag-and-drop).{{cite web |url = https://arstechnica.com/information-technology/2013/10/ubuntu-13-10-review-the-linux-os-of-the-future-remains-a-year-away/ |title = Ubuntu 13.10 review: The Linux OS of the future remains a year away |website = Ars Technica |first = Ryan |last = Paul |date = 17 October 2013 |access-date = 2 November 2013 }}}}

{{As of|September 2017}} it has basic Wayland support.{{cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=Mir-Wayland-Clients-Lands|title=Mir Now Has Initial Support For Wayland Clients|date=18 September 2017|work=Phoronix|access-date=28 September 2017}}

Adoption

{{As of|2014|05}}, the only announced desktop environment with native support for Mir was Canonical's Unity 8. No other Linux distribution announced plans to adopt Mir as default display server.

On 23 July 2013, Compiz developer Sam Spilsbury had announced a proof-of-concept port of Kodi to Mir,{{cite web |url = https://smspillaz.wordpress.com/2013/07/23/xbmc-on-mir/ |title = XBMC on Mir |author = Sam Spilsbury |date = 23 July 2013 |access-date = 23 August 2013 }} based on the previous proof-of-concept port of Kodi to Wayland.{{cite web |url = http://smspillaz.wordpress.com/2013/02/27/hello-from-xbmc-on-wayland/ |title = "Hello" from XBMC on Wayland |author = Sam Spilsbury |date = 27 February 2013 |access-date = 13 September 2013 }} On the same day Canonical developer Oliver Ries had confirmed that "this is the first native Mir client out in the wild".{{cite web|url=https://plus.google.com/u/0/117745549829232162250/posts/EM2TCVDvhsP |title=Sam Spilsbury is still the man|author=Oliver Ries|publisher=Google+|access-date=23 August 2013}}

Among Ubuntu derivatives using a non-Unity environment, Xubuntu developers had announced in early August 2013 that they would evaluate running Xfce via XMir,{{cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=MTQyOTQ|title=XMir-Based Xubuntu Images Now Available|publisher=Phoronix.com|date=6 August 2013|access-date=23 August 2013}} but three weeks later decided to refrain from adopting it.{{cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=MTQ0MjU|title=Xfce-Based Xubuntu Will Not Ship XMir For 13.10|publisher=Phoronix.com|access-date=23 August 2013}}

= 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, and Unity 8 running natively on Mir by Ubuntu 14.10.{{cite web|url=https://lists.ubuntu.com/archives/ubuntu-devel/2013-June/037401.html|title=Ubuntu graphic stack roadmap update|publisher=Lists.ubuntu.com|date=26 June 2013|access-date=17 July 2013}} Later, on {{dts|2013|10|1|format=dmy}}, Canonical announced a postponement of their Mir plans for desktop use and not use XMir as default in Ubuntu 13.10. Ubuntu Touch, however is targeted to ship with Mir and a smartphone version of Unity 8.{{cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=MTQ3NDQ|title=Ubuntu 13.10 Desktop Will Not Use XMir By Default|publisher=Phoronix.com|access-date=4 October 2013}}{{cite web|url=http://fridge.ubuntu.com/2013/10/01/xmir-update-for-ubuntu-13-10/|title=XMir update for Ubuntu 13.10|publisher=Fridge.ubuntu.com|date=30 September 2013|access-date=4 October 2013}}

In May 2016, during his traditional video interview with the community held during the Ubuntu Online Summit, Mark Shuttleworth 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."{{cite web|url=https://www.youtube.com/watch?v=c_5WArtEFaU|title=Mark Shuttleworth's Q&A|website=Youtube|last1=Shuttleworth|first1=Mark|access-date=20 May 2016}}

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. 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."{{r|AUTO}}

However, Mark Shuttleworth clarified on 8 April 2017 that development would continue for Mir's use in Internet of Things (IoT) applications, stating: "we have lots of IoT projects using Mir as a compositor so that code continues to receive investment."{{cite web|url = https://plus.google.com/+MarkShuttleworthCanonical/posts/7LYubpaHUHH|title = Unity8 |access-date = 8 April 2017|last = Shuttleworth|first = Mark|work = Google Plus|date = 8 April 2017}}

= Toolkits =

  • SDL supported both Mir and Wayland starting with SDL 2.0.2 but it was disabled by default.{{cite web |url = http://lists.libsdl.org/pipermail/sdl-libsdl.org/2014-March/093652.html |title = Announcing SDL 2.0.2 |date = 8 March 2014 |access-date = 16 March 2014 |archive-date = 7 December 2018 |archive-url = https://web.archive.org/web/20181207160208/http://lists.libsdl.org/pipermail/sdl-libsdl.org/2014-March/093652.html |url-status = dead }}{{cite web |url = http://www.omgubuntu.co.uk/2014/02/mir-sdl-support |title = Some of Linux's Most Popular Games Will Run Natively on Mir |first = Joey-Elijah |last = Sneddon |date = 5 February 2014 |access-date = 19 March 2014 }} Wayland and Mir support was enabled by default starting with SDL 2.0.4.{{cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=SDL-2.0.4-Released|title=SDL 2.0.4 Was Quietly Released Last Week With Wayland & Mir By Default| publisher= Phoronix}} With the release of 2.0.10, Mir support was dropped in favor of Wayland.{{Cite web|url=https://discourse.libsdl.org/t/sdl-2-0-10-released/26429|title=Sdl 2.0.10 released!|date=25 July 2019|access-date=8 December 2019|website=Simple Directmedia Layer}}
  • GTK 3.16 included an experimental Mir backend,{{cite web|url=https://mail.gnome.org/archives/gnome-announce-list/2015-March/msg00029.html|title=GTK+ 3.16.0 released|first=Matthias|last=Clasen|date=22 March 2015|access-date=10 June 2015}} but was removed in GTK 4.{{Cite web|title=GTK4 Ejects The Mir Backend & Drops The Big GDK Lock - Phoronix|url=https://phoronix.com/scan.php?page=news_item&px=GTK4-Drops-Mir-Backend|access-date=2021-05-09|website=phoronix.com}}
  • Qt5 is the official and supported toolkit for Unity8 and Ubuntu Touch, included in the Ubuntu SDK.{{cite web|url=http://developer.ubuntu.com/|title=Ubuntu SDK |author=Canonical Ltd|date=11 September 2015|access-date=11 September 2015}}

Criticism

In March 2013, Canonical Ltd. announced Mir as the replacement display server for the X.Org Server in Ubuntu.{{cite web |url = https://www.engadget.com/2013/03/04/canonical-announces-mir/ |title = Canonical announces Mir, a custom display server that will serve up future versions of Unity |publisher = engadget.com |date = 4 March 2013 }} Previously, in 2010, it had announced that it would use Wayland.{{cite web |url = http://www.markshuttleworth.com/archives/551 |title = Unity on Wayland |last = Shuttleworth |first = Mark |author-link = Mark Shuttleworth |date = 4 November 2010 |access-date = 16 July 2013 }} 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.{{cite web |url = http://blog.martin-graesslin.com/blog/2013/03/war-is-peace/ |title = War is Peace |last = Grässlin |first = Martin |date = 8 March 2013 |access-date = 16 July 2013 }}{{cite web|url=http://www.sharpley.org.uk/blog/lightdm-mir-wayland |title=KDE, LightDM and the Mir Kerfuffle |last=Edmundson |first=David |date=12 March 2013 |access-date=16 July 2013 |url-status=dead |archive-url=https://web.archive.org/web/20130518151403/http://www.sharpley.org.uk/blog/lightdm-mir-wayland |archive-date=18 May 2013 }}{{cite web |url = https://www.phoronix.com/scan.php?page=news_item&px=MTMyNjQ |title = GNOME Will Move Full-Speed With Wayland Support |last = Larabel |first = Michael |author-link = Michael Larabel |date = 13 March 2013 |publisher = Phoronix |access-date = 16 July 2013 }}{{cite web |url = http://blog.martin-graesslin.com/blog/2013/05/mir-in-kubuntu/ |title = Mir in Kubuntu |last = Grässlin |first = Martin |date = 12 May 2013 |access-date = 16 July 2013 }}

When originally announcing Mir, Canonical made various claims about Wayland's input system, which the Wayland developers rebutted.{{cite web |url = https://www.phoronix.com/scan.php?page=news_item&px=MTMxNzY |title = Upstream X/Wayland Developers Bash Canonical, Mir |last = Larabel |first = Michael |author-link = Michael Larabel |date = 4 March 2013 |publisher = Phoronix |access-date = 16 July 2013 }}{{cite web |url = https://www.phoronix.com/scan.php?page=news_item&px=MTMxODA |title = A Note To Canonical: "Don't Piss on Wayland" |last = Larabel |first = Michael |author-link = Michael Larabel |date = 5 March 2013 |publisher = Phoronix |access-date = 16 July 2013 }} 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) 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."{{cite web |url = https://wiki.ubuntu.com/Mir/Spec#Why_Not_Wayland_.2BAC8_Weston.3F |title = Mir Spec – Why Not Wayland / Weston? |access-date = 15 March 2014 |last = Canonical Ltd |author-link = Canonical Ltd |date = 7 January 2014 }} In late 2015 Mir switched from a custom Android-derived input stack to Wayland's libinput.{{cite web|url=http://phoronix.com/scan.php?page=news_item&px=Mir-0.18-Released|title=Mir 0.18 Release Brings Prep Work For Vulkan, Libinput By Default |publisher= Phoronix}}{{cite web|url=http://kdubois.net/?p=2032|title=New Mir Release (0.18)|work=Maker Musings|access-date=22 April 2016|archive-date=25 June 2016|archive-url=https://web.archive.org/web/20160625095513/http://kdubois.net/?p=2032|url-status=dead}}

Long-time Linux kernel developer Matthew Garrett criticized the choice of licensing for Canonical's software projects, particularly Mir. Unlike X.Org Server and Wayland, both under the MIT License, Mir is licensed under GPLv3 – "an odd [choice]" 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."{{cite web |url = http://mjg59.dreamwidth.org/25376.html |title = Mir, the Canonical CLA and skewing the playing field |last = Garrett |first = Matthew |date = 19 June 2013 |publisher = Dreamwidth |access-date = 16 July 2013 }}{{cite web |url = https://www.phoronix.com/scan.php?page=news_item&px=MTM5MjI |title = Mir's GPLv3 License Is Now Raising Concerns |publisher = Phoronix |date = 19 June 2013 |access-date = 23 September 2013 }}{{cite news |url = http://www.heise.de/open/artikel/Die-Woche-Canonical-wiederholt-Fehler-1920097.html |title = Die Woche: Canonical wiederholt Fehler |work = heise open |publisher = Heise.de |language = de |access-date = 23 September 2013 |archive-date = 7 June 2016 |archive-url = https://web.archive.org/web/20160607151128/http://www.heise.de/open/artikel/Die-Woche-Canonical-wiederholt-Fehler-1920097.html |url-status = dead }}{{cite news |url = http://www.pro-linux.de/news/1/20222/intel-entfernt-mir-unterstuetzung.html |title = Intel entfernt Mir-Unterstützung |publisher = Pro-Linux.de |language = de |access-date = 23 September 2013 }} Garrett's concerns were echoed by Bradley M. Kuhn,{{cite web |url = http://ebb.org/bkuhn/blog/2013/06/23/mjg-canonical.html |title = Matthew Garrett on Mir |author = Bradley M. Kuhn |publisher = Ebb.org |date = 23 June 2013 |access-date = 23 September 2013 }}{{cite web |url = http://ebb.org/bkuhn/blog/2011/07/07/harmony-harmful.html |title = Project Harmony (and "Next Generation Contributor Agreements") Considered Harmful |author = Bradley M. Kuhn |publisher = Ebb.org |access-date = 23 September 2013 }} Executive Director of the Software Freedom Conservancy.{{cite web |url = http://sfconservancy.org/news/2010/oct/04/kuhn-executive-director/ |title = Software Freedom Conservancy Appoints Full-Time Executive Director |date = 4 October 2010 }}

Richard Stallman of the Free Software Foundation 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,{{cite web |url = http://www.fsf.org/blogs/rms/selling-exceptions |title = On Selling Exceptions to the GNU GPL |date = 7 January 2010 |author = Richard Stallman |publisher = Free Software Foundation }} which was not the case for MySQL.

In June 2013, Jonathan Riddell of Kubuntu 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."{{cite web |url = https://blogs.kde.org/2013/06/26/kubuntu-wont-be-switching-mir-or-xmir |title = Kubuntu Won't be Switching to Mir or XMir |publisher = KDE |access-date = 23 September 2013 }}{{cite web |url = http://distrowatch.com/weekly.php?issue=20130701#news |title = Miscellaneous News |last = Bodnar |first = Ladislav |date = 1 July 2013 |work = DistroWatch |access-date = 7 July 2013 }}{{cite web |url = http://www.h-online.com/open/news/item/Kubuntu-plans-to-steer-clear-of-Mir-and-switch-to-Wayland-1897942.html |archive-url = https://web.archive.org/web/20130629223624/http://www.h-online.com/open/news/item/Kubuntu-plans-to-steer-clear-of-Mir-and-switch-to-Wayland-1897942.html |archive-date = 29 June 2013 |title = Kubuntu plans to steer clear of Mir and switch to Wayland |publisher = H-online.com |date = 27 June 2013 |access-date = 23 September 2013 }}

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."{{cite web |author = Intel |url = http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/commit/?id=58a7611 |title = xf86-video-intel 2.99.902 snapshot |publisher = Chris Wilson |date = 7 September 2013 |access-date = 8 September 2013 }}{{cite web |author = Michael Larabel |url = https://www.phoronix.com/scan.php?page=news_item&px=MTQ1NjY |title = Intel Reverts Plans, Will Not Support Ubuntu's XMir |publisher = Phoronix |date = 7 September 2013 |access-date = 8 September 2013 }}{{cite web |url = https://arstechnica.com/information-technology/2013/09/intel-rejection-of-ubuntus-mir-patch-forces-canonical-to-go-own-way/ |title = Intel rejection of Ubuntu's Mir patch forces Canonical to go own way |website = Ars Technica |first = Jon |last = Brodkin |date = 9 September 2013 |access-date = 3 November 2013 }}

See also

References

{{Reflist|30em}}

{{Ubuntu}}

{{Linux}}

{{Portal bar|Free and open-source software|Linux}}

Category:Canonical (company)

Category:Display servers

Category:Free software programmed in C++

Category:Ubuntu