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