blob: face22989f01506c290876425d60f8baa2616a2b [file] [log] [blame]
Pekka Paalanen864c7842012-11-27 16:54:09 +02001.TH WESTON 1 "2012-11-27" "Weston __version__"
Pekka Paalanena91291c2012-08-29 15:49:48 +03002.SH NAME
3weston \- the reference Wayland server
4.SH SYNOPSIS
5.B weston
6.
7.\" ***************************************************************
8.SH DESCRIPTION
9.B weston
10is the reference implementation of a Wayland server. A Wayland server is a
11display server, a window manager, and a compositor all in one. Weston has
12several backends as loadable modules: it can run on Linux KMS (kernel
13modesetting via DRM), as an X client, or inside another Wayland server
14instance.
15
16Weston supports fundamentally different graphical user interface paradigms via
17shell plugins. Two plugins are provided: the desktop shell, and the tablet
18shell.
19
20When weston is started as the first windowing system (i.e. not under X nor
21under another Wayland server), it should be done with the command
22.B weston-launch
23to set up proper privileged access to devices.
24
Pekka Paalanen495cc242012-09-13 13:46:27 +030025Weston also supports X clients via
26.BR XWayland ", see below."
Pekka Paalanena91291c2012-08-29 15:49:48 +030027.
28.\" ***************************************************************
29.SH BACKENDS
30.TP
31.I drm-backend.so
32The DRM backend uses Linux KMS for output and evdev devices for input.
Pekka Paalanen424820f2012-11-27 16:54:08 +020033It supports multiple monitors in a unified desktop with DPMS. See
34.BR weston-drm (7),
35if installed.
Pekka Paalanena91291c2012-08-29 15:49:48 +030036.TP
37.I wayland-backend.so
38The Wayland backend runs on another Wayland server, a different Weston
39instance, for example. Weston shows up as a single desktop window on
40the parent server.
41.TP
42.I x11-backend.so
43The X11 backend runs on an X server. Each Weston output becomes an
44X window. This is a cheap way to test multi-monitor support of a
45Wayland shell, desktop, or applications.
46.
47.\" ***************************************************************
48.SH SHELLS
Pekka Paalanen41d2ccc2015-03-20 15:59:01 +020049Each of these shells have its own public protocol interface for clients.
50This means that a client must be specifically written for a shell protocol,
51otherwise it will not work.
Pekka Paalanena91291c2012-08-29 15:49:48 +030052.TP
53Desktop shell
54Desktop shell is like a modern X desktop environment, concentrating
55on traditional keyboard and mouse user interfaces and the familiar
56desktop-like window management. Desktop shell consists of the
57shell plugin
58.I desktop-shell.so
59and the special client
60.B weston-desktop-shell
61which provides the wallpaper, panel, and screen locking dialog.
62.TP
Pekka Paalanen41d2ccc2015-03-20 15:59:01 +020063Fullscreen shell
64Fullscreen shell is intended for a client that needs to take over
65whole outputs, often all outputs. This is primarily intended for
66running another compositor on Weston. The other compositor does not
67need to handle any platform-specifics like DRM/KMS or evdev/libinput.
68The shell consists only of the shell plugin
69.IR fullscreen-shell.so .
70.TP
71IVI-shell
72In-vehicle infotainment shell is a special purpose shell that exposes
73a GENIVI Layer Manager compatible API to controller modules, and a very
74simple shell protocol towards clients. IVI-shell starts with loading
75.IR ivi-shell.so ,
76and then a controller module which may launch helper clients.
Pekka Paalanena91291c2012-08-29 15:49:48 +030077.
78.\" ***************************************************************
Pekka Paalanen495cc242012-09-13 13:46:27 +030079.SH XWAYLAND
80XWayland requires a special X.org server to be installed. This X server will
81connect to a Wayland server as a Wayland client, and X clients will connect to
82the X server. XWayland provides backwards compatibility to X applications in a
83Wayland stack.
84
85XWayland is activated by instructing
Quentin Glidic6d3887b2016-07-04 14:34:48 +020086.BR weston " to load the XWayland module, see " EXAMPLES .
Pekka Paalanen495cc242012-09-13 13:46:27 +030087Weston starts listening on a new X display socket, and exports it in the
88environment variable
89.BR DISPLAY .
90When the first X client connects, Weston launches a special X server as a
91Wayland client to handle the X client and all future X clients.
Tiago Vignatti5643aa52012-09-28 16:29:47 +030092
93It has also its own X window manager where cursor themes and sizes can be
94chosen using
95.BR XCURSOR_PATH
96and
97.BR XCURSOR_SIZE " environment variables. See " ENVIRONMENT .
Pekka Paalanen495cc242012-09-13 13:46:27 +030098.
99.\" ***************************************************************
Pekka Paalanena91291c2012-08-29 15:49:48 +0300100.SH OPTIONS
101.
102.SS Weston core options:
103.TP
104\fB\-\^B\fR\fIbackend.so\fR, \fB\-\-backend\fR=\fIbackend.so\fR
105Load
106.I backend.so
107instead of the default backend. The file is searched for in
108.IR "__weston_modules_dir__" ,
109or you can pass an absolute path. The default backend is
Pekka Paalanena51e6fa2012-11-07 12:25:12 +0200110.I __weston_native_backend__
Pekka Paalanena91291c2012-08-29 15:49:48 +0300111unless the environment suggests otherwise, see
112.IR DISPLAY " and " WAYLAND_DISPLAY .
113.TP
Pekka Paalanen8a0e0ba2015-03-24 15:56:20 +0200114\fB\-\^c\fR\fIconfig.ini\fR, \fB\-\-config\fR=\fIconfig.ini\fR
115Load
116.IR config.ini " instead of " weston.ini .
117The argument can also be an absolute path starting with a
118.IR / .
119If the path is not absolute, it will be searched in the normal config
120paths, see
121.BR weston.ini (5).
122If also
123.B --no-config
124is given, no configuration file will be read.
125.TP
Scott Moreau12245142012-08-29 15:15:58 -0600126.BR \-\-version
127Print the program version.
128.TP
Pekka Paalanena91291c2012-08-29 15:49:48 +0300129.BR \-\^h ", " \-\-help
Scott Moreau12245142012-08-29 15:15:58 -0600130Print a summary of command line options, and quit.
Pekka Paalanena91291c2012-08-29 15:49:48 +0300131.TP
132\fB\-\^i\fR\fIN\fR, \fB\-\-idle\-time\fR=\fIN\fR
133Set the idle timeout to
134.I N
135seconds. The default timeout is 300 seconds. When there has not been any
136user input for the idle timeout, Weston enters an inactive mode. The
Pekka Paalanenb37ac402015-06-16 13:56:57 +0300137screen fades to black, monitors may switch off, and the shell may lock
138the session.
Scott Moreau650aab52013-03-09 11:55:40 -0700139A value of 0 effectively disables the timeout.
Pekka Paalanena91291c2012-08-29 15:49:48 +0300140.TP
141\fB\-\-log\fR=\fIfile.log\fR
142Append log messages to the file
143.I file.log
144instead of writing them to stderr.
145.TP
Quentin Glidic6d3887b2016-07-04 14:34:48 +0200146\fB\-\-xwayland\fR
147Ask Weston to load the XWayland module.
148.TP
Kristian Høgsberga6813d22012-09-12 12:21:01 -0400149\fB\-\-modules\fR=\fImodule1.so,module2.so\fR
150Load the comma-separated list of modules. Only used by the test
Pekka Paalanena91291c2012-08-29 15:49:48 +0300151suite. The file is searched for in
152.IR "__weston_modules_dir__" ,
153or you can pass an absolute path.
154.TP
Pekka Paalanen588bee12014-05-07 16:26:25 +0300155.BR \-\-no-config
156Do not read
157.I weston.ini
158for the compositor. Avoids e.g. loading compositor modules via the
159configuration file, which is useful for unit tests.
160.TP
Pekka Paalanena91291c2012-08-29 15:49:48 +0300161\fB\-\^S\fR\fIname\fR, \fB\-\-socket\fR=\fIname\fR
162Weston will listen in the Wayland socket called
163.IR name .
164Weston will export
165.B WAYLAND_DISPLAY
166with this value in the environment for all child processes to allow them to
167connect to the right server automatically.
Pekka Paalanena91291c2012-08-29 15:49:48 +0300168.SS DRM backend options:
Pekka Paalanen424820f2012-11-27 16:54:08 +0200169See
170.BR weston-drm (7).
Pekka Paalanena91291c2012-08-29 15:49:48 +0300171.
172.SS Wayland backend options:
173.TP
174\fB\-\-display\fR=\fIdisplay\fR
175Name of the Wayland display to connect to, see also
176.I WAYLAND_DISPLAY
177of the environment.
178.TP
Jason Ekstrand399841d2013-11-10 17:26:28 -0600179.B \-\-fullscreen
180Create a single fullscreen output
181.TP
182\fB\-\-output\-count\fR=\fIN\fR
183Create
184.I N
185Wayland windows to emulate the same number of outputs.
186.TP
Pekka Paalanena91291c2012-08-29 15:49:48 +0300187\fB\-\-width\fR=\fIW\fR, \fB\-\-height\fR=\fIH\fR
Jason Ekstrand399841d2013-11-10 17:26:28 -0600188Make all outputs have a size of
Pekka Paalanena91291c2012-08-29 15:49:48 +0300189.IR W x H " pixels."
Jason Ekstrand399841d2013-11-10 17:26:28 -0600190.TP
191.B \-\-scale\fR=\fIN\fR
192Give all outputs a scale factor of
193.I N.
194.TP
195.B \-\-use\-pixman
196Use the pixman renderer. By default, weston will try to use EGL and
197GLES2 for rendering and will fall back to the pixman-based renderer for
198software compositing if EGL cannot be used. Passing this option will force
199weston to use the pixman renderer.
Pekka Paalanena91291c2012-08-29 15:49:48 +0300200.
201.SS X11 backend options:
202.TP
203.B \-\-fullscreen
204.TP
205.B \-\-no\-input
206Do not provide any input devices. Used for testing input-less Weston.
207.TP
208\fB\-\-output\-count\fR=\fIN\fR
209Create
210.I N
211X windows to emulate the same number of outputs.
212.TP
213\fB\-\-width\fR=\fIW\fR, \fB\-\-height\fR=\fIH\fR
214Make the default size of each X window
215.IR W x H " pixels."
Kristian Høgsbergefaca342013-01-07 15:52:44 -0500216.TP
Jason Ekstrandd89a0942014-03-07 15:29:14 -0600217.B \-\-scale\fR=\fIN\fR
218Give all outputs a scale factor of
219.I N.
220.TP
Kristian Høgsbergefaca342013-01-07 15:52:44 -0500221.B \-\-use\-pixman
222Use the pixman renderer. By default weston will try to use EGL and
223GLES2 for rendering. Passing this option will make weston use the
224pixman library for software compsiting.
Pekka Paalanena91291c2012-08-29 15:49:48 +0300225.
226.\" ***************************************************************
227.SH FILES
228.
Pekka Paalanen864c7842012-11-27 16:54:09 +0200229If the environment variable is set, the configuration file is read
230from the respective path, or the current directory if neither is set.
231.PP
232.BI $XDG_CONFIG_HOME /weston.ini
233.br
234.BI $HOME /.config/weston.ini
235.br
236.I ./weston.ini
237.br
238.
Pekka Paalanena91291c2012-08-29 15:49:48 +0300239.\" ***************************************************************
240.SH ENVIRONMENT
241.
242.TP
243.B DISPLAY
244The X display. If
245.B DISPLAY
246is set, and
247.B WAYLAND_DISPLAY
248is not set, the default backend becomes
249.IR x11-backend.so .
250.TP
251.B WAYLAND_DEBUG
252If set to any value, causes libwayland to print the live protocol
253to stderr.
254.TP
255.B WAYLAND_DISPLAY
256The name of the display (socket) of an already running Wayland server, without
257the path. The directory path is always taken from
258.BR XDG_RUNTIME_DIR .
259If
260.B WAYLAND_DISPLAY
261is not set, the socket name is "wayland-0".
262
263If
264.B WAYLAND_DISPLAY
265is already set, the default backend becomes
266.IR wayland-backend.so .
267This allows launching Weston as a nested server.
268.TP
269.B WAYLAND_SOCKET
Pekka Paalanen864c7842012-11-27 16:54:09 +0200270For Wayland clients, holds the file descriptor of an open local socket
271to a Wayland server.
Pekka Paalanena91291c2012-08-29 15:49:48 +0300272.TP
Pekka Paalanen6c71aae2015-03-24 15:56:19 +0200273.B WESTON_CONFIG_FILE
274Weston sets this variable to the absolute path of the configuration file
275it loads, or to the empty string if no file is used. Programs that use
276.I weston.ini
277will read the file specified by this variable instead, or do not read any
278file if it is empty. Unset variable causes falling back to the default
279name
280.IR weston.ini .
281.TP
Tiago Vignatti5643aa52012-09-28 16:29:47 +0300282.B XCURSOR_PATH
283Set the list of paths to look for cursors in. It changes both
284libwayland-cursor and libXcursor, so it affects both Wayland and X11 based
285clients. See
286.B xcursor
287(3).
288.TP
Pekka Paalanena91291c2012-08-29 15:49:48 +0300289.B XCURSOR_SIZE
Tiago Vignatti5643aa52012-09-28 16:29:47 +0300290This variable can be set for choosing an specific size of cursor. Affect
291Wayland and X11 clients. See
292.B xcursor
293(3).
Pekka Paalanena91291c2012-08-29 15:49:48 +0300294.TP
295.B XDG_CONFIG_HOME
Pekka Paalanen864c7842012-11-27 16:54:09 +0200296If set, specifies the directory where to look for
297.BR weston.ini .
Pekka Paalanena91291c2012-08-29 15:49:48 +0300298.TP
299.B XDG_RUNTIME_DIR
300The directory for Weston's socket and lock files.
301Wayland clients will automatically use this.
302.
303.\" ***************************************************************
304.SH DIAGNOSTICS
Pekka Paalanen864c7842012-11-27 16:54:09 +0200305Weston has a segmentation fault handler, that attempts to restore
306the virtual console or ungrab X before raising
307.BR SIGTRAP .
308If you run
309.BR weston " under " gdb (1)
310from an X11 terminal or a different virtual terminal, and tell gdb
311.IP
312handle SIGSEGV nostop
313.PP
314This will allow weston to switch back to gdb on crash and then
315gdb will catch the crash with SIGTRAP.
Pekka Paalanena91291c2012-08-29 15:49:48 +0300316.
317.\" ***************************************************************
318.SH BUGS
319Bugs should be reported to the freedesktop.org bugzilla at
320https://bugs.freedesktop.org with product "Wayland" and
321component "weston".
322.
323.\" ***************************************************************
324.SH WWW
325http://wayland.freedesktop.org/
326.
327.\" ***************************************************************
328.SH EXAMPLES
Pekka Paalanen495cc242012-09-13 13:46:27 +0300329.IP "Launch Weston with the DRM backend on a VT"
Pekka Paalanena91291c2012-08-29 15:49:48 +0300330weston-launch
Pekka Paalanen495cc242012-09-13 13:46:27 +0300331.IP "Launch Weston with the DRM backend and XWayland support"
Quentin Glidic6d3887b2016-07-04 14:34:48 +0200332weston-launch -- --xwayland
Pekka Paalanena91291c2012-08-29 15:49:48 +0300333.IP "Launch Weston (wayland-1) nested in another Weston instance (wayland-0)"
334WAYLAND_DISPLAY=wayland-0 weston -Swayland-1
335.IP "From an X terminal, launch Weston with the x11 backend"
336weston
337.
338.\" ***************************************************************
Pekka Paalanen424820f2012-11-27 16:54:08 +0200339.SH "SEE ALSO"
340.BR weston-drm (7)
Pekka Paalanena91291c2012-08-29 15:49:48 +0300341.\".BR weston-launch (1),
342.\".BR weston.ini (5)