1WESTON(1) General Commands Manual WESTON(1)
2
3
4
6 weston - the reference Wayland server
7
9 weston
10
12 weston is the reference implementation of a Wayland server. A Wayland
13 server is a display server, a window manager, and a compositor all in
14 one. Weston has several backends as loadable modules: it can run on
15 Linux KMS (kernel modesetting via DRM), as an X client, or inside an‐
16 other Wayland server instance.
17
18 Weston supports fundamentally different graphical user interface para‐
19 digms via shell plugins. Two plugins are provided: the desktop shell,
20 and the kiosk shell.
21
22 Weston also supports X clients via XWayland, see below.
23
25 drm-backend.so
26 The DRM backend uses Linux KMS for output and evdev devices for
27 input. It supports multiple monitors in a unified desktop with
28 DPMS. See weston-drm(7), if installed.
29
30 wayland-backend.so
31 The Wayland backend runs on another Wayland server, a different
32 Weston instance, for example. Weston shows up as a single desk‐
33 top window on the parent server.
34
35 x11-backend.so
36 The X11 backend runs on an X server. Each Weston output becomes
37 an X window. This is a cheap way to test multi-monitor support
38 of a Wayland shell, desktop, or applications.
39
40 rdp-backend.so
41 The RDP backend runs in memory without the need of graphical
42 hardware. Access to the desktop is done by using the RDP proto‐
43 col. Each connecting client has its own seat making it a cheap
44 way to test multi-seat support. See weston-rdp(7), if installed.
45
47 Each of these shells have its own public protocol interface for
48 clients. This means that a client must be specifically written for a
49 shell protocol, otherwise it will not work.
50
51 Desktop shell
52 Desktop shell is like a modern X desktop environment, concen‐
53 trating on traditional keyboard and mouse user interfaces and
54 the familiar desktop-like window management. Desktop shell con‐
55 sists of the shell plugin desktop-shell.so and the special
56 client weston-desktop-shell which provides the wallpaper, panel,
57 and screen locking dialog.
58
59 Fullscreen shell
60 Fullscreen shell is intended for a client that needs to take
61 over whole outputs, often all outputs. This is primarily in‐
62 tended for running another compositor on Weston. The other com‐
63 positor does not need to handle any platform-specifics like
64 DRM/KMS or evdev/libinput. The shell consists only of the shell
65 plugin fullscreen-shell.so.
66
67 IVI-shell
68 In-vehicle infotainment shell is a special purpose shell that
69 exposes a GENIVI Layer Manager compatible API to controller mod‐
70 ules, and a very simple shell protocol towards clients. IVI-
71 shell starts with loading ivi-shell.so, and then a controller
72 module which may launch helper clients.
73
75 XWayland requires a special X.org server to be installed. This X server
76 will connect to a Wayland server as a Wayland client, and X clients
77 will connect to the X server. XWayland provides backwards compatibility
78 to X applications in a Wayland stack.
79
80 XWayland is activated by instructing weston to load the XWayland mod‐
81 ule, see EXAMPLES. Weston starts listening on a new X display socket,
82 and exports it in the environment variable DISPLAY. When the first X
83 client connects, Weston launches a special X server as a Wayland client
84 to handle the X client and all future X clients.
85
86 It has also its own X window manager where cursor themes and sizes can
87 be chosen using XCURSOR_PATH and XCURSOR_SIZE environment variables.
88 See ENVIRONMENT.
89
91 Weston core options:
92 -Bbackend.so, --backend=backend.so
93 Load backend.so instead of the default backend. The file is
94 searched for in /usr/lib64/weston, or you can pass an absolute
95 path. The default backend is drm-backend.so unless the environ‐
96 ment suggests otherwise, see DISPLAY and WAYLAND_DISPLAY.
97
98 -cconfig.ini, --config=config.ini
99 Load config.ini instead of weston.ini. The argument can also be
100 an absolute path starting with a /. If the path is not abso‐
101 lute, it will be searched in the normal config paths, see we‐
102 ston.ini(5). If also --no-config is given, no configuration
103 file will be read.
104
105 --debug
106 Enable debug protocol extension weston_debug_v1 which any client
107 can use to receive debugging messages from the compositor.
108
109 WARNING: This is risky for two reasons. First, a client may
110 cause a denial-of-service blocking the compositor by providing
111 an unsuitable file descriptor, and second, the debug messages
112 may expose sensitive information. Additionally this will expose
113 weston-screenshooter interface allowing the user to take screen‐
114 shots of the outputs using weston-screenshooter application,
115 which can lead to silently leaking the output contents. This
116 option should not be used in production.
117
118 -lscope1,scope2, --logger-scopes=scope1,scope2
119 Specify to which log scopes should subscribe to. When no scopes
120 are supplied, the log "log" scope will be subscribed by default.
121 Useful to control which streams to write data into the logger
122 and can be helpful in diagnosing early start-up code.
123
124 -fscope1,scope2, --flight-rec-scopes=scope1,scope2
125 Specify to which scopes should subscribe to. Useful to control
126 which streams to write data into the flight recorder. Flight
127 recorder has limited space, once the flight recorder is full new
128 data will overwrite the old data. Without any scopes specified,
129 it subscribes to 'log' and 'drm-backend' scopes. Passing an
130 empty value would disable the flight recorder entirely.
131
132 --version
133 Print the program version.
134
135 -h, --help
136 Print a summary of command line options, and quit.
137
138 -iN, --idle-time=N
139 Set the idle timeout to N seconds. The default timeout is 300
140 seconds. When there has not been any user input for the idle
141 timeout, Weston enters an inactive mode. The screen fades to
142 black, monitors may switch off, and the shell may lock the ses‐
143 sion. A value of 0 effectively disables the timeout.
144
145 --log=file.log
146 Append log messages to the file file.log instead of writing them
147 to stderr.
148
149 --xwayland
150 Ask Weston to load the XWayland module.
151
152 --modules=module1.so,module2.so
153 Load the comma-separated list of modules. Only used by the test
154 suite. The file is searched for in /usr/lib64/weston, or you can
155 pass an absolute path.
156
157 --no-config
158 Do not read weston.ini for the compositor. Avoids e.g. loading
159 compositor modules via the configuration file, which is useful
160 for unit tests.
161
162 -Sname, --socket=name
163 Weston will listen in the Wayland socket called name. Weston
164 will export WAYLAND_DISPLAY with this value in the environment
165 for all child processes to allow them to connect to the right
166 server automatically.
167
168 --wait-for-debugger
169 Raises SIGSTOP before initializing the compositor. This allows
170 the user to attach with a debugger and continue execution by
171 sending SIGCONT. This is useful for debugging a crash on start-
172 up when it would be inconvenient to launch weston directly from
173 a debugger. There is also a weston.ini option to do the same.
174
175 DRM backend options:
176 See weston-drm(7).
177
178 Wayland backend options:
179 --display=display
180 Name of the Wayland display to connect to, see also WAYLAND_DIS‐
181 PLAY of the environment.
182
183 --fullscreen
184 Create a single fullscreen output
185
186 --output-count=N
187 Create N Wayland windows to emulate the same number of outputs.
188
189 --width=W, --height=H
190 Make all outputs have a size of WxH pixels.
191
192 --scale=N
193 Give all outputs a scale factor of N.
194
195 --use-pixman
196 Use the pixman renderer. By default, weston will try to use EGL
197 and GLES2 for rendering and will fall back to the pixman-based
198 renderer for software compositing if EGL cannot be used. Pass‐
199 ing this option will force weston to use the pixman renderer.
200
201 X11 backend options:
202 --fullscreen
203
204 --no-input
205 Do not provide any input devices. Used for testing input-less
206 Weston.
207
208 --output-count=N
209 Create N X windows to emulate the same number of outputs.
210
211 --width=W, --height=H
212 Make the default size of each X window WxH pixels.
213
214 --scale=N
215 Give all outputs a scale factor of N.
216
217 --use-pixman
218 Use the pixman renderer. By default weston will try to use EGL
219 and GLES2 for rendering. Passing this option will make weston
220 use the pixman library for software compsiting.
221
222 RDP backend options:
223 See weston-rdp(7).
224
226 If the environment variable is set, the configuration file is read from
227 the respective path.
228
229 $XDG_CONFIG_HOME/weston.ini
230 $HOME/.config/weston.ini
231
233 DISPLAY
234 The X display. If DISPLAY is set, and WAYLAND_DISPLAY is not
235 set, the default backend becomes x11-backend.so.
236
237 WAYLAND_DEBUG
238 If set to any value, causes libwayland to print the live proto‐
239 col to stderr.
240
241 WAYLAND_DISPLAY
242 The name of the display (socket) of an already running Wayland
243 server, without the path. The directory path is always taken
244 from XDG_RUNTIME_DIR. If WAYLAND_DISPLAY is not set, the socket
245 name is "wayland-0".
246
247 If WAYLAND_DISPLAY is already set, the default backend becomes
248 wayland-backend.so. This allows launching Weston as a nested
249 server.
250
251 WAYLAND_SOCKET
252 For Wayland clients, holds the file descriptor of an open local
253 socket to a Wayland server.
254
255 WESTON_CONFIG_FILE
256 Weston sets this variable to the absolute path of the configura‐
257 tion file it loads, or to the empty string if no file is used.
258 Programs that use weston.ini will read the file specified by
259 this variable instead, or do not read any file if it is empty.
260 Unset variable causes falling back to the default name we‐
261 ston.ini.
262
263 XCURSOR_PATH
264 Set the list of paths to look for cursors in. It changes both
265 libwayland-cursor and libXcursor, so it affects both Wayland and
266 X11 based clients. See xcursor (3).
267
268 XCURSOR_SIZE
269 This variable can be set for choosing an specific size of cur‐
270 sor. Affect Wayland and X11 clients. See xcursor (3).
271
272 XDG_CONFIG_HOME
273 If set, specifies the directory where to look for weston.ini.
274
275 XDG_RUNTIME_DIR
276 The directory for Weston's socket and lock files. Wayland
277 clients will automatically use this.
278
280 Bugs should be reported to the freedesktop.org bugzilla at
281 https://bugs.freedesktop.org with product "Wayland" and component "we‐
282 ston".
283
285 http://wayland.freedesktop.org/
286
288 Launch Weston with the DRM backend on a VT
289 weston
290
291 Launch Weston with the DRM backend and XWayland support
292 weston --xwayland
293
294 Launch Weston (wayland-1) nested in another Weston instance (wayland-0)
295 WAYLAND_DISPLAY=wayland-0 weston -Swayland-1
296
297 From an X terminal, launch Weston with the x11 backend
298 weston
299
301 weston-bindings(7), weston-debug(1), weston-drm(7), weston-rdp(7), we‐
302 ston.ini(5)
303
304
305
306Weston 11.0.1 2019-03-23 WESTON(1)