[PATCH wayland-web 6/7] Added comments about dependencies after each build instruction
Bill Spitzak
spitzak at gmail.com
Tue Jun 3 11:33:22 PDT 2014
From: Bill Spitzak <wspitzak at oblong.com>
Added many links to various project home pages when I could find them.
---
building.html | 93 +++++++++++++++++++++++++++++++++++-------------------
ubuntu12.04.html | 2 +-
xserver.html | 27 ++++++++++++----
3 files changed, 83 insertions(+), 39 deletions(-)
diff --git a/building.html b/building.html
index 6870a8b..4256c75 100644
--- a/building.html
+++ b/building.html
@@ -11,12 +11,19 @@
<h1><a href="index.html"><img src="wayland.png" alt="Wayland logo"></a>
Building Weston</h1>
-<p>The instructions below assume some familiarity with git and
+<p>The instructions below assume some familiarity with
+<a href="http://git-scm.com/">git</a>,
+<a href="http://www.freedesktop.org/wiki/Software/pkg-config/">pkg-config</a>,
+<a href="http://www.gnu.org/software/autoconf/">autoconf</a>, and
building and running experimental software. Also, be prepared for the fact that this
project is still very much a prototype. When the instructions suggest to clone a git repo, you can
of course just add a remote and fetch instead, if you have a clone of
that repo around already.</p>
+<p>Some help for figuring out how to fix dependency problems:
+<a href="http://who-t.blogspot.com.au/2014/05/configure-fails-with-no-package-foo.html">Configure
+fails with "No package 'foo' found" - and how to fix it</a>.</p>
+
<h2>System-specific Directions</h2>
<p>This page has the generic instructions on building Wayland and Weston
@@ -35,8 +42,9 @@ Pi</a>, see <a href="raspberrypi.html">Raspberry Pi build guide</a>.</li>
<h2>Hardware / Drivers</h2>
-<p>X output requires DRI2. DRM output (without X) requires Kernel Mode
-Setting (KMS) and the page flip ioctl. These are supported by:</p>
+<p>X output requires <a href="http://dri.freedesktop.org/wiki/">DRI2</a>.
+Output outside of X requres <a href="http://dri.freedesktop.org/wiki/DRM/">DRM</a> and <a href="https://wiki.archlinux.org/index.php/kernel_mode_setting">Kernel Mode
+Setting (KMS)</a> with the page flip ioctl. These are supported by:</p>
<p><b>Intel</b>: i915 (June 2004) or newer cards. DRM support has been
in the kernel since around 2.6.29. Sandy Bridge chips require kernel
@@ -80,7 +88,7 @@ you wish to build the packages.</p>
<p>To install system wide, you'll need to set WLD differently, add
some switches to every autogen.sh invocation, and use sudo to make
install. Choose the libdir as appropriate for your distribution and
-architecture (32 vs. 64 bit).</p>
+architecture (it may be <code>/usr/lib32</code> or <code>/usr/lib64</code>).</p>
<pre>
export WLD=/usr
@@ -93,8 +101,7 @@ sudo make install
<h2>Wayland libraries</h2>
-<p>This is required in order to be able to build Mesa with
---with-egl-platforms=x11,wayland,drm.</p>
+<p>This is required in order to be able to build Mesa with the Wayland EGL platform.</p>
<pre>
$ git clone git://anongit.freedesktop.org/wayland/wayland
@@ -104,17 +111,19 @@ $ make && make install
$ cd ..
</pre>
+<ul>
+<li>You can avoid the <a href="http://www.stack.nl/~dimitri/doxygen/">Doxygen</a> dependency
+with <code>--disable-documentation</code>.</li>
+
+</ul>
+
<h2>Mesa</h2>
-<p>Wayland uses the mesa EGL stack, and all extensions required to run
+<p>Wayland uses the <a href="http://www.mesa3d.org/egl.html">Mesa EGL</a> stack, and all extensions required to run
EGL on KMS are now upstream. Wayland should work with any mesa
release after 9.0, but in some cases extra functionality or
optimization will only be available in more recent releases.</p>
-<p>To compile mesa you'll need a development package for libdrm.
-Other dependencies are development packages of xcb-dri2 and
-xcb-xfixes.</p>
-
<pre>
$ git clone git://anongit.freedesktop.org/mesa/mesa
$ cd mesa
@@ -125,11 +134,29 @@ $ make && make install
$ cd ..
</pre>
-<p>We disable Gallium for Intel 915 and 965, which just means that libEGL
+<p>We disable <a href="http://www.freedesktop.org/wiki/Software/gallium/">Gallium</a> for Intel 915 and 965, which just means that libEGL
won't try to load the Gallium drivers directly. The Gallium drivers will
be built as DRI drivers, which the EGL loader will load just fine.</p>
-<p><a href="mesa-configure.html">Example mesa configure output.</a></p>
+<ul>
+<li><a href="mesa-configure.html">Example mesa configure output.</a></li>
+
+<li>You will probably need a development package for <a href="https://01.org/linuxgraphics/community/libdrm">libdrm</a>. This is
+available in <code>git://anongit.freedesktop.org/git/mesa/drm</code></li>
+
+<li><a href="http://xcb.freedesktop.org/">xcb</a>-* dependencies can be fixed by compiling and installing
+<code>git://anongit.freedesktop.org/xcb/proto</code> and
+<code>git://anongit.freedesktop.org/xcb/libxcb</code>.</li>
+
+<li>presentproto and other *proto dependencies can be built from
+<code>git://anongit.freedesktop.org/xorg/proto/presentproto</code>, etc.</li>
+
+<li><code>--disable-dri3</code> may remove some dependencies.</li>
+
+<li>If you plan to compile <a href="xserver.html">XWayland</a> you may
+want to install any dependencies it needs now. This is so Mesa
+uses the same header files as xwayland.
+</ul>
<p>Note on Mesa build failures: If you're not building in your Mesa git
repo for the first time, the first thing to try is always "<code>git clean -xfd</code>", and possibly deleting your $WLD directory, as Mesa requires
@@ -137,8 +164,9 @@ this often.</p>
<h2>libunwind</h2>
-<p>Weston requires libunwind v1.1 if you don't configure with
---disable-libunwind .</p>
+<p>Weston requires <a href="http://www.nongnu.org/libunwind/">libunwind</a> v1.1 if you don't configure it with
+<code>--disable-libunwind</code>. linunwind only helps with weston
+crash reports and is safe to skip, if not intending to report bugs.</p>
<pre>
$ git clone git://git.sv.gnu.org/libunwind
@@ -151,8 +179,9 @@ $ cd ..
<h2>libinput</h2>
-<p>Libinput translates evdev events into Wayland events. It has been split
-from Weston as the code is reusable by any Wayland compositor on Linux.</p>
+<p><a href="http://www.freedesktop.org/wiki/Software/libinput/">Libinput</a>
+translates evdev events into Wayland events. It has been split from
+Weston as the code is reusable by any Wayland compositor on Linux.</p>
<pre>
$ git clone git://anongit.freedesktop.org/wayland/libinput
@@ -162,24 +191,20 @@ $ make && make install
$ cd ..
</pre>
+<ul>
+<li>You probably need the development package for <a href="http://www.freedesktop.org/wiki/Software/libevdev/">libevdev</a>, this is in
+<code>git://anongit.freedesktop.org/libevdev</code></li>
+
+<li><a href="http://xkbcommon.org/">libxkbcommon</a> source is
+in <code>git://github.com/xkbcommon/libxkbcommon</code>.</li>
+</ul>
+
<h2>Weston and demo applications</h2>
<p>Weston is the reference implementation of a Wayland compositor.
It's available in the weston repo and comes with a few demo
applications.
-<p>Aside from mesa and libxkbcommon, the Weston dependencies can be
-satisfied with released versions of:
-
-gdk-pixbuf-2.0,
-libudev 136,
-libdrm 2.4.23,
-pixman-1,
-cairo-gl 1.11.3,
-glib-2.0, and
-gobject-2.0.
-</p>
-
<pre>
$ git clone git://anongit.freedesktop.org/wayland/weston
$ cd weston
@@ -189,13 +214,17 @@ $ sudo make install
$ cd ..
</pre>
-<h2>Running Weston</h2>
+<ul>
+<li>Use <code>--disable-setuid-install</code> to avoid having to
+use <code>sudo make install</code>. This is useful
+if you only plan to run weston under X.</li>
+</ul>
-<h3><code>$XDG_RUNTIME_DIR</code></h3>
+<h2>Running Weston</h2>
<p>Weston creates its unix socket file (for example, wayland-0)
in the directory specified by the required environment variable
-<code>$XDG_RUNTIME_DIR</code> . Clients use the same variable to find that
+<a href="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html"><code>$XDG_RUNTIME_DIR</code></a>. Clients use the same variable to find that
socket. This is provided using systemd by some distributions (Fedora,
<a href="https://www.archlinux.org/news/systemd-tools-replaces-udev/">Arch
since June 2012</a> or Exherbo).
diff --git a/ubuntu12.04.html b/ubuntu12.04.html
index e3b167b..804433e 100644
--- a/ubuntu12.04.html
+++ b/ubuntu12.04.html
@@ -52,7 +52,7 @@ cd ..
# install unwanted items, such as wayland itself, and xcb prototypes
# that are too old.</span>
sudo apt-get install autoconf automake bison debhelper dpkg-dev flex \
- libdrm-dev libexpat1-dev libudev-dev libx11-dev libx11-xcb-dev \
+ libexpat1-dev libudev-dev libx11-dev libx11-xcb-dev \
libxdamage-dev libxext-dev libxfixes-dev libxxf86vm-dev \
linux-libc-dev pkg-config python-libxml2 quilt x11proto-dri2-dev \
x11proto-gl-dev xutils-dev
diff --git a/xserver.html b/xserver.html
index 9ac0401..926087f 100644
--- a/xserver.html
+++ b/xserver.html
@@ -51,8 +51,8 @@ $ cd ..
<h2>X Server</h2>
-<p>XWayland support has been merged in the master branch on April 4th, 2014,
-and is first released with xserver 1.16. The separate X.org video DDXes
+<p>XWayland support has been merged in the master <a href="http://www.freedesktop.org/wiki/Software/xorg/">X.Org</a> branch on April 4th, 2014,
+and is first released with xserver 1.16. The separate X.Org video DDXes
are not needed anymore. With this config it will only install the Xwayland
binary and few other files:</p>
@@ -66,10 +66,25 @@ $ make && make install
$ cd ..
</pre>
+<ul>
+<li>glproto, xproto, etc are available
+from <code>git://anongit.freedesktop.org/xorg/proto/glproto</code>,
+etc.</li>
+
+<li><a href="https://github.com/canoon/libxtrans">libxtrans</a> is
+in <code>git://anongit.freedesktop.org/xorg/lib/libxtrans</code>.</li>
+
+<li>libxkbfile is in
+in <code>git://anongit.freedesktop.org/xorg/lib/libxkbfile</code>.</li>
+
+</ul>
+
<h2>Paths</h2>
<p>
- Without this you will get the error "XKB: Failed to compile keymap".
+Without this you will get the error "XKB: Failed to compile keymap". Weston uses
+<a href="http://www.freedesktop.org/wiki/Software/XKeyboardConfig/">xkeyboard-config</a>
+to find these files, but the XServer needs these links:
</p>
<pre>
@@ -81,7 +96,7 @@ $ ln -s /usr/bin/xkbcomp $WLD/bin/
<h2>weston.ini</h2>
<p>
- Add this to <tt>~/.config/weston.ini</tt> (or use the --modules=xwayland.so command line argument):
+Add this to <tt>~/.config/weston.ini</tt> (or use the <code>--modules=xwayland.so</code> command line argument):
</p>
<pre>
@@ -98,8 +113,8 @@ $ ln -s /usr/bin/xkbcomp $WLD/bin/
</p>
<p>
- The weston log output will include "xserver listening on display
- :1". Within weston-terminal you will find $DISPLAY has already
+ The weston log output will include "<code>xserver listening on display
+ :1</code>". Within weston-terminal you will find $DISPLAY has already
been set. Run any X client.
</p>
--
1.7.9.5
More information about the wayland-devel
mailing list