|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
Written 2012 by David Herrmann <dh.herrmann@googlemail.com>
|
|
Packit Service |
103f6b |
Dedicated to the Public Domain
|
|
Packit Service |
103f6b |
-->
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
<refentry id="drmModeGetResources">
|
|
Packit Service |
103f6b |
<refentryinfo>
|
|
Packit Service |
103f6b |
<title>Direct Rendering Manager</title>
|
|
Packit Service |
103f6b |
<productname>libdrm</productname>
|
|
Packit Service |
103f6b |
<date>September 2012</date>
|
|
Packit Service |
103f6b |
<authorgroup>
|
|
Packit Service |
103f6b |
<author>
|
|
Packit Service |
103f6b |
<contrib>Developer</contrib>
|
|
Packit Service |
103f6b |
<firstname>David</firstname>
|
|
Packit Service |
103f6b |
<surname>Herrmann</surname>
|
|
Packit Service |
103f6b |
<email>dh.herrmann@googlemail.com</email>
|
|
Packit Service |
103f6b |
</author>
|
|
Packit Service |
103f6b |
</authorgroup>
|
|
Packit Service |
103f6b |
</refentryinfo>
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
<refmeta>
|
|
Packit Service |
103f6b |
<refentrytitle>drmModeGetResources</refentrytitle>
|
|
Packit Service |
103f6b |
<manvolnum>3</manvolnum>
|
|
Packit Service |
103f6b |
</refmeta>
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
<refnamediv>
|
|
Packit Service |
103f6b |
<refname>drmModeGetResources</refname>
|
|
Packit Service |
103f6b |
<refpurpose>retrieve current display configuration information</refpurpose>
|
|
Packit Service |
103f6b |
</refnamediv>
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
<refsynopsisdiv>
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
<funcsynopsis>
|
|
Packit Service |
103f6b |
<funcsynopsisinfo>#include <xf86drm.h></funcsynopsisinfo>
|
|
Packit Service |
103f6b |
<funcsynopsisinfo>#include <xf86drmMode.h></funcsynopsisinfo>
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
<funcprototype>
|
|
Packit Service |
103f6b |
<funcdef>drmModeResPtr <function>drmModeGetResources</function></funcdef>
|
|
Packit Service |
103f6b |
<paramdef>int <parameter>fd</parameter></paramdef>
|
|
Packit Service |
103f6b |
</funcprototype>
|
|
Packit Service |
103f6b |
</funcsynopsis>
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
</refsynopsisdiv>
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
<refsect1>
|
|
Packit Service |
103f6b |
<title>Description</title>
|
|
Packit Service |
103f6b |
<para><function>drmModeGetResources</function> allocates, populates, and
|
|
Packit Service |
103f6b |
returns a <structname>drmModeRes</structname> structure containing
|
|
Packit Service |
103f6b |
information about the current display configuration. The structure
|
|
Packit Service |
103f6b |
contains the following fields:
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
<programlisting>
|
|
Packit Service |
103f6b |
typedef struct _drmModeRes {
|
|
Packit Service |
103f6b |
int count_fbs;
|
|
Packit Service |
103f6b |
uint32_t *fbs;
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
int count_crtcs;
|
|
Packit Service |
103f6b |
uint32_t *crtcs;
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
int count_connectors;
|
|
Packit Service |
103f6b |
uint32_t *connectors;
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
int count_encoders;
|
|
Packit Service |
103f6b |
uint32_t *encoders;
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
uint32_t min_width, max_width;
|
|
Packit Service |
103f6b |
uint32_t min_height, max_height;
|
|
Packit Service |
103f6b |
} drmModeRes, *drmModeResPtr;
|
|
Packit Service |
103f6b |
</programlisting>
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
</para>
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
<para>The <structfield>count_fbs</structfield> and
|
|
Packit Service |
103f6b |
<structfield>fbs</structfield> fields indicate the number of currently
|
|
Packit Service |
103f6b |
allocated framebuffer objects (i.e., objects that can be attached to
|
|
Packit Service |
103f6b |
a given CRTC or sprite for display).</para>
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
<para>The <structfield>count_crtcs</structfield> and
|
|
Packit Service |
103f6b |
<structfield>crtcs</structfield> fields list the available CRTCs in
|
|
Packit Service |
103f6b |
the configuration. A CRTC is simply an object that can scan out a
|
|
Packit Service |
103f6b |
framebuffer to a display sink, and contains mode timing and relative
|
|
Packit Service |
103f6b |
position information. CRTCs drive encoders, which are responsible for
|
|
Packit Service |
103f6b |
converting the pixel stream into a specific display protocol (e.g.,
|
|
Packit Service |
103f6b |
MIPI or HDMI).</para>
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
<para>The <structfield>count_connectors</structfield> and
|
|
Packit Service |
103f6b |
<structfield>connectors</structfield> fields list the available
|
|
Packit Service |
103f6b |
physical connectors on the system. Note that some of these may not be
|
|
Packit Service |
103f6b |
exposed from the chassis (e.g., LVDS or eDP). Connectors are attached
|
|
Packit Service |
103f6b |
to encoders and contain information about the attached display sink
|
|
Packit Service |
103f6b |
(e.g., width and height in mm, subpixel ordering, and various other
|
|
Packit Service |
103f6b |
properties).</para>
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
<para>The <structfield>count_encoders</structfield> and
|
|
Packit Service |
103f6b |
<structfield>encoders</structfield> fields list the available encoders
|
|
Packit Service |
103f6b |
on the device. Each encoder may be associated with a CRTC, and may be
|
|
Packit Service |
103f6b |
used to drive a particular encoder.</para>
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
<para>The <structfield>min*</structfield> and
|
|
Packit Service |
103f6b |
<structfield>max*</structfield> fields indicate the maximum size of a
|
|
Packit Service |
103f6b |
framebuffer for this device (i.e., the scanout size limit).</para>
|
|
Packit Service |
103f6b |
</refsect1>
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
<refsect1>
|
|
Packit Service |
103f6b |
<title>Return Value</title>
|
|
Packit Service |
103f6b |
<para><function>drmModeGetResources</function> returns a drmModeRes
|
|
Packit Service |
103f6b |
structure pointer on success, <literal>NULL</literal> on failure. The
|
|
Packit Service |
103f6b |
returned structure must be freed with
|
|
Packit Service |
103f6b |
<citerefentry><refentrytitle>drmModeFreeResources</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para>
|
|
Packit Service |
103f6b |
</refsect1>
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
<refsect1>
|
|
Packit Service |
103f6b |
<title>Reporting Bugs</title>
|
|
Packit Service |
103f6b |
<para>Bugs in this function should be reported to
|
|
Packit Service |
103f6b |
https://gitlab.freedesktop.org/mesa/drm/-/issues</para>
|
|
Packit Service |
103f6b |
</refsect1>
|
|
Packit Service |
103f6b |
|
|
Packit Service |
103f6b |
<refsect1>
|
|
Packit Service |
103f6b |
<title>See Also</title>
|
|
Packit Service |
103f6b |
<para>
|
|
Packit Service |
103f6b |
<citerefentry><refentrytitle>drm</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
|
|
Packit Service |
103f6b |
<citerefentry><refentrytitle>drm-kms</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
|
|
Packit Service |
103f6b |
<citerefentry><refentrytitle>drmModeGetFB</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
|
Packit Service |
103f6b |
<citerefentry><refentrytitle>drmModeAddFB</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
|
Packit Service |
103f6b |
<citerefentry><refentrytitle>drmModeAddFB2</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
|
Packit Service |
103f6b |
<citerefentry><refentrytitle>drmModeRmFB</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
|
Packit Service |
103f6b |
<citerefentry><refentrytitle>drmModeDirtyFB</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
|
Packit Service |
103f6b |
<citerefentry><refentrytitle>drmModeGetCrtc</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
|
Packit Service |
103f6b |
<citerefentry><refentrytitle>drmModeSetCrtc</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
|
Packit Service |
103f6b |
<citerefentry><refentrytitle>drmModeGetEncoder</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
|
|
Packit Service |
103f6b |
<citerefentry><refentrytitle>drmModeGetConnector</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
|
Packit Service |
103f6b |
</para>
|
|
Packit Service |
103f6b |
</refsect1>
|
|
Packit Service |
103f6b |
</refentry>
|