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