egmde: a project that uses Mir

Display servers solve a large and complex problem. Mir provides a broad and powerful library to solve those problems, but there is a learning curve to use Mir effectively. It is really helpful to have a step-by-step example that covers enough of the issues to get a decent start.

To address this need there’s a set of blog posts based around the development of “egmde” [Example Mir Desktop Environment]: a very simple shell that can either form the basis of further development or provide a platform for experimentation. Note that egmde is not a complete desktop: the tutorials (and the code in egmde) don’t cover aspects of a desktop environment that are not related to using Mir. Missing functionality includes: integrating into the system for screen locking & suspend, policy kit integration, internationalization, etc.

Egmde uses Mir

Mir simplifies the complexity that shell authors need to deal with. It provides a stable, well tested and performant platform with touch, mouse and tablet input, multi-display capability and secure client-server communications based on Wayland.

Mir deals with the bringup and configuration of a broad array of graphics and input hardware. It abstracts hardware differences away from shell authors (transparently dealing with hardware quirks) and integrates with system components such as greeters.

Egmde accepts the Mir window management defaults and does the minimum needed to show how to build on that. It adds identifying the user’s keymap (from gsettings), painting a desktop background, a simple “launcher” and registering with the greeter to provide an “egmde” desktop session.

Related posts

This is a guest blog by Jody Smith, Product Manager at Broadsign. The world’s increasing demand for quick, personalised service often clashes with budgetary concerns and the limited throughput that individual workers are capable of.…

If you have a problem… if you just need support for one fullscreen application… and, if you can use snaps… maybe you can use… mir-kiosk. Many devices need to provide some sort of graphical output or display (with…

The Mir team is pleased to announce the milestone release of Mir 1.0.0. This is the first major release targeted at IoT device makers and enthusiasts looking to build the next-generation of graphical solutions. Mir is a display server and…