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