NAME¶
weston-drm - the DRM backend for Weston
SYNOPSIS¶
weston-launch
weston --backend=drm-backend.so
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 are not supported yet.
The DRM backend relies on
weston-launch for managing input device access
and DRM master status, so that
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
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
weston-launch.
CONFIGURATION¶
The DRM backend uses the following entries from
weston.ini.
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
width xheight, or 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, 90,
180, 270, flipped, flipped-90,
flipped-180, and flipped-270.
OPTIONS¶
When the DRM backend is loaded,
weston will understand the following
additional command line options.
- --connector=connectorid
- Use the connector with id number connectorid as the only initial
output.
- --current-mode
- By default, use the current video mode of all outputs, instead of
switching to the monitor preferred mode.
- --seat=seatid
- Use graphics and input devices designated for seat seatid instead
of the default seat seat0.
- --tty=x
- Launch Weston on tty x instead of using the current tty.
ENVIRONMENT¶
- WESTON_TTY_FD
- The file descriptor (integer) of the opened tty where weston will
run. Set by weston-launch.
- WESTON_LAUNCHER_SOCK
- The file descriptor (integer) where weston-launch is listening.
Automatically set by weston-launch.
SEE ALSO¶
weston(1)