mirror of
https://gitlab.freedesktop.org/wayland/wayland.git
synced 2025-10-29 05:40:16 -04:00
README: Update
The wayland README had outdated build instructions for weston. Let's just trim it down to build instructions for wayland and a link to the web site.
This commit is contained in:
parent
7ba218c9f8
commit
0b4ed5fe72
1 changed files with 13 additions and 108 deletions
121
README
121
README
|
|
@ -17,114 +17,19 @@ protocol does not handle rendering, which is one of the features that
|
|||
makes wayland so simple. All clients are expected to handle rendering
|
||||
themselves, typically through cairo or OpenGL.
|
||||
|
||||
The wayland repository includes a compositor and a few clients, but
|
||||
both the compositor and clients are essentially test cases.
|
||||
The weston compositor is a reference implementation of a wayland
|
||||
compositor and the weston repository also includes a few example
|
||||
clients clients.
|
||||
|
||||
Building the wayland libraries is fairly simple, aside from libffi,
|
||||
they don't have many dependencies:
|
||||
|
||||
Building Instructions
|
||||
$ git clone git://anongit.freedesktop.org/wayland/wayland
|
||||
$ cd wayland
|
||||
$ ./autogen.sh --prefix=PREFIX
|
||||
$ make
|
||||
$ make install
|
||||
|
||||
The instructions below assume some familiarity with git and building
|
||||
and running experimental software. And be prepared that this project
|
||||
isn't at all useful right now, it's still very much a prototype. When
|
||||
the instructions suggest to clone a git repo, you can of course just
|
||||
add a remote and fetch instead, if you have a clone of that repo
|
||||
around already. I usually install all software I'm working on into
|
||||
$HOME/install, so that's what I'll use in the instructions below, but
|
||||
you can use your favorite directory of course or install over your
|
||||
system copy (pass --prefix=/usr --sysconfdir=/etc, generally).
|
||||
|
||||
|
||||
Modesetting
|
||||
|
||||
At this point, kernel modesetting is upstream for Intel, AMD and
|
||||
nVidia chipsets. Most distributions ship with kernel modesetting
|
||||
enabled by default and will work with Wayland out of the box. The
|
||||
modesetting driver must also support the page flip ioctl, which only
|
||||
the intel driver does at this point.
|
||||
|
||||
|
||||
Building mesa
|
||||
|
||||
Wayland uses the mesa EGL stack, and all extensions required to run
|
||||
EGL on KMS are now upstream on the master branch. The 7.9 release of
|
||||
mesa will have all these extensions, but for now you'll need to build
|
||||
mesa master:
|
||||
|
||||
$ git clone git://anongit.freedesktop.org/mesa/mesa
|
||||
$ cd mesa
|
||||
$ ./configure --prefix=$HOME/install --enable-egl --enable-gles2
|
||||
$ make && make install
|
||||
|
||||
If you're using an intel chipset, it's best to also pass
|
||||
--disable-gallium to ./configure, since otherwise libEGL will try to
|
||||
load the gallium sw rasterizer before loading the Intel DRI driver.
|
||||
|
||||
|
||||
libxkbcommon
|
||||
|
||||
Wayland needs libxkbcommon for translating evdev keycodes to keysyms.
|
||||
There's a couple of repos around, and we're trying to consolidate the
|
||||
development, but for wayland you'll need the repo from my git
|
||||
repository. For this you'll need development packages for xproto,
|
||||
kbproto and libX11.
|
||||
|
||||
$ git clone git://people.freedesktop.org/~krh/libxkbcommon.git
|
||||
$ cd libxkbcommon/
|
||||
$ ./autogen.sh --prefix=$HOME/install
|
||||
$ make && make install
|
||||
|
||||
|
||||
cairo-gl
|
||||
|
||||
The Wayland clients render using cairo-gl, which is an experimental
|
||||
cairo backend. It has been available since cairo 1.10. Unless your
|
||||
distribution ships cairo with the gl backend enabled, you'll need to
|
||||
compile your own version of cairo:
|
||||
|
||||
$ git clone git://anongit.freedesktop.org/cairo
|
||||
$ cd cairo
|
||||
$ ./autogen.sh --prefix=$HOME/install --enable-gl
|
||||
$ make && make install
|
||||
|
||||
|
||||
Wayland
|
||||
|
||||
With mesa and libxkbcommon in place, we can checkout and build
|
||||
Wayland. Aside from mesa, Wayland needs development packages for
|
||||
gdk-pixbuf-2.0, libudev, libdrm, xcb-dri2, xcb-fixes (for X
|
||||
compositor) cairo-gl, glib-2.0, gdk-2.0 (for poppler) and
|
||||
poppler-glib:
|
||||
|
||||
$ git clone git://people.freedesktop.org/~krh/wayland
|
||||
$ ./autogen.sh --prefix=$HOME/install
|
||||
$ make && make install
|
||||
|
||||
Installing into a non-/usr prefix is fine, but the 70-wayland.rules
|
||||
udev rule file has to be installed in /etc/udev/rules.d. Once
|
||||
installed, either reboot or run
|
||||
|
||||
$ sudo udevadm trigger --subsystem-match=drm --subsystem-match=input
|
||||
|
||||
to make udev label the devices wayland will use.
|
||||
|
||||
If DISPLAY is set, the wayland compositor will run under X in a window
|
||||
and take input from X. Otherwise it will run on the KMS framebuffer
|
||||
and take input from evdev devices. Pick a background image that you
|
||||
like and copy it to the Wayland source directory as background.jpg or
|
||||
use the -b command line option:
|
||||
|
||||
$ ./wayland-system-compositor -b my-image.jpg
|
||||
|
||||
To run clients, switch to a different VT and run the client from
|
||||
there. Or run it under X and start up the clients from a terminal
|
||||
window. There are a few demo clients available, but they are all
|
||||
pretty simple and mostly for testing specific features in the wayland
|
||||
protocol: 'terminal' is a simple terminal emulator, not very compliant
|
||||
at all, but works well enough for bash
|
||||
|
||||
'flower' moves a flower around the screen, testing the frame protocol
|
||||
'gears' glxgears, but for wayland, currently broken
|
||||
'image' loads the image files passed on the command line and shows them
|
||||
|
||||
'view' does the same for pdf files, but needs file URIs
|
||||
(file:///path/to/pdf)
|
||||
where PREFIX is where you want to install the libraries. See
|
||||
http://wayland.freedesktop.org for more complete build instructions
|
||||
for wayland, weston, xwayland and various toolkits.
|
||||
Loading…
Add table
Add a link
Reference in a new issue