2008-11-03 20:31:30 +00:00
|
|
|
This file describes how to build and run wayland. See NOTES for what
|
2008-11-05 15:37:20 +00:00
|
|
|
wayland is or maybe will be some day. There's a google group for
|
|
|
|
wayland/eagle discussion here:
|
|
|
|
|
|
|
|
http://groups.google.com/group/wayland-display-server
|
2008-11-03 20:31:30 +00:00
|
|
|
|
|
|
|
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
|