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