Pekka Paalanen | 424820f | 2012-11-27 16:54:08 +0200 | [diff] [blame] | 1 | .TH WESTON-DRM 7 "2012-11-27" "Weston __version__" |
| 2 | .SH NAME |
| 3 | weston-drm \- the DRM backend for Weston |
| 4 | .SH SYNOPSIS |
| 5 | .B weston-launch |
| 6 | .LP |
| 7 | .B weston --backend=drm-backend.so |
| 8 | . |
| 9 | .\" *************************************************************** |
| 10 | .SH DESCRIPTION |
| 11 | The DRM backend is the native Weston backend for systems that support |
| 12 | the Linux kernel DRM, kernel mode setting (KMS), and evdev input devices. |
| 13 | It is the recommended backend for desktop PCs, and aims to provide |
| 14 | the full Wayland experience with the "every frame is perfect" concept. |
| 15 | It also relies on the Mesa GBM interface. |
| 16 | |
| 17 | With the DRM backend, |
| 18 | .B weston |
| 19 | runs without any underlying windowing system. The backend uses the |
| 20 | Linux KMS API to detect connected monitors. Monitor hot-plugging is |
| 21 | supported. Input devices are found automatically by |
| 22 | .BR udev (7). |
| 23 | Compositing happens mainly in GL\ ES\ 2, initialized through EGL. It |
| 24 | is also possible to take advantage of hardware cursors and overlays, |
| 25 | when they exist and are functional. Full-screen surfaces will be |
| 26 | scanned out directly without compositing, when possible. |
| 27 | Hardware accelerated clients are supported via EGL. |
| 28 | |
| 29 | The backend chooses the DRM graphics device first based on seat id. |
| 30 | If seat identifiers are not set, it looks for the graphics device |
| 31 | that was used in boot. If that is not found, it finally chooses |
| 32 | the first DRM device returned by |
| 33 | .BR udev (7). |
| 34 | Combining multiple graphics devices are not supported yet. |
| 35 | |
| 36 | The DRM backend relies on |
| 37 | .B weston-launch |
| 38 | for managing input device access and DRM master status, so that |
| 39 | .B weston |
| 40 | can be run without root privileges. On switching away from the |
| 41 | virtual terminal (VT) hosting Weston, all input devices are closed and |
| 42 | the DRM master capability is dropped, so that other servers, |
| 43 | including |
| 44 | .BR Xorg (1), |
| 45 | can run on other VTs. On switching back to Weston's VT, input devices |
| 46 | and DRM master are re-acquired through the parent process |
| 47 | .BR weston-launch . |
| 48 | . |
| 49 | .\" *************************************************************** |
| 50 | .SH CONFIGURATION |
| 51 | . |
| 52 | The DRM backend uses the following entries from |
| 53 | .BR weston.ini . |
| 54 | .SS Section output |
| 55 | .TP |
| 56 | \fBname\fR=\fIconnector\fR |
| 57 | The KMS connector name identifying the output, for instance |
| 58 | .IR LVDS1 . |
| 59 | .TP |
| 60 | \fBmode\fR=\fImode\fR |
| 61 | Specify the video mode for the output. The argument |
| 62 | .I mode |
| 63 | can be one of the words |
| 64 | .BR off " to turn the output off, " |
| 65 | .BR preferred " to use the monitor's preferred video mode, or " |
| 66 | .BR current " to use the current video mode and avoid a mode switch." |
Ankit Nautiyal | f82ff35 | 2097-03-19 00:24:56 +0530 | [diff] [blame] | 67 | It can also be a resolution as: |
| 68 | .TP |
| 69 | \fBmode\fR=\fIwidth\fBx\fIheight\fR |
| 70 | .TP |
| 71 | \fBmode\fR=\fIwidth\fBx\fIheight\fB@\fIrefresh_rate\fR |
| 72 | Specify a mode with a given refresh-rate measured in Hz. |
| 73 | .TP |
| 74 | \fBmode\fR=\fIwidth\fBx\fIheight\fB@\fIrefresh_rate ratio\fR |
| 75 | Here \fIratio\fR is Picture Aspect-Ratio which can have values as 4:3, 16:9, |
| 76 | 64:27, and 256:135. This resolution-format helps to select a CEA mode, if such a |
| 77 | video mode is present in the mode-list of the output. |
| 78 | |
| 79 | CEA defines the timing of a video mode, which is considered as a standard for |
| 80 | HDMI spcification and compliance testing. It defines each and every parameter of |
| 81 | a video mode, like hactive, vactive, vfront, vback etc., including aspect-ratio |
| 82 | information. For CEA modes, the drm layer, stores this aspect-ratio information |
| 83 | in user-mode (drmModeModeInfo) flag bits 19-22. For the non-CEA modes a value of |
| 84 | 0 is stored in the aspect-ratio flag bits. |
| 85 | |
| 86 | Each CEA-mode is identified by a unique, Video Identification Code (VIC). |
| 87 | For example, VIC=4 is 1280x720@60 aspect-ratio 16:9. This mode will be |
| 88 | different than a non-CEA mode 1280x720@60 0:0. When the video mode |
| 89 | 1280x720@60 0:0 is applied, since its timing doesnt exactly match with the CEA |
| 90 | information for VIC=4, it would be treated as a non-CEA mode. Also, while setting |
| 91 | the HDMI-AVI-Inforframe, VIC parameter will be given as '0'. If video mode |
| 92 | 1280x720@60 16:9 is applied, its CEA timimgs matches with that of video mode with |
| 93 | VIC=4, so the VIC parameter in HDMI-AVI-Infoframe will be set to 4. |
| 94 | |
| 95 | Many a times, an output may have both CEA and non-CEA modes, which are similar |
| 96 | in all resepct, differing only in the aspect-ratio. A user can select a CEA mode |
| 97 | by giving the aspect-ratio, along with the other arguments for the mode. |
| 98 | By omitting the aspect-ratio, user can specify the non-CEA modes. |
| 99 | This helps when certification testing is done, in tests like 7-27, the |
| 100 | HDMI-analyzer applies a particular CEA mode, and expects the applied mode to be |
| 101 | with exactly same timings, including the aspect-ratio and VIC field. |
| 102 | |
| 103 | The resolution can also be a detailed mode line as below. |
Pekka Paalanen | 424820f | 2012-11-27 16:54:08 +0200 | [diff] [blame] | 104 | .TP |
| 105 | \fBmode\fR=\fIdotclock hdisp hsyncstart hsyncend htotal \ |
| 106 | vdisp vsyncstart vsyncend vtotal hflag vflag\fR |
| 107 | Use the given detailed mode line as the video mode for this output. |
| 108 | The definition is the same as in |
| 109 | .BR xorg.conf "(5), and " cvt (1) |
| 110 | can generate detailed mode lines. |
| 111 | .TP |
| 112 | \fBtransform\fR=\fItransform\fR |
| 113 | Transform for the output, which can be rotated in 90-degree steps |
| 114 | and possibly flipped. Possible values are |
| 115 | .BR normal ", " 90 ", " 180 ", " 270 ", " |
| 116 | .BR flipped ", " flipped-90 ", " flipped-180 ", and " flipped-270 . |
Pekka Paalanen | 325ff4c | 2018-04-23 11:44:59 +0200 | [diff] [blame] | 117 | .TP |
| 118 | \fBpixman-shadow\fR=\fIboolean\fR |
| 119 | If using the Pixman-renderer, use shadow framebuffers. Defaults to |
| 120 | .BR true . |
Pekka Paalanen | 944dd23 | 2017-11-03 09:56:05 +0200 | [diff] [blame] | 121 | .TP |
| 122 | \fBsame-as\fR=\fIname\fR |
| 123 | Make this output (connector) a clone of another. The argument |
| 124 | .IR name " is the " |
| 125 | .BR name " value of another output section. The |
| 126 | referred to output section must exist. When this key is present in an |
| 127 | output section, all other keys have no effect on the configuration. |
| 128 | |
| 129 | NOTE: cms-colord plugin does not work correctly with this option. The plugin |
| 130 | chooses an arbitrary monitor to load the color profile for, but the |
| 131 | profile is applied equally to all cloned monitors regardless of their |
| 132 | properties. |
Pekka Paalanen | 9071817 | 2018-05-23 14:34:36 +0300 | [diff] [blame] | 133 | .TP |
| 134 | \fBforce-on\fR=\fItrue\fR |
| 135 | Force the output to be enabled even if the connector is disconnected. |
| 136 | Defaults to false. Note that |
| 137 | .BR mode=off " will override " force-on=true . |
| 138 | When a connector is disconnected, there is no EDID information to provide |
| 139 | a list of video modes. Therefore a forced output should also have a |
| 140 | detailed mode line specified. |
Pekka Paalanen | 424820f | 2012-11-27 16:54:08 +0200 | [diff] [blame] | 141 | . |
| 142 | .\" *************************************************************** |
| 143 | .SH OPTIONS |
| 144 | . |
| 145 | When the DRM backend is loaded, |
| 146 | .B weston |
| 147 | will understand the following additional command line options. |
| 148 | .TP |
Pekka Paalanen | 424820f | 2012-11-27 16:54:08 +0200 | [diff] [blame] | 149 | .B \-\-current\-mode |
| 150 | By default, use the current video mode of all outputs, instead of |
| 151 | switching to the monitor preferred mode. |
| 152 | .TP |
Pekka Paalanen | 8a9c8b0 | 2017-03-28 18:14:37 +0300 | [diff] [blame] | 153 | \fB\-\-drm\-device\fR=\fIcardN\fR |
| 154 | Use the DRM device |
| 155 | .I cardN |
| 156 | instead of the default heuristics based on seat assignments and boot VGA |
| 157 | status. For example, use |
| 158 | .BR card0 . |
| 159 | .TP |
Pekka Paalanen | 424820f | 2012-11-27 16:54:08 +0200 | [diff] [blame] | 160 | \fB\-\-seat\fR=\fIseatid\fR |
| 161 | Use graphics and input devices designated for seat |
| 162 | .I seatid |
nerdopolis | b16c4ac | 2018-06-29 08:17:46 -0400 | [diff] [blame] | 163 | instead of the seat defined in the environment variable |
| 164 | .BR XDG_SEAT ". If neither is specifed, seat0 will be assumed." |
Pekka Paalanen | 424820f | 2012-11-27 16:54:08 +0200 | [diff] [blame] | 165 | .TP |
| 166 | \fB\-\-tty\fR=\fIx\fR |
| 167 | Launch Weston on tty |
| 168 | .I x |
| 169 | instead of using the current tty. |
| 170 | . |
| 171 | .\" *************************************************************** |
| 172 | .SH ENVIRONMENT |
| 173 | . |
| 174 | .TP |
Pekka Paalanen | d61da83 | 2018-02-05 16:20:51 +0200 | [diff] [blame] | 175 | .B WESTON_LIBINPUT_LOG_PRIORITY |
| 176 | The minimum libinput verbosity level to be printed to Weston's log. |
| 177 | Valid values are |
| 178 | .BR debug ", " info ", and " error ". Default is " info . |
| 179 | .TP |
Pekka Paalanen | 424820f | 2012-11-27 16:54:08 +0200 | [diff] [blame] | 180 | .B WESTON_TTY_FD |
| 181 | The file descriptor (integer) of the opened tty where |
| 182 | .B weston |
| 183 | will run. Set by |
| 184 | .BR weston-launch . |
| 185 | .TP |
| 186 | .B WESTON_LAUNCHER_SOCK |
| 187 | The file descriptor (integer) where |
| 188 | .B weston-launch |
| 189 | is listening. Automatically set by |
| 190 | .BR weston-launch . |
nerdopolis | b16c4ac | 2018-06-29 08:17:46 -0400 | [diff] [blame] | 191 | .TP |
| 192 | .B XDG_SEAT |
| 193 | The seat Weston will start on, unless overridden on the command line. |
Pekka Paalanen | 424820f | 2012-11-27 16:54:08 +0200 | [diff] [blame] | 194 | . |
| 195 | .\" *************************************************************** |
| 196 | .SH "SEE ALSO" |
| 197 | .BR weston (1) |
| 198 | .\".BR weston-launch (1), |
| 199 | .\".BR weston.ini (5) |