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 de‐
16 vices. It is the recommended backend for desktop PCs, and aims to pro‐
17 vide the full Wayland experience with the "every frame is perfect" con‐
18 cept. 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 is not
33 supported yet.
34
35 The DRM backend relies on weston-launch for managing input device ac‐
36 cess 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 de‐
76 fines 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 ap‐
101 plied mode to be with exactly same timings, including the as‐
102 pect-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, ro‐
115 tate-90, rotate-180, rotate-270, flipped, flipped-rotate-90,
116 flipped-rotate-180, and flipped-rotate-270.
117
118 pixman-shadow=boolean
119 If using the Pixman-renderer, use shadow framebuffers. Defaults
120 to true.
121
122 same-as=name
123 Make this output (connector) a clone of another. The argument
124 name is the name value of another output section. The referred
125 to output section must exist. When this key is present in an
126 output section, all other keys have no effect on the configura‐
127 tion.
128
129 NOTE: cms-colord plugin does not work correctly with this op‐
130 tion. The plugin chooses an arbitrary monitor to load the color
131 profile for, but the profile is applied equally to all cloned
132 monitors regardless of their properties.
133
134 force-on=true
135 Force the output to be enabled even if the connector is discon‐
136 nected. Defaults to false. Note that mode=off will override
137 force-on=true. When a connector is disconnected, there is no
138 EDID information to provide a list of video modes. Therefore a
139 forced output should also have a detailed mode line specified.
140
141
142 Section remote-output
143 name=name
144 Specify unique name for the output.
145
146 mode=mode
147 Specify the video mode for the output. The argument mode is a
148 resolution setting, such as:
149
150 mode=widthxheight
151
152 mode=widthxheight@refresh_rate
153 If refresh_rate is not specified it will default to a 60Hz.
154
155 host=host
156 Specify the host name or IP Address that the remote output will
157 be transmitted to.
158
159 port=port
160 Specify the port number to transmit the remote output to. Usable
161 port range is 1-65533.
162
163 gst-pipeline=pipeline
164 Specify the gstreamer pipeline. It is necessary that source is
165 appsrc, its name is "src", and sink name is "sink" in pipeline.
166 Ignore port and host configuration if the gst-pipeline is speci‐
167 fied.
168
169
171 When the DRM backend is loaded, weston will understand the following
172 additional command line options.
173
174 --current-mode
175 By default, use the current video mode of all outputs, instead
176 of switching to the monitor preferred mode.
177
178 --drm-device=cardN
179 Use the DRM device cardN instead of the default heuristics based
180 on seat assignments and boot VGA status. For example, use card0.
181
182 --seat=seatid
183 Use graphics and input devices designated for seat seatid in‐
184 stead of the seat defined in the environment variable XDG_SEAT.
185 If neither is specified, seat0 will be assumed.
186
187 --tty=x
188 Launch Weston on tty x instead of using the current tty.
189
190 --continue-without-input
191 Allow Weston to start without input devices. Used for testing
192 purposes.
193
195 WESTON_LIBINPUT_LOG_PRIORITY
196 The minimum libinput verbosity level to be printed to Weston's
197 log. Valid values are debug, info, and error. Default is info.
198
199 WESTON_TTY_FD
200 The file descriptor (integer) of the opened tty where weston
201 will run. Set by weston-launch.
202
203 WESTON_LAUNCHER_SOCK
204 The file descriptor (integer) where weston-launch is listening.
205 Automatically set by weston-launch.
206
207 XDG_SEAT
208 The seat Weston will start on, unless overridden on the command
209 line.
210
212 weston(1)
213
214
215
216Weston 10.0.1 2012-11-27 WESTON-DRM(7)