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