Mir

Merge lp:~mir-team/mir/project-page-in-docs into lp:~mir-team/mir/trunk

Proposed by Alexandros Frantzis
Status: Merged
Approved by: Alan Griffiths
Approved revision: no longer in the source branch.
Merged at revision: 483
Proposed branch: lp:~mir-team/mir/project-page-in-docs
Merge into: lp:~mir-team/mir/trunk
Diff against target: 340 lines (+289/-11)
6 files modified
doc/building_source_for_pc.md (+57/-0)
doc/installing_prebuilt_on_android.md (+46/-0)
doc/installing_prebuilt_on_pc.md (+29/-0)
doc/mainpage.md (+48/-11)
doc/using_mir_on_android.md (+26/-0)
doc/using_mir_on_pc.md (+83/-0)
To merge this branch: bzr merge lp:~mir-team/mir/project-page-in-docs
Reviewer Review Type Date Requested Status
Alan Griffiths Approve
PS Jenkins bot (community) continuous-integration Approve
Review via email: mp+152687@code.launchpad.net

Commit message

doc: Use doxygen documentation to create a project page

Description of the change

doc: Use doxygen documentation to create a project page

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

PASSED: Continuous integration, rev:483
http://jenkins.qa.ubuntu.com/job/mir-ci/37/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/mir-quantal-amd64-ci/37//console

Click here to trigger a rebuild:
http://jenkins.qa.ubuntu.com/job/mir-ci/37//rebuild/?

review: Approve (continuous-integration)
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

I think we should update to avoid the duplication between HACKING and building_source_for_pc - but it doesn't cause any immediate harm.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file 'doc/building_source_for_pc.md'
2--- doc/building_source_for_pc.md 1970-01-01 00:00:00 +0000
3+++ doc/building_source_for_pc.md 2013-03-11 14:27:24 +0000
4@@ -0,0 +1,57 @@
5+Building the source for a PC {#building_source_for_pc}
6+============================
7+
8+Getting mir
9+-----------
10+
11+Mir is a project on Launchpad (https://launchpad.net/mir). To grab a copy use
12+the command:
13+
14+ $ bzr branch lp:mir
15+
16+
17+Getting dependencies
18+--------------------
19+
20+To succesfully build Mir there are a few packages required. The easiest way
21+to get them is to use the packaging build dependencies:
22+
23+ $ apt-get install devscripts equivs cmake
24+ $ mk-build-deps --install --tool "apt-get -y" --build-dep debian/control
25+
26+
27+Building mir
28+------------
29+
30+Mir is built using cmake. You first need to create the build directory and
31+configure the build:
32+
33+ $ mkdir build
34+ $ cd build
35+ $ cmake .. (possibly passing configuration options to cmake)
36+
37+There are many configuration options for the mir project. The default options
38+will work fine, but you may want to customize the build depending on your
39+needs. The best way to get an overview and set them is to use the cmake-gui
40+tool:
41+
42+ $ cmake-gui ..
43+
44+The next step is to build the source and run the tests:
45+
46+ $ make (-j8)
47+ $ ctest
48+
49+Installing mir
50+--------------
51+
52+To install mir just use the normal make install command:
53+
54+ $ make install
55+
56+This will install the mir libraries, executable, example clients and header
57+files to the configured installation location (/usr/local by default). If you
58+install to a non-standard location, keep in mind that you will probably need to
59+properly set the PKG_CONFIG_PATH environment variable to allow other
60+applications to build against mir, and LD_LIBRARY_PATH to allow applications to
61+find the mir libraries at runtime.
62
63=== added file 'doc/installing_prebuilt_on_android.md'
64--- doc/installing_prebuilt_on_android.md 1970-01-01 00:00:00 +0000
65+++ doc/installing_prebuilt_on_android.md 2013-03-11 14:27:24 +0000
66@@ -0,0 +1,46 @@
67+Installing pre-built packages on an Android device {#installing_prebuilt_on_android}
68+==================================================
69+
70+Supported Devices
71+-----------------
72+
73+The following devices have been tested with Mir:
74+
75+| Device | Status |
76+| ------------------ | ------ |
77+| Nexus 7 (nvidia) | tested |
78+| Galaxy Nexus (SGX) | tested - needs special hybris for nvidia atm |
79+| Nexus 4 (qualcomm) | in progress |
80+
81+Installing Mir
82+--------------
83+
84+1. First you must install a phablet image on your device, by following the
85+ directions at https://wiki.ubuntu.com/Touch/Install on one of the supported
86+ devices. Once you have booted into the device with Ubuntu Touch ensure you
87+ then connect the device to the internet.
88+
89+2. With your device connected via USB, type:
90+
91+ $ adb devices
92+
93+ just to ensure you are connected, then open the android shell:
94+
95+ $ adb root
96+ $ adb shell
97+
98+3. In the adb shell, stop SurfaceFlinger, Android's compositing engine that
99+ owns the display, and open the Ubuntu Touch shell:
100+
101+ # stop
102+ # ubuntu_chroot shell
103+
104+4. Add the mir staging PPA to your device's sources list:
105+
106+ # apt-get install software-properties-common (to get the add-apt-repository command)
107+ # add-apt-repository ppa:mir-team/staging
108+ # apt-get update
109+
110+5. Install Mir:
111+
112+ # apt-get install mir libmirclient-demos
113
114=== added file 'doc/installing_prebuilt_on_pc.md'
115--- doc/installing_prebuilt_on_pc.md 1970-01-01 00:00:00 +0000
116+++ doc/installing_prebuilt_on_pc.md 2013-03-11 14:27:24 +0000
117@@ -0,0 +1,29 @@
118+Installing pre-built packages on a PC {#installing_prebuilt_on_pc}
119+=====================================
120+
121+1. Install raring if you haven' t done so already. Uninstall any proprietary
122+ drivers (-nvidia, -fglrx) and reboot on the FOSS drivers.
123+
124+2. Add the ppa:mir-team/staging. Note that besides mir itself, the PPA includes
125+ custom builds of Mesa and Xorg drivers with support for mir:
126+
127+ sudo add-apt-repository ppa:mir-team/staging
128+
129+3. Update your package list:
130+
131+ sudo apt-get update
132+
133+4. Create the `/etc/apt/preferences.d/50-pin-mir.pref` file with the following contents:
134+
135+ Package: *
136+ Pin: origin "private-ppa.launchpad.net"
137+ Pin-Priority: 1001
138+
139+ Package: *
140+ Pin: release o=LP-PPA-mir-team-staging
141+ Pin-Priority: 1002
142+
143+5. Install mir and dist-upgrade:
144+
145+ sudo apt-get install mir
146+ sudo apt-get dist-upgrade
147
148=== modified file 'doc/mainpage.md'
149--- doc/mainpage.md 2012-12-28 08:07:31 +0000
150+++ doc/mainpage.md 2013-03-11 14:27:24 +0000
151@@ -1,22 +1,59 @@
152 Welcome to Mir {#mainpage}
153 ==============
154
155-Welcome to the world of Mir!
156-
157-Willkommen in der Welt von Mir!
158-
159-¡Bienvenido al mundo de Mir!
160-
161-Καλώς ήρθατε στον κόσμο του Mir!
162+Mir is a next generation display server targeted as a replacement for the X
163+window server system to unlock next-generation user experiences for devices
164+ranging from Linux desktop to mobile devices powered by Ubuntu. The primary
165+purpose of Mir is to enable the development of the next generation
166+[Unity](http://unity.ubuntu.com).
167+
168+More detailed information about the motivation, scope, and high-level design
169+of Mir can be found at http://wiki.ubuntu.com/MirSpec .
170+
171+Getting and installing Mir
172+--------------------------
173+
174+### Using pre-built packages
175+
176+If you just want to try out mir, or write client applications, then the easiest
177+way is to use the pre-built packages:
178+
179+ - \ref installing_prebuilt_on_pc
180+ - \ref installing_prebuilt_on_android
181+
182+### Building and installing from source
183+
184+If you are curious about Mir internals or intend to contribute to it, you should
185+get the source and build it:
186+
187+ - \ref building_source_for_pc
188+
189+Using Mir
190+---------
191+
192+ - \ref using_mir_on_pc
193+ - \ref using_mir_on_android
194+
195+Getting involved
196+----------------
197+
198+The best place to ask questions and discuss about the Mir project is the
199+#ubuntu-mir IRC channel on freenode.
200+
201+The Mir project is hosted on Launchpad: https://launchpad.net/mir
202+
203+Please file bug reports at: https://bugs.launchpad.net/mir
204+
205+The Mir development mailing list can be found at: https://lists.ubuntu.com/mailman/listinfo/Mir-devel
206
207 Writing client applications
208 ---------------------------
209
210-1. \ref mir_client_library.h "Mir API Documentation"
211-2. \subpage demo_client.c "demo_client.c: A simple mir client"
212+ - \ref mir_client_library.h "Mir API Documentation"
213+ - \subpage demo_client.c "demo_client.c: A simple mir client"
214
215 Working on Mir code
216 -------------------
217
218-1. \ref md_README "Mir Read me"
219-2. \ref md_HACKING "Mir hacking guide"
220+ - \ref md_README "Mir Read me"
221+ - \ref md_HACKING "Mir hacking guide"
222
223=== added file 'doc/using_mir_on_android.md'
224--- doc/using_mir_on_android.md 1970-01-01 00:00:00 +0000
225+++ doc/using_mir_on_android.md 2013-03-11 14:27:24 +0000
226@@ -0,0 +1,26 @@
227+Using Mir on an Android device {#using_mir_on_android}
228+==============================
229+
230+After installing mir on your device (see \ref installing_prebuilt_on_android),
231+open the Android shell:
232+
233+ $ adb root
234+ $ adb shell
235+
236+In the Android shell, stop SurfaceFlinger and open the Ubuntu touch chroot shell:
237+
238+ # stop
239+ # ubuntu_chroot shell
240+
241+Now, start Mir and a client application:
242+
243+ # mir &
244+ # some-mir-client (e.g. mir_demo_client_accelerated)
245+
246+Getting some example client applications
247+----------------------------------------
248+
249+You can get some example programs by installing the `libmirclient-demos` package
250+inside the Ubuntu touch chroot shell (see above):
251+
252+ # apt-get install libmirclient-demos
253
254=== added file 'doc/using_mir_on_pc.md'
255--- doc/using_mir_on_pc.md 1970-01-01 00:00:00 +0000
256+++ doc/using_mir_on_pc.md 2013-03-11 14:27:24 +0000
257@@ -0,0 +1,83 @@
258+Using Mir on a PC {#using_mir_on_pc}
259+=================
260+
261+Before you begin
262+----------------
263+
264+Before you can use Mir you need to ensure you have the proper custom Mesa build
265+installed. If you installed Mir using the packages from mir-team staging PPA
266+(see \ref installing_prebuilt_on_pc), you should be good to go.
267+
268+If you built Mir from source code (see \ref building_source_for_pc), you need
269+to ensure you are using the proper Mesa at runtime. You can do that by
270+installing the Mesa packages manually from the staging PPA, or by building the
271+custom Mesa yourself and ensuring it can be found by mir, e.g., by using
272+LD_LIBRARY_PATH.
273+
274+Using Mir as system compositor with X
275+-------------------------------------
276+
277+Note: for this to work you need to have Mir and all its dependencies (which
278+include lightdm, Mesa and the Xorg drivers). The easiest way is to install
279+pre-built packages from the staging PPA.
280+
281+To run X sessions under Mir, with Mir acting as the system compositor, edit
282+your /etc/lightdm/lightdm.conf to look to look like this:
283+
284+ [SeatDefaults]
285+ user-session=ubuntu
286+ greeter-session=unity-greeter
287+ type=mir
288+
289+Now restart lightdm:
290+
291+ $ sudo service lightdm restart
292+
293+In theory, you should now find yourself back in Ubuntu and not notice
294+anything different. You can verify you're in mir several ways:
295+
296+ $ ps aux | grep mir
297+ $ grep -i xmir /var/log/Xorg.0.log
298+ $ ls -l /var/log/lightdm/mir.log
299+
300+Running Mir natively
301+--------------------
302+
303+You can also run Mir natively. To do so, log in to VT1 (Ctrl+Alt+F1) _after_
304+you are already logged in to X. If you do so before then you will not be
305+assigned adequate credentials to access the graphics hardware and will get
306+strange errors.
307+
308+Note that you can switch back to X using Alt+F7. But it is very important to
309+remember NOT to switch once you have any mir binaries running. Doing so will
310+currently make X die (!).
311+
312+Now we want to run the mir server and a client to render something. The trick
313+is that we need to make sure the mir server is easy to terminate before ever
314+switching back to X. To ensure this, the server needs to be in the foreground,
315+but starting before your client (in the background). To do this, you must:
316+
317+ $ (sleep 3; some-mir-client) & mir ; kill $!
318+
319+Wait 3 seconds and the client will start. You can kill it with Ctrl+C. REMEMBER
320+to kill the mir processes fully before attempting to switch back to X or your X
321+login will die.
322+
323+In case you accidentally killed your X login and ended up with a failsafe
324+screen, you might find on subsequent reboots you can't log in to X at all any
325+more (it instantly and silently takes you back to the login screen). The fix
326+for this is to log in to a VT and:
327+
328+ $ rm .Xauthority
329+ $ sudo restart lightdm
330+
331+Getting some example client applications
332+----------------------------------------
333+
334+If you installed mir using the packages from the mir-team staging PPA, you can
335+get some example programs by installing the `libmirclient-demos` package:
336+
337+ $ sudo apt-get install libmirclient-demos
338+
339+If you are building from source you can find client applications in the bin/
340+subdirectory of the build directory.

Subscribers

People subscribed via source and target branches