Mir (software)

Last updated

Mir
Original author(s) Canonical Ltd.
Developer(s) Canonical Ltd.
Stable release
2.17.0 / 15 May 2024;5 months ago (2024-05-15) [1]
Repository
Written in C++
Operating system Linux
Type Display server
License GPLv2 or GPLv3 [2]
Website mir-server.io OOjs UI icon edit-ltr-progressive.svg

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; [3] [4] [5] however, the plan changed and Mutter was adopted as part of GNOME Shell.

Contents

Mir was announced by Canonical on 4 March 2013 [6] as part of the development of Unity 8, intended as the next generation for the Unity user interface. [3] Four years later Unity 8 was dropped [7] although Mir's development continued for Internet of Things (IoT) applications.

Software architecture

Mir is built on EGL [8] and uses some of the infrastructure originally developed for Wayland [9] such as Mesa's EGL implementation [8] and Jolla's libhybris. [10] [11] The compatibility layer for X, XMir, is based on XWayland. [12]

Other parts of the infrastructure used by Mir originate from Android. These parts include Google's Protocol Buffers, [13] and previously included Android's input stack, [14] which has since been replaced by Wayland's libinput, prior to the end of 2015. [15] [16] 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". [17] [18]

According to Ryan Paul of Ars Technica,

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). [18]

As of September 2017 it has basic Wayland support. [19]

Adoption

As of May 2014, 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, [20] based on the previous proof-of-concept port of Kodi to Wayland. [21] On the same day Canonical developer Oliver Ries had confirmed that "this is the first native Mir client out in the wild". [22]

Among Ubuntu derivatives using a non-Unity environment, Xubuntu developers had announced in early August 2013 that they would evaluate running Xfce via XMir, [23] but three weeks later decided to refrain from adopting it. [24]

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. [25] Later, on 1 October 2013, 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. [26] [27]

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." [28]

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." [7]

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." [29]

Toolkits

Criticism

In March 2013, Canonical Ltd. announced Mir as the replacement display server for the X.Org Server in Ubuntu. [6] Previously, in 2010, it had announced that it would use Wayland. [37] Canonical stated that it could not meet Ubuntu's needs with Wayland. [18] There were several posts made in objection or clarification, by people leading other similar or affected projects. [38] [39] [40] [41]

When originally announcing Mir, Canonical made various claims about Wayland's input system, which the Wayland developers rebutted. [42] [43] 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." [44] In late 2015 Mir switched from a custom Android-derived input stack to Wayland's libinput. [15] [16]

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." [45] [46] [47] [48] Garrett's concerns were echoed by Bradley M. Kuhn, [49] [50] Executive Director of the Software Freedom Conservancy. [51] 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, [52] 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." [53] [54] [55]

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." [56] [57] [58]

See also

Related Research Articles

<span class="mw-page-title-main">Windowing system</span> Software that manages separately different parts of display screens

In computing, a windowing system is a software suite that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP paradigm for a user interface.

freedesktop.org (fd.o), formerly X Desktop Group (XDG), is a project to work on interoperability and shared base technology for free-software desktop environments for the X Window System (X11) and Wayland on Linux and other Unix-like operating systems. Although freedesktop.org produces specifications for interoperability, it is not a formal standards body.

<span class="mw-page-title-main">Mark Shuttleworth</span> South African entrepreneur and space tourist (born 1973)

Mark Richard Shuttleworth is a South African and British entrepreneur who is the founder and CEO of Canonical, the company behind the development of the Linux-based Ubuntu operating system. In 2002, Shuttleworth became the first African to travel to space, doing so as a space tourist. He lives on the Isle of Man and holds dual citizenship from South Africa and the United Kingdom. According to the Sunday Times Rich List in 2020, Shuttleworth is worth an estimated £500 million.

<span class="mw-page-title-main">Ubuntu</span> Linux distribution developed by Canonical

Ubuntu is a Linux distribution derived from Debian and composed mostly of free and open-source software. Ubuntu is officially released in multiple editions: Desktop, Server, and Core for Internet of things devices and robots. The operating system is developed by the British company Canonical and a community of other developers, under a meritocratic governance model. As of October 2024, the latest interim release is 24.10, with most-recent long-term support release is 24.04.

<span class="mw-page-title-main">Canonical (company)</span> UK-based software company that maintains the Ubuntu OS

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. Canonical employs staff in more than 70 countries and maintains offices in London, Austin, Boston, Shanghai, Beijing, Taipei, Tokyo and the Isle of Man.

<span class="mw-page-title-main">Kubuntu</span> Linux distribution based on Ubuntu, utilizing the KDE desktop environment

Kubuntu is an official flavor of the Ubuntu operating system that uses the KDE Plasma Desktop instead of the GNOME desktop environment. As part of the Ubuntu project, Kubuntu uses the same underlying systems. Kubuntu shares the same repositories as Ubuntu and is released regularly on the same schedule as Ubuntu.

<span class="mw-page-title-main">Xubuntu</span> Linux distribution based on Ubuntu

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 desktop.

<span class="mw-page-title-main">Compiz</span> Compositing window manager for the X Window System

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 loadable plugins. Because it conforms to the ICCCM conventions, Compiz can be used as a substitute for the default Mutter or Metacity, when using GNOME Panel, or KWin in KDE Plasma Workspaces. Internally Compiz uses the OpenGL library as the interface to the graphics hardware.

<span class="mw-page-title-main">Ubuntu version history</span> History of the Ubuntu operating system

Ubuntu releases are made semiannually by Canonical Ltd, its developers, 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 future versions are provisional; if the release is delayed until a different month than planned, the version number will change accordingly.

<span class="mw-page-title-main">Wayland (protocol)</span> Display system intended to replace X11

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, because it additionally performs the task of a compositing window manager.

<span class="mw-page-title-main">Konversation</span> IRC client

Konversation is an Internet Relay Chat (IRC) client built on the KDE Platform and is free software released under the terms of the GNU GPL-2.0-or-later. Konversation is currently maintained in the KDE Extragear Network module, which means that it has its own release cycle which is independent from the main KDE applications. It is the default IRC client in many prominent Linux distributions, such as openSUSE, the KDE spin of Fedora, and Kubuntu.

<span class="mw-page-title-main">Unity (user interface)</span> Graphical user interface for Ubuntu

Unity is a graphical shell for the GNOME desktop environment originally developed by Canonical Ltd. for its Ubuntu operating system. It debuted in 2010 in the netbook edition of Ubuntu 10.10 and was used until Ubuntu 17.10. Since 2017, its development was taken over by the Unity7 Maintainers (Unity7) and UBports.

<span class="mw-page-title-main">LightDM</span> Free, open-source X display manager

LightDM is a free and open-source X display manager that aims to be lightweight, fast, extensible and multi-desktop. It can use various front-ends to draw the user interface, also called Greeters. It also supports Wayland.

<span class="mw-page-title-main">Maliit</span>

Maliit is an input method framework for computers with particular focus on implementing virtual keyboards. Designed mostly for touchscreen devices, Maliit allows the inputting of text without the presence of a physical keyboard. More advanced features such as word correction and prediction are also available.

<span class="mw-page-title-main">Ubuntu Kylin</span> Derivative of the Ubuntu operating system

Ubuntu Kylin is the official Chinese version of the Ubuntu computer operating system. It is intended for desktop and laptop computers, and has been described as a "loose continuation of the Chinese Kylin OS". In 2013, Canonical Ltd. reached an agreement with the Ministry of Industry and Information Technology to co-create and release an Ubuntu-based operating system with features targeted at the Chinese market.

<span class="mw-page-title-main">Ubuntu GNOME</span> Discontinued Linux distribution based on Ubuntu, utilizing the GNOME 3 desktop environment

Ubuntu GNOME is a discontinued Linux distribution, distributed as free and open-source software. It used a pure GNOME 3 desktop environment with GNOME Shell, rather than the Unity graphical shell. Starting with version 13.04 it became an official "flavour" of the Ubuntu operating system.

Besides the Linux distributions designed for general-purpose use on desktops and servers, distributions may be specialized for different purposes including computer architecture support, embedded systems, stability, security, localization to a specific region or language, targeting of specific user groups, support for real-time applications, or commitment to a given desktop environment. Furthermore, some distributions deliberately include only free software. As of 2015, over four hundred Linux distributions are actively developed, with about a dozen distributions being most popular for general-purpose use.

<span class="mw-page-title-main">Snap (software)</span> Software deployment system for Linux by Canonical

Snap is a software packaging and deployment system developed by Canonical for operating systems that use the Linux kernel and the systemd init system. The packages, called snaps, and the tool for using them, snapd, work across a range of Linux distributions and allow upstream software developers to distribute their applications directly to users. Snaps are self-contained applications running in a sandbox with mediated access to the host system. Snap was originally released for cloud applications but was later ported to also work for Internet of Things devices and desktop applications.

<span class="mw-page-title-main">Windows Subsystem for Linux</span> Compatibility layer for running Linux binary executables natively on Windows

Windows Subsystem for Linux (WSL) is a feature of Microsoft Windows that allows developers to run a Linux environment without the need for a separate virtual machine or dual booting. There are two versions of WSL: WSL 1 and WSL 2. WSL is not available to all Windows 10 users by default. It can be installed either by joining the Windows Insider program or manually via Microsoft Store or Winget.

Ubuntu is a Debian-based Linux distribution for personal computers, tablets and smartphones, where the Ubuntu Touch edition is used; and also runs network servers, usually with the Ubuntu Server edition, either on physical or virtual servers or with containers, that is with enterprise-class features.

References

  1. "Mir - Releases". GitHub . Retrieved 20 June 2024.
  2. Larabel, Michael (9 August 2017). "Mir Relicensed To GPLv2 Or GPLv3". Phoronix . Retrieved 21 November 2017.
  3. 1 2 "MirSpec". wiki.ubuntu.com. Retrieved 6 March 2013.
  4. "Canonical reveals plans to launch Mir display server – Update". H-online.com. 24 February 2013. Archived from the original on 6 March 2013. Retrieved 6 March 2013.
  5. Brodkin, Jon (17 May 2012). "Ubuntu dumps X window system, creates replacement for PC and mobile". Ars Technica. Retrieved 6 March 2013.
  6. 1 2 "Canonical announces Mir, a custom display server that will serve up future versions of Unity". engadget.com. 4 March 2013.
  7. 1 2 "Ubuntu Unity is dead: Desktop will switch back to GNOME next year". arstechnica.com. 5 April 2017. Retrieved 5 April 2017.
  8. 1 2 "Canonical announced a new display server – Mir, and it is good for the consumer". Geek.co.il. 12 March 2013. Retrieved 23 August 2013.
  9. Christopher Halse Rogers. "Tomorrow Comes Today: Mir and YOU!". Archived from the original on 23 March 2013. Retrieved 23 August 2013.
  10. Carsten Munk (11 April 2013). "Wayland utilizing Android GPU drivers on glibc based systems, Part 1". Mer Project. Retrieved 3 July 2013.
  11. "libhybris in Launchpad". Launchpad.net. 5 February 2013. Retrieved 3 July 2013.
  12. Thomas Voss (4 March 2013). "Mir – An outpost envisioned as a new home" . Retrieved 23 August 2013.
  13. Christopher Halse Rogers (18 March 2013). "Tomorrow Comes Today: Artistic differences" . Retrieved 27 February 2023.
  14. "android-input README". Launchpad.net.
  15. 1 2 "Mir 0.18 Release Brings Prep Work For Vulkan, Libinput By Default". Phoronix.
  16. 1 2 "New Mir Release (0.18)". Maker Musings. Archived from the original on 25 June 2016. Retrieved 22 April 2016.
  17. Christopher Halse Rogers. "Tomorrow Comes Today: Server Allocated Buffers in Mir". Archived from the original on 6 November 2013. Retrieved 23 August 2013.
  18. 1 2 3 Paul, Ryan (17 October 2013). "Ubuntu 13.10 review: The Linux OS of the future remains a year away". Ars Technica. Retrieved 2 November 2013.
  19. "Mir Now Has Initial Support For Wayland Clients". Phoronix . 18 September 2017. Retrieved 28 September 2017.
  20. Sam Spilsbury (23 July 2013). "XBMC on Mir" . Retrieved 23 August 2013.
  21. Sam Spilsbury (27 February 2013). ""Hello" from XBMC on Wayland" . Retrieved 13 September 2013.
  22. Oliver Ries. "Sam Spilsbury is still the man". Google+. Retrieved 23 August 2013.
  23. "XMir-Based Xubuntu Images Now Available". Phoronix.com. 6 August 2013. Retrieved 23 August 2013.
  24. "Xfce-Based Xubuntu Will Not Ship XMir For 13.10". Phoronix.com. Retrieved 23 August 2013.
  25. "Ubuntu graphic stack roadmap update". Lists.ubuntu.com. 26 June 2013. Retrieved 17 July 2013.
  26. "Ubuntu 13.10 Desktop Will Not Use XMir By Default". Phoronix.com. Retrieved 4 October 2013.
  27. "XMir update for Ubuntu 13.10". Fridge.ubuntu.com. 30 September 2013. Retrieved 4 October 2013.
  28. Shuttleworth, Mark. "Mark Shuttleworth's Q&A". Youtube. Retrieved 20 May 2016.
  29. Shuttleworth, Mark (8 April 2017). "Unity8". Google Plus . Retrieved 8 April 2017.
  30. "Announcing SDL 2.0.2". 8 March 2014. Archived from the original on 7 December 2018. Retrieved 16 March 2014.
  31. Sneddon, Joey-Elijah (5 February 2014). "Some of Linux's Most Popular Games Will Run Natively on Mir" . Retrieved 19 March 2014.
  32. "SDL 2.0.4 Was Quietly Released Last Week With Wayland & Mir By Default". Phoronix.
  33. "Sdl 2.0.10 released!". Simple Directmedia Layer. 25 July 2019. Retrieved 8 December 2019.
  34. Clasen, Matthias (22 March 2015). "GTK+ 3.16.0 released" . Retrieved 10 June 2015.
  35. "GTK4 Ejects The Mir Backend & Drops The Big GDK Lock - Phoronix". phoronix.com. Retrieved 9 May 2021.
  36. Canonical Ltd (11 September 2015). "Ubuntu SDK" . Retrieved 11 September 2015.
  37. Shuttleworth, Mark (4 November 2010). "Unity on Wayland" . Retrieved 16 July 2013.
  38. Grässlin, Martin (8 March 2013). "War is Peace" . Retrieved 16 July 2013.
  39. Edmundson, David (12 March 2013). "KDE, LightDM and the Mir Kerfuffle". Archived from the original on 18 May 2013. Retrieved 16 July 2013.
  40. Larabel, Michael (13 March 2013). "GNOME Will Move Full-Speed With Wayland Support". Phoronix . Retrieved 16 July 2013.
  41. Grässlin, Martin (12 May 2013). "Mir in Kubuntu" . Retrieved 16 July 2013.
  42. Larabel, Michael (4 March 2013). "Upstream X/Wayland Developers Bash Canonical, Mir". Phoronix . Retrieved 16 July 2013.
  43. Larabel, Michael (5 March 2013). "A Note To Canonical: "Don't Piss on Wayland"". Phoronix . Retrieved 16 July 2013.
  44. Canonical Ltd (7 January 2014). "Mir Spec – Why Not Wayland / Weston?" . Retrieved 15 March 2014.
  45. Garrett, Matthew (19 June 2013). "Mir, the Canonical CLA and skewing the playing field". Dreamwidth . Retrieved 16 July 2013.
  46. "Mir's GPLv3 License Is Now Raising Concerns". Phoronix. 19 June 2013. Retrieved 23 September 2013.
  47. "Die Woche: Canonical wiederholt Fehler". heise open (in German). Heise.de. Archived from the original on 7 June 2016. Retrieved 23 September 2013.
  48. "Intel entfernt Mir-Unterstützung" (in German). Pro-Linux.de. Retrieved 23 September 2013.
  49. Bradley M. Kuhn (23 June 2013). "Matthew Garrett on Mir". Ebb.org. Retrieved 23 September 2013.
  50. Bradley M. Kuhn. "Project Harmony (and "Next Generation Contributor Agreements") Considered Harmful". Ebb.org. Retrieved 23 September 2013.
  51. "Software Freedom Conservancy Appoints Full-Time Executive Director". 4 October 2010.
  52. Richard Stallman (7 January 2010). "On Selling Exceptions to the GNU GPL". Free Software Foundation.
  53. "Kubuntu Won't be Switching to Mir or XMir". KDE. Retrieved 23 September 2013.
  54. Bodnar, Ladislav (1 July 2013). "Miscellaneous News". DistroWatch . Retrieved 7 July 2013.
  55. "Kubuntu plans to steer clear of Mir and switch to Wayland". H-online.com. 27 June 2013. Archived from the original on 29 June 2013. Retrieved 23 September 2013.
  56. Intel (7 September 2013). "xf86-video-intel 2.99.902 snapshot". Chris Wilson. Retrieved 8 September 2013.
  57. Michael Larabel (7 September 2013). "Intel Reverts Plans, Will Not Support Ubuntu's XMir". Phoronix. Retrieved 8 September 2013.
  58. Brodkin, Jon (9 September 2013). "Intel rejection of Ubuntu's Mir patch forces Canonical to go own way". Ars Technica . Retrieved 3 November 2013.