Add README for the adventurous, allow evdev override from getenv().
[profile/ivi/weston.git] / README
1 This file describes how to build and run wayland.  See NOTES for what
2 wayland is or maybe will be some day.
3
4 Wayland requires the eagle EGL stack available from
5
6   git://people.freedesktop.org/~krh/eagle
7
8 and currently assumes that eagle is checked out in a sibling
9 directory, for example:
10
11   ~krh/src/wayland and
12   ~krh/src/eagle
13
14 Eagle should work with a recent DRI driver from mesa, but I have mesa
15 repo with an eagle branch here:
16
17   git://people.freedesktop.org/~krh/mesa
18
19 which provides and experimental DRI CopyBuffer extension, that lets
20 wayland use the DRI driver and the hardware for implementing buffer
21 swaps.  Eagle needs to be compiled against the dri_interface.h from
22 this branch to be able to use the CopyBuffer extension.
23
24 To run wayland you currently need intel hardware, a kernel with gem
25 and kernel modesetting, and it is necessary to set a couple of
26 environment variables.  First, set LD_LIBRARY_PATH:
27
28   export LD_LIBRARY_PATH=$PWD:$PWD/../eagle
29
30 Yes, this sucks, but libtool sucks more.  Then to let eagle pick up
31 the custom dri driver, set
32
33   export EAGLE_DRIVER_PATH=$PWD/../mesa/lib
34
35 and finally set up the path to the evdev device to use as a pointer
36 device:
37
38   export WAYLAND_POINTER=/dev/by-id/whatever-it's-called-event-mouse
39
40 If you haven't already, load the i915 driver with modesetting:
41
42   modprobe i915 modeset=1
43
44 You may need to unload it first, if it's loaded already.  Also, on
45 Fedora, there may be a bogus /etc/modprobe.d/i915modeset preventing
46 the modeset paramater from reaching the module.  Nuke it.
47
48 At this point you should be able to launch wayland and a couple of
49 clients.  Try something like:
50
51   ./wayland &
52   ./background <some png/jpg image smaller than 1024x768> &
53   ./flower &
54   ./flower &
55   ./flower &
56   ./window &
57   ./pointer &
58
59 Maybe some day there'll be a script that does all this.  Some day...
60
61 And after all this work it may still not work or even oops your
62 kernel.  It's very much work in progress, so be prepared.
63
64 cheers,
65 Kristian