Blame man/drmModeGetResources.xml

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