You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
weston/man/weston-drm.man

200 lines
7.5 KiB

.TH WESTON-DRM 7 "2012-11-27" "Weston __version__"
.SH NAME
weston-drm \- the DRM backend for Weston
.SH SYNOPSIS
.B weston-launch
.LP
.B weston --backend=drm-backend.so
.
.\" ***************************************************************
.SH 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,
.B 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
.BR 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
.BR udev (7).
Combining multiple graphics devices are not supported yet.
The DRM backend relies on
.B weston-launch
for managing input device access and DRM master status, so that
.B weston
can be run without root privileges. On switching away from the
virtual terminal (VT) hosting Weston, all input devices are closed and
the DRM master capability is dropped, so that other servers,
including
.BR Xorg (1),
can run on other VTs. On switching back to Weston's VT, input devices
and DRM master are re-acquired through the parent process
.BR weston-launch .
.
.\" ***************************************************************
.SH CONFIGURATION
.
The DRM backend uses the following entries from
.BR weston.ini .
.SS Section output
.TP
\fBname\fR=\fIconnector\fR
The KMS connector name identifying the output, for instance
.IR LVDS1 .
.TP
\fBmode\fR=\fImode\fR
Specify the video mode for the output. The argument
.I mode
can be one of the words
.BR off " to turn the output off, "
.BR preferred " to use the monitor's preferred video mode, or "
.BR current " to use the current video mode and avoid a mode switch."
It can also be a resolution as:
.TP
\fBmode\fR=\fIwidth\fBx\fIheight\fR
.TP
\fBmode\fR=\fIwidth\fBx\fIheight\fB@\fIrefresh_rate\fR
Specify a mode with a given refresh-rate measured in Hz.
.TP
\fBmode\fR=\fIwidth\fBx\fIheight\fB@\fIrefresh_rate ratio\fR
Here \fIratio\fR 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 doesnt 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.
.TP
\fBmode\fR=\fIdotclock hdisp hsyncstart hsyncend htotal \
vdisp vsyncstart vsyncend vtotal hflag vflag\fR
Use the given detailed mode line as the video mode for this output.
The definition is the same as in
.BR xorg.conf "(5), and " cvt (1)
can generate detailed mode lines.
.TP
\fBtransform\fR=\fItransform\fR
Transform for the output, which can be rotated in 90-degree steps
and possibly flipped. Possible values are
.BR normal ", " 90 ", " 180 ", " 270 ", "
.BR flipped ", " flipped-90 ", " flipped-180 ", and " flipped-270 .
.TP
\fBpixman-shadow\fR=\fIboolean\fR
If using the Pixman-renderer, use shadow framebuffers. Defaults to
.BR true .
weston: support clone mode on DRM-frontend Add a new output section key "same-as" for configuring clone mode. An output marked "same-as" another output will be configured identically to the other output. The current implementation supports only CRTC sharing for clone mode. Independent CRTC clone mode cannot be supported until output layout logic is moved from libweston into the frontend and libweston's damage tracking issues stemming from overlapping outputs are solved. Quite a lot of infrastructure is needed to properly configure clone mode. The implemented logic allows easy addition of independent CRTC clone mode once libweston supports it. The idea is that wet_layoutput is the item to be laid out and all weston_outputs a wet_layoutput contains show exactly the same area of the desktop. The configuration logic attempts to automatically fall back to creating more weston_outputs when all heads do not work under the same weston_output. For now, the fallback path ends with an error message. Enabling a weston_output is bit complicated, because one needs to first collect all relevant heads, try to attach them all to the weston_output, and then back up head by head until enabling the weston_output succeeds. A new weston_output is created for the left-over heads and the process is repeated. CRTC-sharing clone mode is the most efficient clone mode, offering synchronized scanout timings, but it is not always supported by hardware. v10: - rebased trivial conflicts in man page - switch to gitlab issue URL v9: - replace weston_compositor_set_heads_changed_cb() with weston_compositor_add_heads_changed_listener() - remove workaround in simple_head_enable() v6: - Add man-page note about cms-colord. - Don't create an output just to turn it off. Fixes: https://gitlab.freedesktop.org/wayland/weston/issues/22 Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Acked-by: Derek Foreman <derekf@osg.samsung.com> Acked-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Ian Ray <ian.ray@ge.com>
7 years ago
.TP
\fBsame-as\fR=\fIname\fR
Make this output (connector) a clone of another. The argument
.IR name " is the "
.BR 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.
.TP
\fBforce-on\fR=\fItrue\fR
Force the output to be enabled even if the connector is disconnected.
Defaults to false. Note that
.BR 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.
.
.\" ***************************************************************
.SH OPTIONS
.
When the DRM backend is loaded,
.B weston
will understand the following additional command line options.
.TP
.B \-\-current\-mode
By default, use the current video mode of all outputs, instead of
switching to the monitor preferred mode.
.TP
\fB\-\-drm\-device\fR=\fIcardN\fR
Use the DRM device
.I cardN
instead of the default heuristics based on seat assignments and boot VGA
status. For example, use
.BR card0 .
.TP
\fB\-\-seat\fR=\fIseatid\fR
Use graphics and input devices designated for seat
.I seatid
instead of the seat defined in the environment variable
.BR XDG_SEAT ". If neither is specifed, seat0 will be assumed."
.TP
\fB\-\-tty\fR=\fIx\fR
Launch Weston on tty
.I x
instead of using the current tty.
.
.\" ***************************************************************
.SH ENVIRONMENT
.
.TP
.B WESTON_LIBINPUT_LOG_PRIORITY
The minimum libinput verbosity level to be printed to Weston's log.
Valid values are
.BR debug ", " info ", and " error ". Default is " info .
.TP
.B WESTON_TTY_FD
The file descriptor (integer) of the opened tty where
.B weston
will run. Set by
.BR weston-launch .
.TP
.B WESTON_LAUNCHER_SOCK
The file descriptor (integer) where
.B weston-launch
is listening. Automatically set by
.BR weston-launch .
.TP
.B XDG_SEAT
The seat Weston will start on, unless overridden on the command line.
.
.\" ***************************************************************
.SH "SEE ALSO"
.BR weston (1)
.\".BR weston-launch (1),
.\".BR weston.ini (5)