Release 2.5.0

We’ve been working to enable a couple of important client stacks. That means we’ve updated our support for some existing Wayland protocol extensions and implemented some new protocol extensions. The clients stacks are: onscreen keyboards and Electron Wayland:

Onscreen keyboards

Onscreen keyboards require support for more (or newer) Wayland extensions than were available with Mir prior to 2.5:

  • Bump wlr_layer_shell_unstable_v1 version from 3 to 4
  • Add zwp_virtual_keyboard_v1
  • Add zwp_text_input_v3 & zwp_input_method_v2

As zwp_virtual_keyboard_v1 and zwp_input_method_v2 could be used by malicious clients to intercept keys events or take actions without user input they are disabled by default. Mir provides configuration options to allow them to be enabled for all clients, or enabled for specific clients by a shell written using Mir.

Building on Mir 2.5 this there’s work in progress to add an onscreen keyboard to Ubuntu Frame

Electron Wayland

@ogra started a thread about using Electron’s with Ubuntu Frame:


ABI summary:

  • mirclient dropped
  • mirprotobuf dropped
  • mircommon ABI bumped to 8
  • mirplatform ABI bumped to 23
  • mirserver ABI bumped to 56
  • mirwayland ABI bumped to 3
  • mirplatformgraphics ABI bumped to 19


  • [Wayland] Bump wlr_layer_shell_unstable_v1 version from 3 to 4
  • [Wayland] Add focus_mode surface property for Layer Shell
  • [Wayland] Add zwp_virtual_keyboard_v1 (closes #2063)
  • [Wayland] Add zwp_text_input_v3 & zwp_input_method_v2 (closes #2139)
  • [Wayland] Allow zwp_linux_buffer_params_v1.add() with DRM_FORMAT_MOD_INVALID (Fixes #2177)
  • [Wayland] Add axis source to pointer events (Fixes #2180)
  • [Wayland-platform] Don’t block forever in swap_buffers
  • Drop mirclient, dependencies on Cap’n Proto & protobuf

Bugs fixed:

  • Mir crash when surface and role destroyed in wrong order (Fixes #2055)
  • Make GTK’s approach to hiding cursors work on Mir (Fixes #2073)
  • [input] Handle exceptions while handling udev events
  • [input] Fix InputDeviceHub threadsafety
  • [Xwayland] Improve popup window types and positioning (Fixes #2037)
  • [Xwayland] Use SurfaceStateTracker to track window state (Fixes #1217)
1 Like

Following the above release, some administration and sanity checking…

Ubuntu debs

For Ubuntu, Mir 2.5.0 is available from the Mir PPAs .

Snaps using Mir

The various snaps that make use of Mir have Mir 2.5.0 available on their respective beta channels:

Where appropriate, progress from beta through candidate to stable will take a week if testing fails to identify problems, longer if problems need to be resolved.

Source tarball

Mir 2.5.0 is also available as a source tarball .