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
44 The DRM backend uses the following entries from weston.ini.
45
46 Section output
47 name=connector
48 The KMS connector name identifying the output, for instance
49 LVDS1.
50
51 mode=mode
52 Specify the video mode for the output. The argument mode can be
53 one of the words off to turn the output off, preferred to use
54 the monitor's preferred video mode, or current to use the cur‐
55 rent video mode and avoid a mode switch. It can also be a reso‐
56 lution as:
57
58 mode=widthxheight
59
60 mode=widthxheight@refresh_rate
61 Specify a mode with a given refresh-rate measured in Hz.
62
63 mode=widthxheight@refresh_rate ratio
64 Here ratio is Picture Aspect-Ratio which can have values as 4:3,
65 16:9, 64:27, and 256:135. This resolution-format helps to select
66 a CEA mode, if such a video mode is present in the mode-list of
67 the output.
68
69 CEA defines the timing of a video mode, which is considered as a
70 standard for HDMI spcification and compliance testing. It
71 defines each and every parameter of a video mode, like hactive,
72 vactive, vfront, vback etc., including aspect-ratio information.
73 For CEA modes, the drm layer, stores this aspect-ratio informa‐
74 tion in user-mode (drmModeModeInfo) flag bits 19-22. For the
75 non-CEA modes a value of 0 is stored in the aspect-ratio flag
76 bits.
77
78 Each CEA-mode is identified by a unique, Video Identification
79 Code (VIC). For example, VIC=4 is 1280x720@60 aspect-ratio
80 16:9. This mode will be different than a non-CEA mode
81 1280x720@60 0:0. When the video mode 1280x720@60 0:0 is applied,
82 since its timing doesnt exactly match with the CEA information
83 for VIC=4, it would be treated as a non-CEA mode. Also, while
84 setting the HDMI-AVI-Inforframe, VIC parameter will be given as
85 '0'. If video mode 1280x720@60 16:9 is applied, its CEA timimgs
86 matches with that of video mode with VIC=4, so the VIC parameter
87 in HDMI-AVI-Infoframe will be set to 4.
88
89 Many a times, an output may have both CEA and non-CEA modes,
90 which are similar in all resepct, differing only in the aspect-
91 ratio. A user can select a CEA mode by giving the aspect-ratio,
92 along with the other arguments for the mode. By omitting the
93 aspect-ratio, user can specify the non-CEA modes. This helps
94 when certification testing is done, in tests like 7-27, the
95 HDMI-analyzer applies a particular CEA mode, and expects the
96 applied mode to be with exactly same timings, including the
97 aspect-ratio and VIC field.
98
99 The resolution can also be a detailed mode line as below.
100
101 mode=dotclock hdisp hsyncstart hsyncend htotal vdisp vsyncstart vsyn‐
102 cend vtotal hflag vflag
103 Use the given detailed mode line as the video mode for this out‐
104 put. The definition is the same as in xorg.conf(5), and cvt(1)
105 can generate detailed mode lines.
106
107 transform=transform
108 Transform for the output, which can be rotated in 90-degree
109 steps and possibly flipped. Possible values are normal, 90, 180,
110 270, flipped, flipped-90, flipped-180, and flipped-270.
111
112 pixman-shadow=boolean
113 If using the Pixman-renderer, use shadow framebuffers. Defaults
114 to true.
115
116 same-as=name
117 Make this output (connector) a clone of another. The argument
118 name is the name value of another output section. The referred
119 to output section must exist. When this key is present in an
120 output section, all other keys have no effect on the configura‐
121 tion.
122
123 NOTE: cms-colord plugin does not work correctly with this
124 option. The plugin chooses an arbitrary monitor to load the
125 color profile for, but the profile is applied equally to all
126 cloned monitors regardless of their properties.
127
128 force-on=true
129 Force the output to be enabled even if the connector is discon‐
130 nected. Defaults to false. Note that mode=off will override
131 force-on=true. When a connector is disconnected, there is no
132 EDID information to provide a list of video modes. Therefore a
133 forced output should also have a detailed mode line specified.
134
136 When the DRM backend is loaded, weston will understand the following
137 additional command line options.
138
139 --current-mode
140 By default, use the current video mode of all outputs, instead
141 of switching to the monitor preferred mode.
142
143 --drm-device=cardN
144 Use the DRM device cardN instead of the default heuristics based
145 on seat assignments and boot VGA status. For example, use card0.
146
147 --seat=seatid
148 Use graphics and input devices designated for seat seatid
149 instead of the seat defined in the environment variable
150 XDG_SEAT. If neither is specifed, seat0 will be assumed.
151
152 --tty=x
153 Launch Weston on tty x instead of using the current tty.
154
156 WESTON_LIBINPUT_LOG_PRIORITY
157 The minimum libinput verbosity level to be printed to Weston's
158 log. Valid values are debug, info, and error. Default is info.
159
160 WESTON_TTY_FD
161 The file descriptor (integer) of the opened tty where weston
162 will run. Set by weston-launch.
163
164 WESTON_LAUNCHER_SOCK
165 The file descriptor (integer) where weston-launch is listening.
166 Automatically set by weston-launch.
167
168 XDG_SEAT
169 The seat Weston will start on, unless overridden on the command
170 line.
171
173 weston(1)
174
175
176
177Weston 5.0.0 2012-11-27 WESTON-DRM(7)