clients: support ivi-application.xml for clients/window.c
[profile/ivi/weston-ivi-shell.git] / README
diff --git a/README b/README
index 5b168d4..3821e5d 100644 (file)
--- a/README
+++ b/README
-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 applications, or a wayland
-client itself.  The clients can be traditional appliactions, 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 throught 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 wayland repository includes a compositor and a few clients, but
-both the compositor and clients are essentially test cases.
-
-
-Building Instructions
-
-The instructions below assume some familiarity with git and building
-and running experimental software.  And be prepared that this project
-isn't at all useful right now, it's 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.  I usually install all software I'm working on into
-$HOME/install, so that's what I'll use in the instructions below, but
-you can use your favorite directory of course or install over your
-system copy (pass --prefix=/usr --sysconfdir=/etc, generally).
-
-
-Modesetting
-
-At this point, kernel modesetting is upstream for Intel, AMD and
-nVidia chipsets.  Most distributions ship with kernel modesetting
-enabled by default and will work with Wayland out of the box.  The
-modesetting driver must also support the page flip ioctl, which only
-the intel driver does at this point.
-
-
-Building mesa
-
-Wayland uses the mesa EGL stack, and all extensions required to run
-EGL on KMS are now upstream on the master branch.  The 7.9 release of
-mesa will have all these extensions, but for now you'll need to build
-mesa master:
-
-    $ git clone git://anongit.freedesktop.org/mesa/mesa
-    $ cd mesa
-    $ ./configure --prefix=$HOME/install  --enable-egl --enable-gles2
-    $ make && make install
-
-If you're using an intel chipset, it's best to also pass
---disable-gallium to ./configure, since otherwise libEGL will try to
-load the gallium sw rasterizer before loading the Intel DRI driver.
-
-
-libxkbcommon
-
-Wayland needs libxkbcommon for translating evdev keycodes to keysyms.
-There's a couple of repos around, and we're trying to consolidate the
-development, but for wayland you'll need the repo from my get
-repository.  For this you'll need development packages for xproto,
-kbproto and libX11.
-
-    $ git clone git://people.freedesktop.org/~krh/libxkbcommon.git
-    $ cd libxkbcommon/
-    $ ./autogen.sh --prefix=$HOME/install
-    $ make && make install
-
-
-cairo-gl
-
-The Waland clients render using cairo-gl, which is an experimental
-cairo backend.  It has been available since cairo 1.10.  Unless your
-distribution ships cairo with the gl backend enabled, you'll need to
-compile your own version of cairo:
-
-    $ git clone git://anongit.freedesktop.org/cairo
-    $ cd cairo
-    $ ./autogen.sh --prefix=$HOME/install --enable-gl
-    $ make && make install
-
-
-Wayland
-
-With mesa and libxkbcommon in place, we can checkout and build
-Wayland.  Aside from mesa, Wayland needs development packages for
-gdk-pixbuf-2.0, libudev, libdrm, xcb-dri2, xcb-fixes (for X
-compositor) cairo-gl, glib-2.0, gdk-2.0 (for poppler) and
-poppler-glib:
-
-    $ git clone git://people.freedesktop.org/~krh/wayland
-    $ aclocal; autoconf; ./configure --prefix=$HOME/install
-    $ make && make install
-
-Installing into a non-/usr prefix is fine, but the 70-wayland.rules
-udev rule file has to be installed in /etc/udev/rules.d.  Once
-installed, either reboot or run
-
-    $ sudo udevadm trigger --subsystem-match=drm --subsystem-match=input
-
-to make udev label the devices wayland will use.
-
-If DISPLAY is set, the wayland compositor will run under X in a window
-and take input from X.  Otherwise it will run on the KMS framebuffer
-and take input from evdev devices.  Pick a background image that you
-like and copy it to the Wayland source directory as background.jpg or
-use the -b command line option:
-
-    $ ./wayland-system-compositor -b my-image.jpg
-
-To run clients, switch to a different VT and run the client from
-there.  Or run it under X and start up the clients from a terminal
-window.  There are a few demo clients available, but they are all
-pretty simple and mostly for testing specific features in the wayland
-protocol: 'terminal' is a simple terminal emulator, not very compliant
-at all, but works well enough for bash
-
-    'flower' moves a flower around the screen, testing the frame protocol
-    'gears' glxgears, but for wayland, currently broken
-    'image' loads the image files passed on the command line and shows them
-
-    'view' does the same for pdf files, but needs file URIs
-    (file:///path/to/pdf)
+Weston
+
+Weston is the reference implementation of a Wayland compositor, and a
+useful compositor in its own right.  Weston has various backends that
+lets it run on Linux kernel modesetting and evdev input as well as
+under X11.  Weston ships with a few example clients, from simple
+clients that demonstrate certain aspects of the protocol to more
+complete clients and a simplistic toolkit.  There is also a quite
+capable terminal emulator (weston-terminal) and an toy/example desktop
+shell.  Finally, weston also provides integration with the Xorg server
+and can pull X clients into the Wayland desktop and act as a X window
+manager.
+
+Refer to http://wayland.freedesktop.org/building.html for building
+weston and its dependencies.
+
+The test suite can be invoked via `make check`; see
+http://wayland.freedesktop.org/testing.html for additional details.