Mir

Revision 12 as of 2013-07-24 13:46:09

Clear message

Introduction

Mir is a new display server being developed for Ubuntu. It is possible to use it today with Ubuntu Touch, though a tad difficult.

Install

First, install the latest Touch image like normal, Boot up the device, make sure everything works before we start messing with it.

Easiest way

Download and flash this one:

http://s-jenkins:8080/job/ubuntu-touch-phablet-image-saucy-mir/lastSuccessfulBuild/artifact/saucy-preinstalled-phablet-armhf.zip

It already has unity8 running on mir.

Easy way

adb root
adb shell
add-apt-repository ppa:phablet-team/mir
apt-get update
apt-get dist-upgrade
reboot

If screen remains black after reboot

unity8 probably encountered issues. Run it manually to find out.

  1. Remove the run_shell line from /etc/device-services
  2. reboot
  3. log into the device (via ssh gives a nicer terminal) and manually run unity8:
     su phablet
     cd
     run_shell

If that still doesn't work (and complains about Ubuntu.Application not being found), try this command as root:

ln -s ../../imports/Ubuntu/Application /usr/lib/arm-linux-gnueabihf/qt5/qml/Ubuntu/Application

Manual way

Build Branches

Initial Setup

We want to install some packages necessary for compiling. We also want to install mesa from saucy's archive, specifically avoiding the version in the mir-team/staging PPA. That mesa stack doesn't work on arm.

adb root
adb shell
apt-get update
apt-get install libegl1-mesa-dev \
  libegl1-mesa \
  libegl1-mesa-drivers \
  libgles1-mesa-dev \
  libgles1-mesa \
  libgles2-mesa-dev \
  libgles2-mesa \
  libglapi-mesa \
  libgl1-mesa-dev \
  mesa-common-dev \
  libgl1-mesa-glx
apt-get install bzr devscripts pbuilder aptitude build-essential fakeroot
add-apt-repository ppa:mir-team/staging
apt-get update
umask 0022

platform-api

mkdir platform-api
cd platform-api
bzr branch lp:~robertcarr/platform-api/mir-with-packaging
cd mir-with-packaging
/usr/lib/pbuilder/pbuilder-satisfydepends
debuild -i -I
dpkg -i ../*.deb || apt-get install -f

qtubuntu

mkdir qtubuntu
cd qtubuntu
bzr branch lp:~robertcarr/qtubuntu/mir-with-packaging
cd mir-with-packaging
/usr/lib/pbuilder/pbuilder-satisfydepends
debuild -i -I
dpkg -i ../*.deb || apt-get install -f

Unity

mkdir unity
cd unity
bzr branch lp:unity-mir/
cd unity8-mir
/usr/lib/pbuilder/pbuilder-satisfydepends
DEB_BUILD_OPTIONS=nocheck debuild -i -I
dpkg -i ../*.deb || apt-get install -f

Switch from SurfaceFlinger to Mir

adb root
adb shell
cp /var/lib/lxc/android/rootfs/init.rc /var/lib/lxc/android/overrides/
vi /var/lib/lxc/android/overrides/init.rc
# Comment out any line that deals with surfaceflinger (near the bottom there is a chunk of them)