Provide a preview Unity 8 on Mir session for Ubuntu 13.10 for evaluation and testing.


The Ubuntu convergence story has one single Unity running on all for factors (phone, table, TV, desktop). Before a converged Unity is ready for general consumption, it needs to be test driven and refined under regular use. This is a specification for putting Unity 8, the phone and tablet oriented Unity, on the desktop.

User stories

* designers need to see how apps and widgets interact with the larger form factor and varying input devices available on the desktop

* developers need to review how their apps and libraries work with the larger form factor and varying input devices available on the desktop

* the adventurous and curious want to get a preview of what's coming on their desktops soon

Required Bits

Step 1: Mir as system compositor in a PPA

Mir needs to be able to run as a session compositor when installed from a PPA. That means the following need to be made available.

  1. The Mir server and client libraries.
  2. The Mir system compositor binary.
  3. A modified version of the Mesa libraries.
  4. A modified version of the LightDM program that will attempt to run the Mir system compositor and fall back gracefully to X11 if it is unable to run Mir.
  5. An installed package that provides a graphical tool to enable and disable the use of the Mir system compositor.

In addition, there needs to be some sort of watermark on te screen to indicate the Mir system compositor is active, and LightDM should display a warning when the Mir system compositor is in use.

At this point it should be possible to run the existing Unity 7 Desktop using the Mir system compositor and the XMir driver, but without expectation of graphical acceleration.

Step 2: Unity 8 Shell in a PPA

The Unity 8 shell must be installable from a PPA. The following features are required to work.

  1. Keyboard input, including hotkeys similar to those in Unity7.
  2. Mouse, touchscreen, scroll wheels, touchpads, and other existing input devices.
  3. The HUD should be available.
  4. Indicators should be available. Should include at a minimum the Networking indicator.
  5. The Unity 8 Shell and its components adjusts to local screen size.
  6. Content discovery should be working. At a minimum, the local content scopes should be available.
  7. Minimal Window management, such as focus control and maybe window move and resize.

Before Unity 8 will run properly the following steps need to be taken.

  1. A desktop Ubuntu.Application needs to be created. The existing ones either require running on Android or hardcode dummy components.

  2. Unity 8 needs to run on Mir instead of X11.

Step 3: Unity 8 Desktop in a PPA

The following core applications should be installable and runnable from the Unity 8 Shell on the desktop.

  1. Browser App
  2. Gallery App
  3. Music Player App
  4. Video Player App
  5. Screenlock?

Step 4: Moving to Ubuntu for 13.10

  1. The Modified LightDM should be in Main for 13.10.
  2. The modified Mesa libraries (and possibly open-source video drivers) should be in Main for 13.10.
  3. The Mir client and server libraries and system compositor should be in Universe for 13.10.
  4. The Unity 8, Ubuntu API libs, and Apps can remain in PPAs for 13.10.

Other Notes

  1. Need documentation on how to set up, how to use, and how to contribute (especially reporting bugs) the Unity 8 session.
  2. Multi-monitor will not be supported.
  3. Proprietary drivers will probably not be available for 13.10.
  4. Screen capture and diagnostic facilities (apport etc.) must be available.

See Also

the Ubuntu Touch Preview superproject for various projects related to Unity 8


Unity8Desktop/PreviewSpecification (last edited 2014-08-05 17:16:04 by bregma)