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 |
| 86 | .BR weston " to load " xwayland.so " module, see " EXAMPLES . |
| 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 |
Kristian Høgsberg | a6813d2 | 2012-09-12 12:21:01 -0400 | [diff] [blame] | 146 | \fB\-\-modules\fR=\fImodule1.so,module2.so\fR |
| 147 | Load the comma-separated list of modules. Only used by the test |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 148 | suite. The file is searched for in |
| 149 | .IR "__weston_modules_dir__" , |
| 150 | or you can pass an absolute path. |
| 151 | .TP |
Pekka Paalanen | 588bee1 | 2014-05-07 16:26:25 +0300 | [diff] [blame] | 152 | .BR \-\-no-config |
| 153 | Do not read |
| 154 | .I weston.ini |
| 155 | for the compositor. Avoids e.g. loading compositor modules via the |
| 156 | configuration file, which is useful for unit tests. |
| 157 | .TP |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 158 | \fB\-\^S\fR\fIname\fR, \fB\-\-socket\fR=\fIname\fR |
| 159 | Weston will listen in the Wayland socket called |
| 160 | .IR name . |
| 161 | Weston will export |
| 162 | .B WAYLAND_DISPLAY |
| 163 | with this value in the environment for all child processes to allow them to |
| 164 | connect to the right server automatically. |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 165 | .SS DRM backend options: |
Pekka Paalanen | 424820f | 2012-11-27 16:54:08 +0200 | [diff] [blame] | 166 | See |
| 167 | .BR weston-drm (7). |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 168 | . |
| 169 | .SS Wayland backend options: |
| 170 | .TP |
| 171 | \fB\-\-display\fR=\fIdisplay\fR |
| 172 | Name of the Wayland display to connect to, see also |
| 173 | .I WAYLAND_DISPLAY |
| 174 | of the environment. |
| 175 | .TP |
Jason Ekstrand | 399841d | 2013-11-10 17:26:28 -0600 | [diff] [blame] | 176 | .B \-\-fullscreen |
| 177 | Create a single fullscreen output |
| 178 | .TP |
| 179 | \fB\-\-output\-count\fR=\fIN\fR |
| 180 | Create |
| 181 | .I N |
| 182 | Wayland windows to emulate the same number of outputs. |
| 183 | .TP |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 184 | \fB\-\-width\fR=\fIW\fR, \fB\-\-height\fR=\fIH\fR |
Jason Ekstrand | 399841d | 2013-11-10 17:26:28 -0600 | [diff] [blame] | 185 | Make all outputs have a size of |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 186 | .IR W x H " pixels." |
Jason Ekstrand | 399841d | 2013-11-10 17:26:28 -0600 | [diff] [blame] | 187 | .TP |
| 188 | .B \-\-scale\fR=\fIN\fR |
| 189 | Give all outputs a scale factor of |
| 190 | .I N. |
| 191 | .TP |
| 192 | .B \-\-use\-pixman |
| 193 | Use the pixman renderer. By default, weston will try to use EGL and |
| 194 | GLES2 for rendering and will fall back to the pixman-based renderer for |
| 195 | software compositing if EGL cannot be used. Passing this option will force |
| 196 | weston to use the pixman renderer. |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 197 | . |
| 198 | .SS X11 backend options: |
| 199 | .TP |
| 200 | .B \-\-fullscreen |
| 201 | .TP |
| 202 | .B \-\-no\-input |
| 203 | Do not provide any input devices. Used for testing input-less Weston. |
| 204 | .TP |
| 205 | \fB\-\-output\-count\fR=\fIN\fR |
| 206 | Create |
| 207 | .I N |
| 208 | X windows to emulate the same number of outputs. |
| 209 | .TP |
| 210 | \fB\-\-width\fR=\fIW\fR, \fB\-\-height\fR=\fIH\fR |
| 211 | Make the default size of each X window |
| 212 | .IR W x H " pixels." |
Kristian Høgsberg | efaca34 | 2013-01-07 15:52:44 -0500 | [diff] [blame] | 213 | .TP |
Jason Ekstrand | d89a094 | 2014-03-07 15:29:14 -0600 | [diff] [blame] | 214 | .B \-\-scale\fR=\fIN\fR |
| 215 | Give all outputs a scale factor of |
| 216 | .I N. |
| 217 | .TP |
Kristian Høgsberg | efaca34 | 2013-01-07 15:52:44 -0500 | [diff] [blame] | 218 | .B \-\-use\-pixman |
| 219 | Use the pixman renderer. By default weston will try to use EGL and |
| 220 | GLES2 for rendering. Passing this option will make weston use the |
| 221 | pixman library for software compsiting. |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 222 | . |
| 223 | .\" *************************************************************** |
| 224 | .SH FILES |
| 225 | . |
Pekka Paalanen | 864c784 | 2012-11-27 16:54:09 +0200 | [diff] [blame] | 226 | If the environment variable is set, the configuration file is read |
| 227 | from the respective path, or the current directory if neither is set. |
| 228 | .PP |
| 229 | .BI $XDG_CONFIG_HOME /weston.ini |
| 230 | .br |
| 231 | .BI $HOME /.config/weston.ini |
| 232 | .br |
| 233 | .I ./weston.ini |
| 234 | .br |
| 235 | . |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 236 | .\" *************************************************************** |
| 237 | .SH ENVIRONMENT |
| 238 | . |
| 239 | .TP |
| 240 | .B DISPLAY |
| 241 | The X display. If |
| 242 | .B DISPLAY |
| 243 | is set, and |
| 244 | .B WAYLAND_DISPLAY |
| 245 | is not set, the default backend becomes |
| 246 | .IR x11-backend.so . |
| 247 | .TP |
| 248 | .B WAYLAND_DEBUG |
| 249 | If set to any value, causes libwayland to print the live protocol |
| 250 | to stderr. |
| 251 | .TP |
| 252 | .B WAYLAND_DISPLAY |
| 253 | The name of the display (socket) of an already running Wayland server, without |
| 254 | the path. The directory path is always taken from |
| 255 | .BR XDG_RUNTIME_DIR . |
| 256 | If |
| 257 | .B WAYLAND_DISPLAY |
| 258 | is not set, the socket name is "wayland-0". |
| 259 | |
| 260 | If |
| 261 | .B WAYLAND_DISPLAY |
| 262 | is already set, the default backend becomes |
| 263 | .IR wayland-backend.so . |
| 264 | This allows launching Weston as a nested server. |
| 265 | .TP |
| 266 | .B WAYLAND_SOCKET |
Pekka Paalanen | 864c784 | 2012-11-27 16:54:09 +0200 | [diff] [blame] | 267 | For Wayland clients, holds the file descriptor of an open local socket |
| 268 | to a Wayland server. |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 269 | .TP |
Pekka Paalanen | 6c71aae | 2015-03-24 15:56:19 +0200 | [diff] [blame] | 270 | .B WESTON_CONFIG_FILE |
| 271 | Weston sets this variable to the absolute path of the configuration file |
| 272 | it loads, or to the empty string if no file is used. Programs that use |
| 273 | .I weston.ini |
| 274 | will read the file specified by this variable instead, or do not read any |
| 275 | file if it is empty. Unset variable causes falling back to the default |
| 276 | name |
| 277 | .IR weston.ini . |
| 278 | .TP |
Tiago Vignatti | 5643aa5 | 2012-09-28 16:29:47 +0300 | [diff] [blame] | 279 | .B XCURSOR_PATH |
| 280 | Set the list of paths to look for cursors in. It changes both |
| 281 | libwayland-cursor and libXcursor, so it affects both Wayland and X11 based |
| 282 | clients. See |
| 283 | .B xcursor |
| 284 | (3). |
| 285 | .TP |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 286 | .B XCURSOR_SIZE |
Tiago Vignatti | 5643aa5 | 2012-09-28 16:29:47 +0300 | [diff] [blame] | 287 | This variable can be set for choosing an specific size of cursor. Affect |
| 288 | Wayland and X11 clients. See |
| 289 | .B xcursor |
| 290 | (3). |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 291 | .TP |
| 292 | .B XDG_CONFIG_HOME |
Pekka Paalanen | 864c784 | 2012-11-27 16:54:09 +0200 | [diff] [blame] | 293 | If set, specifies the directory where to look for |
| 294 | .BR weston.ini . |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 295 | .TP |
| 296 | .B XDG_RUNTIME_DIR |
| 297 | The directory for Weston's socket and lock files. |
| 298 | Wayland clients will automatically use this. |
| 299 | . |
| 300 | .\" *************************************************************** |
| 301 | .SH DIAGNOSTICS |
Pekka Paalanen | 864c784 | 2012-11-27 16:54:09 +0200 | [diff] [blame] | 302 | Weston has a segmentation fault handler, that attempts to restore |
| 303 | the virtual console or ungrab X before raising |
| 304 | .BR SIGTRAP . |
| 305 | If you run |
| 306 | .BR weston " under " gdb (1) |
| 307 | from an X11 terminal or a different virtual terminal, and tell gdb |
| 308 | .IP |
| 309 | handle SIGSEGV nostop |
| 310 | .PP |
| 311 | This will allow weston to switch back to gdb on crash and then |
| 312 | gdb will catch the crash with SIGTRAP. |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 313 | . |
| 314 | .\" *************************************************************** |
| 315 | .SH BUGS |
| 316 | Bugs should be reported to the freedesktop.org bugzilla at |
| 317 | https://bugs.freedesktop.org with product "Wayland" and |
| 318 | component "weston". |
| 319 | . |
| 320 | .\" *************************************************************** |
| 321 | .SH WWW |
| 322 | http://wayland.freedesktop.org/ |
| 323 | . |
| 324 | .\" *************************************************************** |
| 325 | .SH EXAMPLES |
Pekka Paalanen | 495cc24 | 2012-09-13 13:46:27 +0300 | [diff] [blame] | 326 | .IP "Launch Weston with the DRM backend on a VT" |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 327 | weston-launch |
Pekka Paalanen | 495cc24 | 2012-09-13 13:46:27 +0300 | [diff] [blame] | 328 | .IP "Launch Weston with the DRM backend and XWayland support" |
| 329 | weston-launch -- --modules=xwayland.so |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 330 | .IP "Launch Weston (wayland-1) nested in another Weston instance (wayland-0)" |
| 331 | WAYLAND_DISPLAY=wayland-0 weston -Swayland-1 |
| 332 | .IP "From an X terminal, launch Weston with the x11 backend" |
| 333 | weston |
| 334 | . |
| 335 | .\" *************************************************************** |
Pekka Paalanen | 424820f | 2012-11-27 16:54:08 +0200 | [diff] [blame] | 336 | .SH "SEE ALSO" |
| 337 | .BR weston-drm (7) |
Pekka Paalanen | a91291c | 2012-08-29 15:49:48 +0300 | [diff] [blame] | 338 | .\".BR weston-launch (1), |
| 339 | .\".BR weston.ini (5) |