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