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
16 another 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
68 intended for running another compositor on Weston. The other
69 compositor 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
108 weston.ini(5). If also --no-config is given, no configuration
109 file will be read.
110
111 --version
112 Print the program version.
113
114 -h, --help
115 Print a summary of command line options, and quit.
116
117 -iN, --idle-time=N
118 Set the idle timeout to N seconds. The default timeout is 300
119 seconds. When there has not been any user input for the idle
120 timeout, Weston enters an inactive mode. The screen fades to
121 black, monitors may switch off, and the shell may lock the ses‐
122 sion. A value of 0 effectively disables the timeout.
123
124 --log=file.log
125 Append log messages to the file file.log instead of writing them
126 to stderr.
127
128 --xwayland
129 Ask Weston to load the XWayland module.
130
131 --modules=module1.so,module2.so
132 Load the comma-separated list of modules. Only used by the test
133 suite. The file is searched for in /usr/lib64/weston, or you can
134 pass an absolute path.
135
136 --no-config
137 Do not read weston.ini for the compositor. Avoids e.g. loading
138 compositor modules via the configuration file, which is useful
139 for unit tests.
140
141 -Sname, --socket=name
142 Weston will listen in the Wayland socket called name. Weston
143 will export WAYLAND_DISPLAY with this value in the environment
144 for all child processes to allow them to connect to the right
145 server automatically.
146
147 --wait-for-debugger
148 Raises SIGSTOP before initializing the compositor. This allows
149 the user to attach with a debugger and continue execution by
150 sending SIGCONT. This is useful for debugging a crash on start-
151 up when it would be inconvenient to launch weston directly from
152 a debugger. There is also a weston.ini option to do the same.
153
154 DRM backend options:
155 See weston-drm(7).
156
157 Wayland backend options:
158 --display=display
159 Name of the Wayland display to connect to, see also WAYLAND_DIS‐
160 PLAY of the environment.
161
162 --fullscreen
163 Create a single fullscreen output
164
165 --output-count=N
166 Create N Wayland windows to emulate the same number of outputs.
167
168 --width=W, --height=H
169 Make all outputs have a size of WxH pixels.
170
171 --scale=N
172 Give all outputs a scale factor of N.
173
174 --use-pixman
175 Use the pixman renderer. By default, weston will try to use EGL
176 and GLES2 for rendering and will fall back to the pixman-based
177 renderer for software compositing if EGL cannot be used. Pass‐
178 ing this option will force weston to use the pixman renderer.
179
180 X11 backend options:
181 --fullscreen
182
183 --no-input
184 Do not provide any input devices. Used for testing input-less
185 Weston.
186
187 --output-count=N
188 Create N X windows to emulate the same number of outputs.
189
190 --width=W, --height=H
191 Make the default size of each X window WxH pixels.
192
193 --scale=N
194 Give all outputs a scale factor of N.
195
196 --use-pixman
197 Use the pixman renderer. By default weston will try to use EGL
198 and GLES2 for rendering. Passing this option will make weston
199 use the pixman library for software compsiting.
200
201 RDP backend options:
202 See weston-rdp(7).
203
205 If the environment variable is set, the configuration file is read from
206 the respective path, or the current directory if neither is set.
207
208 $XDG_CONFIG_HOME/weston.ini
209 $HOME/.config/weston.ini
210 ./weston.ini
211
213 DISPLAY
214 The X display. If DISPLAY is set, and WAYLAND_DISPLAY is not
215 set, the default backend becomes x11-backend.so.
216
217 WAYLAND_DEBUG
218 If set to any value, causes libwayland to print the live proto‐
219 col to stderr.
220
221 WAYLAND_DISPLAY
222 The name of the display (socket) of an already running Wayland
223 server, without the path. The directory path is always taken
224 from XDG_RUNTIME_DIR. If WAYLAND_DISPLAY is not set, the socket
225 name is "wayland-0".
226
227 If WAYLAND_DISPLAY is already set, the default backend becomes
228 wayland-backend.so. This allows launching Weston as a nested
229 server.
230
231 WAYLAND_SOCKET
232 For Wayland clients, holds the file descriptor of an open local
233 socket to a Wayland server.
234
235 WESTON_CONFIG_FILE
236 Weston sets this variable to the absolute path of the configura‐
237 tion file it loads, or to the empty string if no file is used.
238 Programs that use weston.ini will read the file specified by
239 this variable instead, or do not read any file if it is empty.
240 Unset variable causes falling back to the default name
241 weston.ini.
242
243 XCURSOR_PATH
244 Set the list of paths to look for cursors in. It changes both
245 libwayland-cursor and libXcursor, so it affects both Wayland and
246 X11 based clients. See xcursor (3).
247
248 XCURSOR_SIZE
249 This variable can be set for choosing an specific size of cur‐
250 sor. Affect Wayland and X11 clients. See xcursor (3).
251
252 XDG_CONFIG_HOME
253 If set, specifies the directory where to look for weston.ini.
254
255 XDG_RUNTIME_DIR
256 The directory for Weston's socket and lock files. Wayland
257 clients will automatically use this.
258
260 Bugs should be reported to the freedesktop.org bugzilla at
261 https://bugs.freedesktop.org with product "Wayland" and component
262 "weston".
263
265 http://wayland.freedesktop.org/
266
268 Launch Weston with the DRM backend on a VT
269 weston-launch
270
271 Launch Weston with the DRM backend and XWayland support
272 weston-launch -- --xwayland
273
274 Launch Weston (wayland-1) nested in another Weston instance (wayland-0)
275 WAYLAND_DISPLAY=wayland-0 weston -Swayland-1
276
277 From an X terminal, launch Weston with the x11 backend
278 weston
279
281 weston-drm(7) weston-rdp(7)
282
283
284
285Weston 5.0.0 2012-11-27 WESTON(1)