35 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
What is Wayland?
 | 
						|
 | 
						|
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
 | 
						|
modesetting and evdev input devices, an X application, or a wayland
 | 
						|
client itself.  The clients can be traditional applications, X servers
 | 
						|
(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
 | 
						|
other interactions that must go through the compositor.  However, the
 | 
						|
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 weston compositor is a reference implementation of a wayland
 | 
						|
compositor and the weston repository also includes a few example
 | 
						|
clients.
 | 
						|
 | 
						|
Building the wayland libraries is fairly simple, aside from libffi,
 | 
						|
they don't have many dependencies:
 | 
						|
 | 
						|
    $ git clone https://gitlab.freedesktop.org/wayland/wayland
 | 
						|
    $ cd wayland
 | 
						|
    $ meson build/ --prefix=PREFIX
 | 
						|
    $ ninja -C build/ install
 | 
						|
 | 
						|
where PREFIX is where you want to install the libraries.  See
 | 
						|
https://wayland.freedesktop.org for more complete build instructions
 | 
						|
for wayland, weston, xwayland and various toolkits.
 |