Bumped package version to 1.0.6.
[profile/ivi/wayland.git] / README
diff --git a/README b/README
index 6924be2..ca26cc0 100644 (file)
--- a/README
+++ b/README
@@ -1,65 +1,35 @@
-This file describes how to build and run wayland.  See NOTES for what
-wayland is or maybe will be some day.
-
-Wayland requires the eagle EGL stack available from
-
-  git://people.freedesktop.org/~krh/eagle
-
-and currently assumes that eagle is checked out in a sibling
-directory, for example:
-
-  ~krh/src/wayland and
-  ~krh/src/eagle
-
-Eagle should work with a recent DRI driver from mesa, but I have mesa
-repo with an eagle branch here:
-
-  git://people.freedesktop.org/~krh/mesa
-
-which provides and experimental DRI CopyBuffer extension, that lets
-wayland use the DRI driver and the hardware for implementing buffer
-swaps.  Eagle needs to be compiled against the dri_interface.h from
-this branch to be able to use the CopyBuffer extension.
-
-To run wayland you currently need intel hardware, a kernel with gem
-and kernel modesetting, and it is necessary to set a couple of
-environment variables.  First, set LD_LIBRARY_PATH:
-
-  export LD_LIBRARY_PATH=$PWD:$PWD/../eagle
-
-Yes, this sucks, but libtool sucks more.  Then to let eagle pick up
-the custom dri driver, set
-
-  export EAGLE_DRIVER_PATH=$PWD/../mesa/lib
-
-and finally set up the path to the evdev device to use as a pointer
-device:
-
-  export WAYLAND_POINTER=/dev/by-id/whatever-it's-called-event-mouse
-
-If you haven't already, load the i915 driver with modesetting:
-
-  modprobe i915 modeset=1
-
-You may need to unload it first, if it's loaded already.  Also, on
-Fedora, there may be a bogus /etc/modprobe.d/i915modeset preventing
-the modeset paramater from reaching the module.  Nuke it.
-
-At this point you should be able to launch wayland and a couple of
-clients.  Try something like:
-
-  ./wayland &
-  ./background <some png/jpg image smaller than 1024x768> &
-  ./flower &
-  ./flower &
-  ./flower &
-  ./window &
-  ./pointer &
-
-Maybe some day there'll be a script that does all this.  Some day...
-
-And after all this work it may still not work or even oops your
-kernel.  It's very much work in progress, so be prepared.
-
-cheers,
-Kristian
+What is Wayland
+
+Wayland is a project to define a protocol for a compositor to talk to
+its clients as well as a library implementation of the protocol.  The
+compositor can be a standalone display server running on Linux kernel
+modesetting and evdev input devices, an X application, or a wayland
+client itself.  The clients can be traditional applications, X servers
+(rootless or fullscreen) or other display servers.
+
+The wayland protocol is essentially only about input handling and
+buffer management.  The compositor receives input events and forwards
+them to the relevant client.  The clients creates buffers and renders
+into them and notifies the compositor when it needs to redraw.  The
+protocol also handles drag and drop, selections, window management and
+other interactions that must go through the compositor.  However, the
+protocol does not handle rendering, which is one of the features that
+makes wayland so simple.  All clients are expected to handle rendering
+themselves, typically through cairo or OpenGL.
+
+The weston compositor is a reference implementation of a wayland
+compositor and the weston repository also includes a few example
+clients.
+
+Building the wayland libraries is fairly simple, aside from libffi,
+they don't have many dependencies:
+
+    $ git clone git://anongit.freedesktop.org/wayland/wayland
+    $ cd wayland
+    $ ./autogen.sh --prefix=PREFIX
+    $ make
+    $ make install
+
+where PREFIX is where you want to install the libraries.  See
+http://wayland.freedesktop.org for more complete build instructions
+for wayland, weston, xwayland and various toolkits.