1WESTON-DRM(7) Miscellaneous Information Manual WESTON-DRM(7)
2
3
4
6 weston-drm - the DRM backend for Weston
7
9 weston-launch
10
11 weston --backend=drm-backend.so
12
14 The DRM backend is the native Weston backend for systems that support
15 the Linux kernel DRM, kernel mode setting (KMS), and evdev input
16 devices. It is the recommended backend for desktop PCs, and aims to
17 provide the full Wayland experience with the "every frame is perfect"
18 concept. It also relies on the Mesa GBM interface.
19
20 With the DRM backend, weston runs without any underlying windowing sys‐
21 tem. The backend uses the Linux KMS API to detect connected monitors.
22 Monitor hot-plugging is supported. Input devices are found automati‐
23 cally by udev(7). Compositing happens mainly in GL ES 2, initialized
24 through EGL. It is also possible to take advantage of hardware cursors
25 and overlays, when they exist and are functional. Full-screen surfaces
26 will be scanned out directly without compositing, when possible. Hard‐
27 ware accelerated clients are supported via EGL.
28
29 The backend chooses the DRM graphics device first based on seat id. If
30 seat identifiers are not set, it looks for the graphics device that was
31 used in boot. If that is not found, it finally chooses the first DRM
32 device returned by udev(7). Combining multiple graphics devices are
33 not supported yet.
34
35 The DRM backend relies on weston-launch for managing input device
36 access and DRM master status, so that weston can be run without root
37 privileges. On switching away from the virtual terminal (VT) hosting
38 Weston, all input devices are closed and the DRM master capability is
39 dropped, so that other servers, including Xorg(1), can run on other
40 VTs. On switching back to Weston's VT, input devices and DRM master are
41 re-acquired through the parent process weston-launch.
42
43 The DRM backend also supports virtual outputs that are transmitted over
44 an RTP session as a series of JPEG images (RTP payload type 26) to a
45 remote client. Virtual outputs are configured in the remote-output sec‐
46 tion of weston.ini.
47
49 The DRM backend uses the following entries from weston.ini.
50
51 Section output
52 name=connector
53 The KMS connector name identifying the output, for instance
54 LVDS1.
55
56 mode=mode
57 Specify the video mode for the output. The argument mode can be
58 one of the words off to turn the output off, preferred to use
59 the monitor's preferred video mode, or current to use the cur‐
60 rent video mode and avoid a mode switch. It can also be a reso‐
61 lution as:
62
63 mode=widthxheight
64
65 mode=widthxheight@refresh_rate
66 Specify a mode with a given refresh-rate measured in Hz.
67
68 mode=widthxheight@refresh_rate ratio
69 Here ratio is Picture Aspect-Ratio which can have values as 4:3,
70 16:9, 64:27, and 256:135. This resolution-format helps to select
71 a CEA mode, if such a video mode is present in the mode-list of
72 the output.
73
74 CEA defines the timing of a video mode, which is considered as a
75 standard for HDMI spcification and compliance testing. It
76 defines each and every parameter of a video mode, like hactive,
77 vactive, vfront, vback etc., including aspect-ratio information.
78 For CEA modes, the drm layer, stores this aspect-ratio informa‐
79 tion in user-mode (drmModeModeInfo) flag bits 19-22. For the
80 non-CEA modes a value of 0 is stored in the aspect-ratio flag
81 bits.
82
83 Each CEA-mode is identified by a unique, Video Identification
84 Code (VIC). For example, VIC=4 is 1280x720@60 aspect-ratio
85 16:9. This mode will be different than a non-CEA mode
86 1280x720@60 0:0. When the video mode 1280x720@60 0:0 is applied,
87 since its timing doesn't exactly match with the CEA information
88 for VIC=4, it would be treated as a non-CEA mode. Also, while
89 setting the HDMI-AVI-Inforframe, VIC parameter will be given as
90 '0'. If video mode 1280x720@60 16:9 is applied, its CEA timimgs
91 matches with that of video mode with VIC=4, so the VIC parameter
92 in HDMI-AVI-Infoframe will be set to 4.
93
94 Many a times, an output may have both CEA and non-CEA modes,
95 which are similar in all resepct, differing only in the aspect-
96 ratio. A user can select a CEA mode by giving the aspect-ratio,
97 along with the other arguments for the mode. By omitting the
98 aspect-ratio, user can specify the non-CEA modes. This helps
99 when certification testing is done, in tests like 7-27, the
100 HDMI-analyzer applies a particular CEA mode, and expects the
101 applied mode to be with exactly same timings, including the
102 aspect-ratio and VIC field.
103
104 The resolution can also be a detailed mode line as below.
105
106 mode=dotclock hdisp hsyncstart hsyncend htotal vdisp vsyncstart vsyn‐
107 cend vtotal hflag vflag
108 Use the given detailed mode line as the video mode for this out‐
109 put. The definition is the same as in xorg.conf(5), and cvt(1)
110 can generate detailed mode lines.
111
112 transform=transform
113 Transform for the output, which can be rotated in 90-degree
114 steps and possibly flipped. Possible values are normal, 90, 180,
115 270, flipped, flipped-90, flipped-180, and flipped-270.
116
117 pixman-shadow=boolean
118 If using the Pixman-renderer, use shadow framebuffers. Defaults
119 to true.
120
121 same-as=name
122 Make this output (connector) a clone of another. The argument
123 name is the name value of another output section. The referred
124 to output section must exist. When this key is present in an
125 output section, all other keys have no effect on the configura‐
126 tion.
127
128 NOTE: cms-colord plugin does not work correctly with this
129 option. The plugin chooses an arbitrary monitor to load the
130 color profile for, but the profile is applied equally to all
131 cloned monitors regardless of their properties.
132
133 force-on=true
134 Force the output to be enabled even if the connector is discon‐
135 nected. Defaults to false. Note that mode=off will override
136 force-on=true. When a connector is disconnected, there is no
137 EDID information to provide a list of video modes. Therefore a
138 forced output should also have a detailed mode line specified.
139
140
141 Section remote-output
142 name=name
143 Specify unique name for the output.
144
145 mode=mode
146 Specify the video mode for the output. The argument mode is a
147 resolution setting, such as:
148
149 mode=widthxheight
150
151 mode=widthxheight@refresh_rate
152 If refresh_rate is not specified it will default to a 60Hz.
153
154 host=host
155 Specify the host name or IP Address that the remote output will
156 be transmitted to.
157
158 port=port
159 Specify the port number to transmit the remote output to. Usable
160 port range is 1-65533.
161
162 gst-pipeline=pipeline
163 Specify the gstreamer pipeline. It is necessary that source is
164 appsrc, its name is "src", and sink name is "sink" in pipeline.
165 Ignore port and host configuration if the gst-pipeline is speci‐
166 fied.
167
168
170 When the DRM backend is loaded, weston will understand the following
171 additional command line options.
172
173 --current-mode
174 By default, use the current video mode of all outputs, instead
175 of switching to the monitor preferred mode.
176
177 --drm-device=cardN
178 Use the DRM device cardN instead of the default heuristics based
179 on seat assignments and boot VGA status. For example, use card0.
180
181 --seat=seatid
182 Use graphics and input devices designated for seat seatid
183 instead of the seat defined in the environment variable
184 XDG_SEAT. If neither is specified, seat0 will be assumed.
185
186 --tty=x
187 Launch Weston on tty x instead of using the current tty.
188
190 WESTON_LIBINPUT_LOG_PRIORITY
191 The minimum libinput verbosity level to be printed to Weston's
192 log. Valid values are debug, info, and error. Default is info.
193
194 WESTON_TTY_FD
195 The file descriptor (integer) of the opened tty where weston
196 will run. Set by weston-launch.
197
198 WESTON_LAUNCHER_SOCK
199 The file descriptor (integer) where weston-launch is listening.
200 Automatically set by weston-launch.
201
202 XDG_SEAT
203 The seat Weston will start on, unless overridden on the command
204 line.
205
207 weston(1)
208
209
210
211Weston 7.0.0 2012-11-27 WESTON-DRM(7)