Provided by: weston_13.0.3-1_amd64 bug

NAME

       weston-drm - the DRM backend for Weston

SYNOPSIS

       weston --backend=drm

DESCRIPTION

       The  DRM  backend  is  the native Weston backend for systems that support the Linux kernel
       DRM, kernel mode setting (KMS), and evdev input devices.  It is  the  recommended  backend
       for  desktop PCs, and aims to provide the full Wayland experience with the "every frame is
       perfect" concept.  It also relies on the Mesa GBM interface.

       With the DRM backend, weston runs without any underlying  windowing  system.  The  backend
       uses  the  Linux  KMS API to detect connected monitors. Monitor hot-plugging is supported.
       Input devices are found automatically by udev(7).  Compositing happens mainly in  GL ES 2,
       initialized  through  EGL.  It  is also possible to take advantage of hardware cursors and
       overlays, when they exist and are functional. Full-screen surfaces  will  be  scanned  out
       directly  without  compositing, when possible.  Hardware accelerated clients are supported
       via EGL.

       The backend chooses the DRM graphics device first based on seat id.  If  seat  identifiers
       are not set, it looks for the graphics device that was used in boot. If that is not found,
       it finally chooses the first DRM device returned by udev(7).  Combining multiple  graphics
       devices is not supported yet.

       The  DRM backend also supports virtual outputs that are transmitted over an RTP session as
       a series of JPEG images (RTP payload type 26) to a  remote  client.  Virtual  outputs  are
       configured in the remote-output section of weston.ini.

CONFIGURATION

       The DRM backend uses the following entries from weston.ini.

   Section core
       gbm-format=format
              Sets  the  default  pixel format for DRM KMS framebuffers.  Format can be xrgb8888,
              xrgb2101010, rgb565 or others. Weston recognizes the names of  most  pixel  formats
              defined  by the kernel DRM subsystem in drm_fourcc.h header without the DRM_FORMAT_
              prefix.  The actually  supported  pixel  formats  depend  on  the  DRM  driver  and
              hardware,  and  the  renderer  used.  Using  Pixman-renderer,  DRM-backend supports
              xrgb8888,  xrgb2101010,  rgb565  and  some  of  their  permutations.   The  formats
              supported  with GL-renderer depend on the EGL and OpenGL ES 2 or 3 implementations.
              The names are case-insensitive. This setting applies only to outputs in  SDR  mode,
              see eotf-mode in weston.ini(5).

              If not specified, xrgb8888 is used. See also gbm-format in output section.

       pageflip-timeout=milliseconds
              sets  Weston's  pageflip  timeout  in  milliseconds.   This  sets  a  timer to exit
              gracefully with a log message and an exit code of 1 in case the DRM driver is  non-
              responsive.  Setting it to 0 disables this feature.

   Section output
       name=connector
              The KMS connector name identifying the output, for instance LVDS1.

       mode=mode
              Specify  the  video  mode for the output. The argument mode can be one of the words
              off to turn the output off, preferred to use the monitor's preferred video mode, or
              current  to  use  the current video mode and avoid a mode switch.  It can also be a
              resolution as:

       mode=widthxheight

       mode=widthxheight@refresh_rate
              Specify a mode with a given refresh-rate measured in Hz.

       mode=widthxheight@refresh_rate ratio
              Here ratio is Picture Aspect-Ratio which can have values as 4:3, 16:9,  64:27,  and
              256:135. This resolution-format helps to select a CEA mode, if such a video mode is
              present in the mode-list of the output.

              CEA defines the timing of a video mode, which is considered as a standard for  HDMI
              spcification and compliance testing. It defines each and every parameter of a video
              mode,  like  hactive,  vactive,  vfront,   vback   etc.,   including   aspect-ratio
              information.  For CEA modes, the drm layer, stores this aspect-ratio information in
              user-mode (drmModeModeInfo) flag bits 19-22. For the non-CEA modes a value of 0  is
              stored in the aspect-ratio flag bits.

              Each  CEA-mode  is  identified  by  a unique, Video Identification Code (VIC).  For
              example, VIC=4 is 1280x720@60 aspect-ratio 16:9. This mode will be different than a
              non-CEA mode 1280x720@60 0:0. When the video mode 1280x720@60 0:0 is applied, since
              its timing doesn't exactly match with the CEA information for VIC=4,  it  would  be
              treated  as  a  non-CEA  mode.  Also,  while  setting  the HDMI-AVI-Inforframe, VIC
              parameter will be given as '0'. If video mode 1280x720@60 16:9 is applied, its  CEA
              timimgs  matches  with that of video mode with VIC=4, so the VIC parameter in HDMI-
              AVI-Infoframe will be set to 4.

              Many a times, an output may have both CEA and non-CEA modes, which are  similar  in
              all  resepct,  differing  only in the aspect-ratio. A user can select a CEA mode by
              giving the aspect-ratio, along with the other arguments for the mode.  By  omitting
              the   aspect-ratio,   user   can  specify  the  non-CEA  modes.   This  helps  when
              certification testing is done, in tests like  7-27,  the  HDMI-analyzer  applies  a
              particular  CEA mode, and expects the applied mode to be with exactly same timings,
              including the aspect-ratio and VIC field.

              The resolution can also be a detailed mode line as below.

       mode=dotclock hdisp hsyncstart hsyncend htotal  vdisp  vsyncstart  vsyncend  vtotal  hflag
       vflag
              Use the given detailed mode line as the video mode for this output.  The definition
              is the same as in xorg.conf(5), and cvt(1) can generate detailed mode lines.

       transform=transform
              Transform for the output, which can be rotated  in  90-degree  steps  and  possibly
              flipped.  Possible  values  are normal, rotate-90, rotate-180, rotate-270, flipped,
              flipped-rotate-90, flipped-rotate-180, and flipped-rotate-270.

       gbm-format=format
              Set the DRM KMS framebuffer format for this specific output. If not set, the  value
              from gbm-format option in core section is used for SDR mode outputs and xrgb2101010
              for other modes.  For the possible values for format see gbm-format option in  core
              section.  For SDR mode, see eotf-mode in weston.ini(7).

       pixman-shadow=boolean
              If using the Pixman-renderer, use shadow framebuffers. Defaults to true.

       same-as=name
              Make  this  output  (connector)  a  clone of another. The argument name is the name
              value of another output section. The referred to output section  must  exist.  When
              this  key  is  present  in  an output section, all other keys have no effect on the
              configuration.

              NOTE: cms-colord plugin does not  work  correctly  with  this  option.  The  plugin
              chooses  an  arbitrary  monitor  to  load the color profile for, but the profile is
              applied equally to all cloned monitors regardless of their properties.

       force-on=true
              Force the output to be enabled even if the connector is disconnected.  Defaults  to
              false.  Note  that  mode=off  will  override  force-on=true.   When  a connector is
              disconnected, there is no EDID information  to  provide  a  list  of  video  modes.
              Therefore a forced output should also have a detailed mode line specified.

       max-bpc=N
              Set  "max  bpc"  KMS  property  to  value N, silenty clamped to the hardware driver
              supported range. This artificially limits the driver chosen  link  bits-per-channel
              which  may  be  useful for working around sink hardware (e.g. monitor) limitations.
              The default is 16 which is practically  unlimited.  If  you  need  to  work  around
              hardware  issues, try a lower value like 8. A value of 0 means that the current max
              bpc will be reprogrammed.

   Section remote-output
       name=name
              Specify unique name for the output.

       mode=mode
              Specify the video mode for the output. The argument mode is a  resolution  setting,
              such as:

       mode=widthxheight

       mode=widthxheight@refresh_rate
              If refresh_rate is not specified it will default to a 60Hz.

       host=host
              Specify the host name or IP Address that the remote output will be transmitted to.

       port=port
              Specify  the  port  number  to  transmit the remote output to. Usable port range is
              1-65533.

       gst-pipeline=pipeline
              Specify the gstreamer pipeline. It is necessary that source is appsrc, its name  is
              "src",  and sink name is "sink" in pipeline.  Ignore port and host configuration if
              the gst-pipeline is specified.

OPTIONS

       When the DRM backend is loaded, weston will understand the  following  additional  command
       line options.

       --current-mode
              By  default, use the current video mode of all outputs, instead of switching to the
              monitor preferred mode.

       --drm-device=cardN
              Use the DRM device cardN for rendering and output instead of the default heuristics
              based on seat assignments and boot VGA status. For example, use card0.

       --additional-devices=cardN
              Comma separated list of secondary DRM devices cardM,cardN that will only be used as
              outputs, but not for rendering. For example, use card1,card2.

       --seat=seatid
              Use graphics and input devices designated for  seat  seatid  instead  of  the  seat
              defined  in  the environment variable XDG_SEAT. If neither is specified, seat0 will
              be assumed.

       --continue-without-input
              Allow Weston to start without input devices. Used for testing purposes.

ENVIRONMENT

       WESTON_LIBINPUT_LOG_PRIORITY
              The minimum libinput verbosity level to be printed to Weston's log.   Valid  values
              are debug, info, and error. Default is info.

       XDG_SEAT
              The seat Weston will start on, unless overridden on the command line.

SEE ALSO

       weston(1)