Mir Release 2.3.2

Mir 2.3.2 Release

We are pleased to announce the release of Mir 2.3.2.

For Ubuntu, Mir is available from the Mir PPAs .

It is also available as a source tarball .

Summary

This release is focused on improving the desktop experience and particularly working with X11 based applications. This includes basic cut & paste now working for X11 based application and HiDPI support for X11 applications.

Changelog

ABI summary:

  • mirinputplatform ABI bumped to 8
  • mirwayland ABI bumped to 2

Enhancements:

  • First pass at copy/paste between Wayland and XWayland
  • Hint to Firefox that it should use Wayland when launched by miral
  • [Error handling] Report information from nested exceptions
  • Use standard key repeat values
  • [platforms] Enable linux-dmabuf on X11 and Wayland platforms
  • [platforms/linux-dmabuf] Support the full range of driver-exposed formats
  • [platforms/gbm-kms] Don’t warn about being unable to find the current mode of disconnected outputs
  • [platforms/gbm-kms] Log exceptions in probe better
  • [miral] Document miral::Window
  • [miral] Document miral::display_configuration_options()
  • [miral-kiosk] Allow wayland extensions to be configured in kiosks (and enable pointer confinement by default)
  • [Wayland] Enable xdg_output_unstable_v1 by default
  • [Mir-on-X] Improve HiDPI support for XWayland
  • [mir-shell] Improve launching of GNOME Terminal.

Bugs fixed:

  • Print help text to stdout instead of stderr. (Fixes #1043)
  • [Wayland] Send sub-pixel input events to clients (Fixes: #1814, #1828)
  • [miral] Clamp window resize to min/max. (Fixes #1821)
  • [miral] Shrink initially maximized windows on restore. (Fixes #1817)
  • [Wayland] Better help message when WAYLAND_DISPLAY in use. (Fixes: #1851)
  • [platforms] Disable natural scrolling on the X11 and libinput platforms. (Fixes #1813)
  • [miral-app] Use mktemp instead of deprecated tempfile (Fixes #1924)

A note about using Nvidia

During testing of this release we noticed that one of our example servers (miral-shell) doesn’t work correctly on the Nvidia stack on Ubuntu 21.04. We tracked that down to a change in eglwayland.

This issue doesn’t affect any other servers we are aware of, our other examples and egmde are unaffected.

3 Likes

Using the HiDPI support

There’s currently no utility to manage the HiDPI support for Mir servers, so here is an example of setting it:

  1. Install the mir examples
    sudo apt install mir-demos mir-graphics-drivers-desktop

  2. Switch to a VT
    Ctrl-Alt-F4

  3. Start up miral-shell, capturing the log
    miral-shell &> miral-shell.log

  4. Exit miral-shell
    Ctrl-Alt-BkSp

  5. Extract your machine’s display configuration from the log. E.g.

layouts:
# keys here are layout labels (used for atomically switching between them)
# when enabling displays, surfaces should be matched in reverse recency order

  default:                         # the default layout

    cards:
    # a list of cards (currently matched by card-id)

    - card-id: 0
      eDP-1:
        # This output supports the following modes: 2560x1440@60.0
        #
        # Uncomment the following to enforce the selected configuration.
        # Or amend as desired.
        #
        # state: enabled        # {enabled, disabled}, defaults to enabled
        # mode: 2560x1440@60.0  # Defaults to preferred mode
        # position: [0, 0]      # Defaults to [0, 0]
        # orientation: normal   # {normal, left, right, inverted}, defaults to normal
        # scale: 1
        # group: 0      # Outputs with the same non-zero value are treated as a single display

      DisplayPort-1:
        # (disconnected)

      HDMI-A-1:
        # (disconnected)

      DisplayPort-2:
        # (disconnected)
  1. Paste this into ~/.config/miral-shell.display, uncomment “scale” and change it to 2

  2. Create a ~/.config/miral-shell.config as follows:

echo x11-scale=2 >> ~/.config/miral-shell.config`
echo display-config=static=/home/$USER/.config/miral-shell.display >> ~/.config/miral-shell.config
echo app-env=GDK_BACKEND=wayland,x11:QT_QPA_PLATFORM=wayland:SDL_VIDEODRIVER=wayland:-QT_QPA_PLATFORMTHEME:NO_AT_BRIDGE=1:QT_ACCESSIBILITY:QT_LINUX_ACCESSIBILITY_ALWAYS_ON:MOZ_ENABLE_WAYLAND=1:_JAVA_AWT_WM_NONREPARENTING=1:-GTK_MODULES:-OOO_FORCE_DESKTOP:-GNOME_ACCESSIBILITY:GDK_SCALE=2 >> ~/.config/miral-shell.config

Now when you login to “Mir shell” you will be running all applications (both Wayland and X11 at scale 2).

2 Likes

I’ve pushed out Mir 2.3.2 to Fedora 33, 34 and Rawhide. It should show up in the next day or so, depending on mirror sync latency.

1 Like