Pekka Paalanen | 864c784 | 2012-11-27 16:54:09 +0200 | [diff] [blame] | 1 | .TH WESTON 1 "2012-11-27" "Weston __version__" |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 2 | .SH NAME |
| 3 | weston \- the reference Wayland server |
| 4 | .SH SYNOPSIS |
| 5 | .B weston |
| 6 | . |
| 7 | .\" *************************************************************** |
| 8 | .SH DESCRIPTION |
| 9 | .B weston |
| 10 | is the reference implementation of a Wayland server. A Wayland server is a |
| 11 | display server, a window manager, and a compositor all in one. Weston has |
| 12 | several backends as loadable modules: it can run on Linux KMS (kernel |
| 13 | modesetting via DRM), as an X client, or inside another Wayland server |
| 14 | instance. |
| 15 | |
| 16 | Weston supports fundamentally different graphical user interface paradigms via |
| 17 | shell plugins. Two plugins are provided: the desktop shell, and the tablet |
| 18 | shell. |
| 19 | |
| 20 | When weston is started as the first windowing system (i.e. not under X nor |
| 21 | under another Wayland server), it should be done with the command |
| 22 | .B weston-launch |
| 23 | to set up proper privileged access to devices. |
| 24 | |
Pekka Paalanen | 495cc24 | 2012-09-13 13:46:27 +0300 | [diff] [blame] | 25 | Weston also supports X clients via |
| 26 | .BR XWayland ", see below." |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 27 | . |
| 28 | .\" *************************************************************** |
| 29 | .SH BACKENDS |
| 30 | .TP |
| 31 | .I drm-backend.so |
| 32 | The DRM backend uses Linux KMS for output and evdev devices for input. |
Pekka Paalanen | 424820f | 2012-11-27 16:54:08 +0200 | [diff] [blame] | 33 | It supports multiple monitors in a unified desktop with DPMS. See |
| 34 | .BR weston-drm (7), |
| 35 | if installed. |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 36 | .TP |
| 37 | .I wayland-backend.so |
| 38 | The Wayland backend runs on another Wayland server, a different Weston |
| 39 | instance, for example. Weston shows up as a single desktop window on |
| 40 | the parent server. |
| 41 | .TP |
| 42 | .I x11-backend.so |
| 43 | The X11 backend runs on an X server. Each Weston output becomes an |
| 44 | X window. This is a cheap way to test multi-monitor support of a |
| 45 | Wayland shell, desktop, or applications. |
| 46 | . |
| 47 | .\" *************************************************************** |
| 48 | .SH SHELLS |
Pekka Paalanen | 41d2ccc | 2015-03-20 15:59:01 +0200 | [diff] [blame] | 49 | Each of these shells have its own public protocol interface for clients. |
| 50 | This means that a client must be specifically written for a shell protocol, |
| 51 | otherwise it will not work. |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 52 | .TP |
| 53 | Desktop shell |
| 54 | Desktop shell is like a modern X desktop environment, concentrating |
| 55 | on traditional keyboard and mouse user interfaces and the familiar |
| 56 | desktop-like window management. Desktop shell consists of the |
| 57 | shell plugin |
| 58 | .I desktop-shell.so |
| 59 | and the special client |
| 60 | .B weston-desktop-shell |
| 61 | which provides the wallpaper, panel, and screen locking dialog. |
| 62 | .TP |
Pekka Paalanen | 41d2ccc | 2015-03-20 15:59:01 +0200 | [diff] [blame] | 63 | Fullscreen shell |
| 64 | Fullscreen shell is intended for a client that needs to take over |
| 65 | whole outputs, often all outputs. This is primarily intended for |
| 66 | running another compositor on Weston. The other compositor does not |
| 67 | need to handle any platform-specifics like DRM/KMS or evdev/libinput. |
| 68 | The shell consists only of the shell plugin |
| 69 | .IR fullscreen-shell.so . |
| 70 | .TP |
| 71 | IVI-shell |
| 72 | In-vehicle infotainment shell is a special purpose shell that exposes |
| 73 | a GENIVI Layer Manager compatible API to controller modules, and a very |
| 74 | simple shell protocol towards clients. IVI-shell starts with loading |
| 75 | .IR ivi-shell.so , |
| 76 | and then a controller module which may launch helper clients. |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 77 | . |
| 78 | .\" *************************************************************** |
Pekka Paalanen | 495cc24 | 2012-09-13 13:46:27 +0300 | [diff] [blame] | 79 | .SH XWAYLAND |
| 80 | XWayland requires a special X.org server to be installed. This X server will |
| 81 | connect to a Wayland server as a Wayland client, and X clients will connect to |
| 82 | the X server. XWayland provides backwards compatibility to X applications in a |
| 83 | Wayland stack. |
| 84 | |
| 85 | XWayland is activated by instructing |
Quentin Glidic | 6d3887b | 2016-07-04 14:34:48 +0200 | [diff] [blame] | 86 | .BR weston " to load the XWayland module, see " EXAMPLES . |
Pekka Paalanen | 495cc24 | 2012-09-13 13:46:27 +0300 | [diff] [blame] | 87 | Weston starts listening on a new X display socket, and exports it in the |
| 88 | environment variable |
| 89 | .BR DISPLAY . |
| 90 | When the first X client connects, Weston launches a special X server as a |
| 91 | Wayland client to handle the X client and all future X clients. |
Tiago Vignatti | 5643aa5 | 2012-09-28 16:29:47 +0300 | [diff] [blame] | 92 | |
| 93 | It has also its own X window manager where cursor themes and sizes can be |
| 94 | chosen using |
| 95 | .BR XCURSOR_PATH |
| 96 | and |
| 97 | .BR XCURSOR_SIZE " environment variables. See " ENVIRONMENT . |
Pekka Paalanen | 495cc24 | 2012-09-13 13:46:27 +0300 | [diff] [blame] | 98 | . |
| 99 | .\" *************************************************************** |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 100 | .SH OPTIONS |
| 101 | . |
| 102 | .SS Weston core options: |
| 103 | .TP |
| 104 | \fB\-\^B\fR\fIbackend.so\fR, \fB\-\-backend\fR=\fIbackend.so\fR |
| 105 | Load |
| 106 | .I backend.so |
| 107 | instead of the default backend. The file is searched for in |
| 108 | .IR "__weston_modules_dir__" , |
| 109 | or you can pass an absolute path. The default backend is |
Pekka Paalanen | a51e6fa | 2012-11-07 12:25:12 +0200 | [diff] [blame] | 110 | .I __weston_native_backend__ |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 111 | unless the environment suggests otherwise, see |
| 112 | .IR DISPLAY " and " WAYLAND_DISPLAY . |
| 113 | .TP |
Pekka Paalanen | 8a0e0ba | 2015-03-24 15:56:20 +0200 | [diff] [blame] | 114 | \fB\-\^c\fR\fIconfig.ini\fR, \fB\-\-config\fR=\fIconfig.ini\fR |
| 115 | Load |
| 116 | .IR config.ini " instead of " weston.ini . |
| 117 | The argument can also be an absolute path starting with a |
| 118 | .IR / . |
| 119 | If the path is not absolute, it will be searched in the normal config |
| 120 | paths, see |
| 121 | .BR weston.ini (5). |
| 122 | If also |
| 123 | .B --no-config |
| 124 | is given, no configuration file will be read. |
| 125 | .TP |
Scott Moreau | 1224514 | 2012-08-29 15:15:58 -0600 | [diff] [blame] | 126 | .BR \-\-version |
| 127 | Print the program version. |
| 128 | .TP |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 129 | .BR \-\^h ", " \-\-help |
Scott Moreau | 1224514 | 2012-08-29 15:15:58 -0600 | [diff] [blame] | 130 | Print a summary of command line options, and quit. |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 131 | .TP |
| 132 | \fB\-\^i\fR\fIN\fR, \fB\-\-idle\-time\fR=\fIN\fR |
| 133 | Set the idle timeout to |
| 134 | .I N |
| 135 | seconds. The default timeout is 300 seconds. When there has not been any |
| 136 | user input for the idle timeout, Weston enters an inactive mode. The |
Pekka Paalanen | b37ac40 | 2015-06-16 13:56:57 +0300 | [diff] [blame] | 137 | screen fades to black, monitors may switch off, and the shell may lock |
| 138 | the session. |
Scott Moreau | 650aab5 | 2013-03-09 11:55:40 -0700 | [diff] [blame] | 139 | A value of 0 effectively disables the timeout. |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 140 | .TP |
| 141 | \fB\-\-log\fR=\fIfile.log\fR |
| 142 | Append log messages to the file |
| 143 | .I file.log |
| 144 | instead of writing them to stderr. |
| 145 | .TP |
Quentin Glidic | 6d3887b | 2016-07-04 14:34:48 +0200 | [diff] [blame] | 146 | \fB\-\-xwayland\fR |
| 147 | Ask Weston to load the XWayland module. |
| 148 | .TP |
Kristian Høgsberg | a6813d2 | 2012-09-12 12:21:01 -0400 | [diff] [blame] | 149 | \fB\-\-modules\fR=\fImodule1.so,module2.so\fR |
| 150 | Load the comma-separated list of modules. Only used by the test |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 151 | suite. The file is searched for in |
| 152 | .IR "__weston_modules_dir__" , |
| 153 | or you can pass an absolute path. |
| 154 | .TP |
Pekka Paalanen | 588bee1 | 2014-05-07 16:26:25 +0300 | [diff] [blame] | 155 | .BR \-\-no-config |
| 156 | Do not read |
| 157 | .I weston.ini |
| 158 | for the compositor. Avoids e.g. loading compositor modules via the |
| 159 | configuration file, which is useful for unit tests. |
| 160 | .TP |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 161 | \fB\-\^S\fR\fIname\fR, \fB\-\-socket\fR=\fIname\fR |
| 162 | Weston will listen in the Wayland socket called |
| 163 | .IR name . |
| 164 | Weston will export |
| 165 | .B WAYLAND_DISPLAY |
| 166 | with this value in the environment for all child processes to allow them to |
| 167 | connect to the right server automatically. |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 168 | .SS DRM backend options: |
Pekka Paalanen | 424820f | 2012-11-27 16:54:08 +0200 | [diff] [blame] | 169 | See |
| 170 | .BR weston-drm (7). |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 171 | . |
| 172 | .SS Wayland backend options: |
| 173 | .TP |
| 174 | \fB\-\-display\fR=\fIdisplay\fR |
| 175 | Name of the Wayland display to connect to, see also |
| 176 | .I WAYLAND_DISPLAY |
| 177 | of the environment. |
| 178 | .TP |
Jason Ekstrand | 399841d | 2013-11-10 17:26:28 -0600 | [diff] [blame] | 179 | .B \-\-fullscreen |
| 180 | Create a single fullscreen output |
| 181 | .TP |
| 182 | \fB\-\-output\-count\fR=\fIN\fR |
| 183 | Create |
| 184 | .I N |
| 185 | Wayland windows to emulate the same number of outputs. |
| 186 | .TP |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 187 | \fB\-\-width\fR=\fIW\fR, \fB\-\-height\fR=\fIH\fR |
Jason Ekstrand | 399841d | 2013-11-10 17:26:28 -0600 | [diff] [blame] | 188 | Make all outputs have a size of |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 189 | .IR W x H " pixels." |
Jason Ekstrand | 399841d | 2013-11-10 17:26:28 -0600 | [diff] [blame] | 190 | .TP |
| 191 | .B \-\-scale\fR=\fIN\fR |
| 192 | Give all outputs a scale factor of |
| 193 | .I N. |
| 194 | .TP |
| 195 | .B \-\-use\-pixman |
| 196 | Use the pixman renderer. By default, weston will try to use EGL and |
| 197 | GLES2 for rendering and will fall back to the pixman-based renderer for |
| 198 | software compositing if EGL cannot be used. Passing this option will force |
| 199 | weston to use the pixman renderer. |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 200 | . |
| 201 | .SS X11 backend options: |
| 202 | .TP |
| 203 | .B \-\-fullscreen |
| 204 | .TP |
| 205 | .B \-\-no\-input |
| 206 | Do not provide any input devices. Used for testing input-less Weston. |
| 207 | .TP |
| 208 | \fB\-\-output\-count\fR=\fIN\fR |
| 209 | Create |
| 210 | .I N |
| 211 | X windows to emulate the same number of outputs. |
| 212 | .TP |
| 213 | \fB\-\-width\fR=\fIW\fR, \fB\-\-height\fR=\fIH\fR |
| 214 | Make the default size of each X window |
| 215 | .IR W x H " pixels." |
Kristian Høgsberg | efaca34 | 2013-01-07 15:52:44 -0500 | [diff] [blame] | 216 | .TP |
Jason Ekstrand | d89a094 | 2014-03-07 15:29:14 -0600 | [diff] [blame] | 217 | .B \-\-scale\fR=\fIN\fR |
| 218 | Give all outputs a scale factor of |
| 219 | .I N. |
| 220 | .TP |
Kristian Høgsberg | efaca34 | 2013-01-07 15:52:44 -0500 | [diff] [blame] | 221 | .B \-\-use\-pixman |
| 222 | Use the pixman renderer. By default weston will try to use EGL and |
| 223 | GLES2 for rendering. Passing this option will make weston use the |
| 224 | pixman library for software compsiting. |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 225 | . |
| 226 | .\" *************************************************************** |
| 227 | .SH FILES |
| 228 | . |
Pekka Paalanen | 864c784 | 2012-11-27 16:54:09 +0200 | [diff] [blame] | 229 | If the environment variable is set, the configuration file is read |
| 230 | from 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 Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 239 | .\" *************************************************************** |
| 240 | .SH ENVIRONMENT |
| 241 | . |
| 242 | .TP |
| 243 | .B DISPLAY |
| 244 | The X display. If |
| 245 | .B DISPLAY |
| 246 | is set, and |
| 247 | .B WAYLAND_DISPLAY |
| 248 | is not set, the default backend becomes |
| 249 | .IR x11-backend.so . |
| 250 | .TP |
| 251 | .B WAYLAND_DEBUG |
| 252 | If set to any value, causes libwayland to print the live protocol |
| 253 | to stderr. |
| 254 | .TP |
| 255 | .B WAYLAND_DISPLAY |
| 256 | The name of the display (socket) of an already running Wayland server, without |
| 257 | the path. The directory path is always taken from |
| 258 | .BR XDG_RUNTIME_DIR . |
| 259 | If |
| 260 | .B WAYLAND_DISPLAY |
| 261 | is not set, the socket name is "wayland-0". |
| 262 | |
| 263 | If |
| 264 | .B WAYLAND_DISPLAY |
| 265 | is already set, the default backend becomes |
| 266 | .IR wayland-backend.so . |
| 267 | This allows launching Weston as a nested server. |
| 268 | .TP |
| 269 | .B WAYLAND_SOCKET |
Pekka Paalanen | 864c784 | 2012-11-27 16:54:09 +0200 | [diff] [blame] | 270 | For Wayland clients, holds the file descriptor of an open local socket |
| 271 | to a Wayland server. |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 272 | .TP |
Pekka Paalanen | 6c71aae | 2015-03-24 15:56:19 +0200 | [diff] [blame] | 273 | .B WESTON_CONFIG_FILE |
| 274 | Weston sets this variable to the absolute path of the configuration file |
| 275 | it loads, or to the empty string if no file is used. Programs that use |
| 276 | .I weston.ini |
| 277 | will read the file specified by this variable instead, or do not read any |
| 278 | file if it is empty. Unset variable causes falling back to the default |
| 279 | name |
| 280 | .IR weston.ini . |
| 281 | .TP |
Tiago Vignatti | 5643aa5 | 2012-09-28 16:29:47 +0300 | [diff] [blame] | 282 | .B XCURSOR_PATH |
| 283 | Set the list of paths to look for cursors in. It changes both |
| 284 | libwayland-cursor and libXcursor, so it affects both Wayland and X11 based |
| 285 | clients. See |
| 286 | .B xcursor |
| 287 | (3). |
| 288 | .TP |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 289 | .B XCURSOR_SIZE |
Tiago Vignatti | 5643aa5 | 2012-09-28 16:29:47 +0300 | [diff] [blame] | 290 | This variable can be set for choosing an specific size of cursor. Affect |
| 291 | Wayland and X11 clients. See |
| 292 | .B xcursor |
| 293 | (3). |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 294 | .TP |
| 295 | .B XDG_CONFIG_HOME |
Pekka Paalanen | 864c784 | 2012-11-27 16:54:09 +0200 | [diff] [blame] | 296 | If set, specifies the directory where to look for |
| 297 | .BR weston.ini . |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 298 | .TP |
| 299 | .B XDG_RUNTIME_DIR |
| 300 | The directory for Weston's socket and lock files. |
| 301 | Wayland clients will automatically use this. |
| 302 | . |
| 303 | .\" *************************************************************** |
| 304 | .SH DIAGNOSTICS |
Pekka Paalanen | 864c784 | 2012-11-27 16:54:09 +0200 | [diff] [blame] | 305 | Weston has a segmentation fault handler, that attempts to restore |
| 306 | the virtual console or ungrab X before raising |
| 307 | .BR SIGTRAP . |
| 308 | If you run |
| 309 | .BR weston " under " gdb (1) |
| 310 | from an X11 terminal or a different virtual terminal, and tell gdb |
| 311 | .IP |
| 312 | handle SIGSEGV nostop |
| 313 | .PP |
| 314 | This will allow weston to switch back to gdb on crash and then |
| 315 | gdb will catch the crash with SIGTRAP. |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 316 | . |
| 317 | .\" *************************************************************** |
| 318 | .SH BUGS |
| 319 | Bugs should be reported to the freedesktop.org bugzilla at |
| 320 | https://bugs.freedesktop.org with product "Wayland" and |
| 321 | component "weston". |
| 322 | . |
| 323 | .\" *************************************************************** |
| 324 | .SH WWW |
| 325 | http://wayland.freedesktop.org/ |
| 326 | . |
| 327 | .\" *************************************************************** |
| 328 | .SH EXAMPLES |
Pekka Paalanen | 495cc24 | 2012-09-13 13:46:27 +0300 | [diff] [blame] | 329 | .IP "Launch Weston with the DRM backend on a VT" |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 330 | weston-launch |
Pekka Paalanen | 495cc24 | 2012-09-13 13:46:27 +0300 | [diff] [blame] | 331 | .IP "Launch Weston with the DRM backend and XWayland support" |
Quentin Glidic | 6d3887b | 2016-07-04 14:34:48 +0200 | [diff] [blame] | 332 | weston-launch -- --xwayland |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 333 | .IP "Launch Weston (wayland-1) nested in another Weston instance (wayland-0)" |
| 334 | WAYLAND_DISPLAY=wayland-0 weston -Swayland-1 |
| 335 | .IP "From an X terminal, launch Weston with the x11 backend" |
| 336 | weston |
| 337 | . |
| 338 | .\" *************************************************************** |
Pekka Paalanen | 424820f | 2012-11-27 16:54:08 +0200 | [diff] [blame] | 339 | .SH "SEE ALSO" |
| 340 | .BR weston-drm (7) |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 341 | .\".BR weston-launch (1), |
| 342 | .\".BR weston.ini (5) |