1WESTON-DRM(7)          Miscellaneous Information Manual          WESTON-DRM(7)
2
3
4

NAME

6       weston-drm - the DRM backend for Weston
7

SYNOPSIS

9       weston-launch
10
11       weston --backend=drm-backend.so
12

DESCRIPTION

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

CONFIGURATION

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

OPTIONS

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

ENVIRONMENT

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

SEE ALSO

212       weston(1)
213
214
215
216Weston 10.0.1                     2012-11-27                     WESTON-DRM(7)
Impressum