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
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

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
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

OPTIONS

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

ENVIRONMENT

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

SEE ALSO

207       weston(1)
208
209
210
211Weston 8.0.0                      2012-11-27                     WESTON-DRM(7)
Impressum