2014-10-08 19:20:08 +08:00
|
|
|
What is Wayland?
|
2010-09-15 00:41:26 +08:00
|
|
|
|
|
|
|
Wayland is a project to define a protocol for a compositor to talk to
|
|
|
|
its clients as well as a library implementation of the protocol. The
|
|
|
|
compositor can be a standalone display server running on Linux kernel
|
2013-02-14 13:29:15 +08:00
|
|
|
modesetting and evdev input devices, an X application, or a wayland
|
2010-11-09 14:31:30 +08:00
|
|
|
client itself. The clients can be traditional applications, X servers
|
2010-09-15 00:41:26 +08:00
|
|
|
(rootless or fullscreen) or other display servers.
|
|
|
|
|
|
|
|
The wayland protocol is essentially only about input handling and
|
|
|
|
buffer management. The compositor receives input events and forwards
|
|
|
|
them to the relevant client. The clients creates buffers and renders
|
|
|
|
into them and notifies the compositor when it needs to redraw. The
|
|
|
|
protocol also handles drag and drop, selections, window management and
|
2012-05-23 14:08:08 +08:00
|
|
|
other interactions that must go through the compositor. However, the
|
2010-09-15 00:41:26 +08:00
|
|
|
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.
|
|
|
|
|
2012-07-21 00:20:15 +08:00
|
|
|
The weston compositor is a reference implementation of a wayland
|
|
|
|
compositor and the weston repository also includes a few example
|
2013-02-14 13:29:15 +08:00
|
|
|
clients.
|
2012-07-21 00:20:15 +08:00
|
|
|
|
|
|
|
Building the wayland libraries is fairly simple, aside from libffi,
|
|
|
|
they don't have many dependencies:
|
|
|
|
|
2018-06-09 07:49:33 +08:00
|
|
|
$ git clone https://gitlab.freedesktop.org/wayland/wayland
|
2012-07-21 00:20:15 +08:00
|
|
|
$ cd wayland
|
|
|
|
$ ./autogen.sh --prefix=PREFIX
|
|
|
|
$ make
|
|
|
|
$ make install
|
|
|
|
|
|
|
|
where PREFIX is where you want to install the libraries. See
|
2018-06-09 07:49:33 +08:00
|
|
|
https://wayland.freedesktop.org for more complete build instructions
|
2013-02-14 13:29:15 +08:00
|
|
|
for wayland, weston, xwayland and various toolkits.
|