Mir 2.1.0 Release

Mir 2.1.0 Release

We are pleased to announce the release of Mir 2.1.0.

For Ubuntu, Mir will shortly be available from the Mir PPAs .

It is also available as a source tarball


This release comprises three main elements:

  1. Improvements to Wayland support
    1.1 zwp_linux_dmabuf_unstable_v1 which provides clients with more rendering options and helps fix rendering on RPi 4
    1.2 wlr_foreign_toplevel_management_unstable_v1 which is needed by some shell components
    1.3 Update support for zwlr_layer_shell_v1to include version 3
  2. Improvements to platform support
    2.1 Mir is working on RPi4
    2.2 A performance problem fixed with our “Mir-on-Wayland” plaform (#1100)
  3. A bunch of fixes for running X11 apps via Xwayland
    3.1 Confined shell (such as egmde-confined-desktop) can now include X11 applications

A special shout out to a new contributer: @knitzsche whose first contribution to Mir addresses a long term request for an option to disable the Short “Ubuntu”-colored flash when mir-kiosk snap starts


ABI summary:

  • miral ABI bumped to 4
  • mirplatform ABI bumped to 20
  • mirplatformgraphics ABI bumped to 18


  • Minimize locking in KeyRepeatDispatcher
  • Unbreak offscreen renderer for EGL versions 1.5+
  • gbm-kms: Support zwp_linux_dmabuf_unstable_v1. (Closes: #1663)
  • performance: do not fail performance tests unless there is no result
  • performance: Add HostedGLMark2Wayland performance tests
  • New mir-wlcs-integration package
  • [Wayland] Report rotated output sizes (a workaround until we correctly support transforms for outputs and surfaces)
  • [Wayland] Implement zwlr_layer_shell_v1 version 3
  • [Wayland] Implement wlr_foreign_toplevel_management_unstable_v1
  • Log SIGHUP and other signals
  • [X11] Create event dispatcher before running server. (Related to #1722 and #1723)
  • [X11] Manage X11 windows that existed before window manager started. (Related to #1722 and #1723)

Bugs fixed:

  • Add --show-splash command line option. (Fixes: #830)
  • Track whether there’s a usable pointing device and hide/show cursor accordingly. (Fixes #594, fixes #1660)
  • Allow GDK to try x11 if wayland fails. (Fixes: #1621)
  • Keep the touchpad FD during suspend/resume. (Fixes: #1612)
  • [input] Don’t lock the repeat dispatcher while repeating events. (Fixes: #1617, #1607)
  • [wayland] don’t send/apply input events after rebuilding state. (Fixes: #1607)
  • [miral-shell] Use key codes, not scan codes to identify keys. (Fixes: #1627)
  • [mir_performance_tests] Kill clients started in regression_test_1563287. (Fixes: #1637)
  • LogindConsoleServices should release control on destruction. (Fixes: #1635 Also fixes at least part of #1631 and #1632)
  • eglstream-kms: Actually save CRTC on startup (Fixes: #1466)
  • [MirAL] Don’t give the supplied Wayland extension filter the choice of supporting extensions that are not optionally supported. (Fixes: #1558)
  • [Wayland] Fix focus issues with popups. (Fixes: #1625)
  • [Wayland] Send wl_touch.up() and wl_keyboard.leave() events when surface destroyed. (Fixes: #1236)
  • [Wayland-platform] Compositing shouldn’t block in eglSwapBuffers(). (Fixes: #1100)
  • [X11] Provide a way for platforms to tweak the Xwayland options and use it for eglstream-kms. (Fixes: #1634)
  • [X11] Better diagnostics when Xwayland can’t be found/executed. (Fixes: #1604)
  • [X11] Respect initial window state. (Fixes #1669)
  • [X11] input platform: ignore key repeats. (Fixes #917)
  • [X11] Process some of the X11 window types and rework the logic to identify parents. (Fixes: #1665)
  • [X11] Handle windows that specify multiple window types. (Fixes: #1250)
  • [X11] Give each XWayland app it’s own session. (Fixes: #479)
  • [X11] Don’t wait for Xwayland to init before starting WM. (Fixes: #1722)

Fedora rawhide

glmark2-es2 runs on X11 on egmde
egmde (snap built with Mir 2.1) supports X11 via Xwayland
egmde runs X11 on the Mir 2.1 “mir-shell desktop”
The “mir-shell desktop” (built on Fedora rawhide) supports X11 via Xwayland

Get egmde from the Snap Store



With the better “confined X11” support in Mir 2.1 and other enhancements I’ve been able to update the egmde-confined desktop snap with a more interesting set of applications.

You can read more about confined desktops here: An example confined user shell

NB This is a preview, the PR to update the snap is currently up for review: https://github.com/MirServer/egmde-confined-desktop/pull/13)

1 Like

I’ve pushed out Mir 2.1.0 to Fedora 33 and Rawhide. It should show up for folks in the next few hours, depending on mirror sync latency.