Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Part III. Running Clutter: Clutter Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="Clutter Reference Manual">
<link rel="up" href="index.html" title="Clutter Reference Manual">
<link rel="prev" href="building-clutter.html" title="Part II. Building Clutter">
<link rel="next" href="clutterbase.html" title="Part IV. Clutter Core Reference">
<meta name="generator" content="GTK-Doc V1.25.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
<td><a accesskey="p" href="building-clutter.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="clutterbase.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="part">
<div class="titlepage"><div>
<div><h1 class="title">
<a name="running-clutter"></a>Part III. Running Clutter</h1></div>
<div><div class="author">
<h3 class="author">
<span class="firstname">Emmanuele</span> <span class="surname">Bassi</span>
</h3>
<div class="affiliation"><div class="address"><p><br>
          <code class="email">&lt;<a class="email" href="mailto:ebassilinux.intel.com">ebassi<em class="parameter"><code>linux.intel.com</code></em></a>&gt;</code><br>
        </p></div></div>
</div></div>
</div></div>
<div class="partintro">
<div></div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="environment-variables"></a>Environment Variables</h2></div></div></div>
<p>
        Clutter automatically checks environment variables during
        its initialization. These environment variables are meant
        as debug tools, overrides for default behaviours or to
        address known hardware issues:
      </p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term">CLUTTER_BACKEND</span></p></td>
<td>
<p>Changes the windowing system backend used by Clutter.
            The allowed values for this environment variable depend on
            the configuration options used when compiling Clutter. The
            available values are:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">x11, for the X11 backend</li>
<li class="listitem">wayland, for the Wayland backend</li>
<li class="listitem">win32, for the Windows backend</li>
<li class="listitem">osx, for the MacOS X backend</li>
<li class="listitem">gsk, for the GDK backend</li>
<li class="listitem">eglnative, for the EGL/KMS backend</li>
<li class="listitem">cex100, for the CEx100 backend</li>
</ul></div>
<p>All of the above options except for the <code class="varname">eglnative</code>
            and <code class="varname">cex100</code> backends also have an input backend.</p>
</td>
</tr>
<tr>
<td><p><span class="term">CLUTTER_INPUT_BACKEND</span></p></td>
<td>
<p>Changes the input backend used by Clutter.
            The allowed values for this environment variable depend on
            the configuration options used when compiling Clutter. The
            available values are:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">tslib</li>
<li class="listitem">evdev</li>
<li class="listitem">null</li>
</ul></div>
<p>This environment variable is only useful for setting the input
            backend when using a windowing system backend that does not have an
            input API, like the <code class="varname">eglnative</code> or the <code class="varname">cex100</code>
            windowing system backends.</p>
</td>
</tr>
<tr>
<td><p><span class="term">CLUTTER_DRIVER</span></p></td>
<td>
<p>Changes the GL driver used when initializing Clutter.
            The allowed values for this environment variable are:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">gl3, for the GL driver using a 3.2+ core profile</li>
<li class="listitem">gl, for the GL driver using a legacy profile</li>
<li class="listitem">gles2, for the GLES 2.0 driver</li>
<li class="listitem">any, for the default chosen by Cogl</li>
</ul></div>
<p>The special '*' value can be used to ask Clutter to use the
            default list of drivers, e.g. 'CLUTTER_DRIVER=gles2,*' will ask Clutter
            to try the GLES 2.0 driver first, and then fall back to the default list
            of Cogl drivers.</p>
</td>
</tr>
<tr>
<td><p><span class="term">CLUTTER_SCALE</span></p></td>
<td><p>Forces the window scaling factor to that value
            inside Clutter instead of relying on what backends detect.</p></td>
</tr>
<tr>
<td><p><span class="term">CLUTTER_TEXT_DIRECTION</span></p></td>
<td><p>Forces the text direction of every Pango layout
            inside Clutter. Valid values are: ltr or rtl</p></td>
</tr>
<tr>
<td><p><span class="term">CLUTTER_SHOW_FPS</span></p></td>
<td><p>Prints out the frames per second achieved by Clutter.</p></td>
</tr>
<tr>
<td><p><span class="term">CLUTTER_DEFAULT_FPS</span></p></td>
<td><p>Sets the default framerate.</p></td>
</tr>
<tr>
<td><p><span class="term">CLUTTER_DISABLE_MIPMAPPED_TEXT</span></p></td>
<td><p>Disables mipmapping when rendering text.</p></td>
</tr>
<tr>
<td><p><span class="term">CLUTTER_FUZZY_PICK</span></p></td>
<td><p>Enables "fuzzy picking".</p></td>
</tr>
<tr>
<td><p><span class="term">CLUTTER_DEBUG</span></p></td>
<td><p>Enables debugging modes for Clutter; debugging modes are
            used to print debugging messages on the console. Clutter must be
            compiled with the --enable-debug configuration switch for these
            messages to be printed out. Multiple debugging modes can be
            enabled by separating them using a colon (":") or a comma
            (",").</p></td>
</tr>
<tr>
<td><p><span class="term">CLUTTER_PAINT</span></p></td>
<td><p>Enables paint debugging modes for Clutter; the modes change
            the way Clutter paints a scene and are useful for debugging the
            behaviour of the paint cycle.</p></td>
</tr>
<tr>
<td><p><span class="term">CLUTTER_ENABLE_DIAGNOSTIC</span></p></td>
<td><p>When set to 1, enables diagnostic messages for run-time
            deprecations, similarly to <code class="varname">G_ENABLE_DIAGNOSTIC</code> in
            GLib.</p></td>
</tr>
</tbody>
</table></div>
<p>On the GLX backend there is also:</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody><tr>
<td><p><span class="term">CLUTTER_VBLANK</span></p></td>
<td><p>Selects the sync-to-vblank mode to be used.
            Valid values are: none, dri or glx</p></td>
</tr></tbody>
</table></div>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="command-line"></a>Command Line Arguments</h2></div></div></div>
<p>Similarly to the environment variables, Clutter also installs
      command line switches that are parsed during initialization:</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term">--clutter-show-fps</span></p></td>
<td><p>Equivalent of CLUTTER_SHOW_FPS. Prints the
          current rendering speed in frames per second.</p></td>
</tr>
<tr>
<td><p><span class="term">--clutter-default-fps=FPS</span></p></td>
<td><p>Equivalent of CLUTTER_DEFAULT_FPS. Sets the
          default framerate.</p></td>
</tr>
<tr>
<td><p><span class="term">--clutter-text-direction=DIRECTION</span></p></td>
<td><p>Equivalent of CLUTTER_TEXT_DIRECTION. Sets the
          direction for the text.</p></td>
</tr>
<tr>
<td><p><span class="term">--clutter-disable-mipmapped-text</span></p></td>
<td><p>Equivalent of CLUTTER_DISABLE_MIPMAPPED_TEXT.
          Disables mipmapping when rendering text.</p></td>
</tr>
<tr>
<td><p><span class="term">--clutter-use-fuzzy-picking</span></p></td>
<td><p>Equivalent of CLUTTER_FUZZY_PICK. Enables
          "fuzzy" picking.</p></td>
</tr>
<tr>
<td><p><span class="term">--clutter-debug=FLAGS</span></p></td>
<td><p>Equivalent of CLUTTER_DEBUG. Sets FLAGS as the
          Clutter debugging flags.</p></td>
</tr>
<tr>
<td><p><span class="term">--clutter-no-debug=FLAGS</span></p></td>
<td><p>Unsets FLAGS from the Clutter debugging
          flags.</p></td>
</tr>
<tr>
<td><p><span class="term">--cogl-debug=FLAGS</span></p></td>
<td><p>Equivalent of COGL_DEBUG. Sets FLAGS as the
          Cogl debugging flags.</p></td>
</tr>
<tr>
<td><p><span class="term">--cogl-no-debug=FLAGS</span></p></td>
<td><p>Unsets FLAGS from the Cogl debugging
          flags.</p></td>
</tr>
<tr>
<td><p><span class="term">--clutter-enable-accessibility</span></p></td>
<td><p>Enables accessibility support.</p></td>
</tr>
</tbody>
</table></div>
<p>The X11 backends also have the following command line
      options:</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term">--display=DISPLAY</span></p></td>
<td><p>Sets the X11 display to use.</p></td>
</tr>
<tr>
<td><p><span class="term">--screen=SCREEN</span></p></td>
<td><p>Sets the X11 screen number to use.</p></td>
</tr>
<tr>
<td><p><span class="term">--synch</span></p></td>
<td><p>Make X11 calls synchronous.</p></td>
</tr>
</tbody>
</table></div>
</div>
<p>The GLX backend also has the following command line option:</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody><tr>
<td><p><span class="term">--vblank=METHOD</span></p></td>
<td><p>Equivalent of CLUTTER_VBLANK. Sets the sync-to-vblank
        method to be used.</p></td>
</tr></tbody>
</table></div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="clutter-Debug-Flags"></a>Debug flags for Clutter</h2></div></div></div>
<p>The debugging flags can be used for the CLUTTER_DEBUG environment
      variable and the --clutter-debug command line switch. Multiple flags can
      be separated by a colon (:) or a comma (,).</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term">actor</span></p></td>
<td><p>Generic actor-related notes</p></td>
</tr>
<tr>
<td><p><span class="term">animation</span></p></td>
<td><p><a class="link" href="clutter-Implicit-Animations.html#ClutterAnimation"><span class="type">ClutterAnimation</span></a> notes</p></td>
</tr>
<tr>
<td><p><span class="term">backend</span></p></td>
<td><p>Backend-related notes, including initialization of
          the backend features and GL context creation</p></td>
</tr>
<tr>
<td><p><span class="term">event</span></p></td>
<td><p>Event handling notes</p></td>
</tr>
<tr>
<td><p><span class="term">layout</span></p></td>
<td><p><a class="link" href="ClutterLayoutManager.html" title="ClutterLayoutManager"><span class="type">ClutterLayoutManager</span></a> notes</p></td>
</tr>
<tr>
<td><p><span class="term">misc</span></p></td>
<td><p>Miscellaneous notes</p></td>
</tr>
<tr>
<td><p><span class="term">scheduler</span></p></td>
<td><p>Notes related to timelines and the master
          clock</p></td>
</tr>
<tr>
<td><p><span class="term">script</span></p></td>
<td><p>Notes related to <a class="link" href="ClutterScript.html" title="ClutterScript"><span class="type">ClutterScript</span></a></p></td>
</tr>
</tbody>
</table></div>
<p>It is possible to get all the debugging notes using the
      special "all" flag.</p>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="configuration-file"></a>Configuration File</h2></div></div></div>
<p>Clutter will look for files named <code class="filename">settings.ini</code>
      located in the <code class="filename">/etc/clutter-1.0</code> and
      <code class="filename">$XDG_CONFIG_HOME/clutter-1.0</code> directories. These files
      must be valid key files (see <span class="type">GKeyFile</span> in the GLib documentation) and may
      have three sections:</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term">Environment</span></p></td>
<td><p>The keys in this section map the environment variables
          honoured by Clutter.</p></td>
</tr>
<tr>
<td><p><span class="term">Debug</span></p></td>
<td><p>The keys in this section related to the debugging notes
          that Clutter exposes when compiled with debugging support; similarly to
          the environment variables and command line arguments related to the
          debugging notes, Clutter must be compiled with support for these notes
          in order to use them.</p></td>
</tr>
<tr>
<td><p><span class="term">Settings</span></p></td>
<td><p>The keys in this section strictly map to the <span class="type">GObject</span>
          properties exposed by the <a class="link" href="ClutterSettings.html" title="ClutterSettings"><span class="type">ClutterSettings</span></a> type; if Clutter is running
          on an X11 platform, the XSettings manager will take precedence over the
          values specified in the <code class="filename">settings.ini</code>
          file.</p></td>
</tr>
</tbody>
</table></div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="configuration-keys-environment"></a>Keys available for the Environment group</h3></div></div></div>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term">ShowFps</span></p></td>
<td><p>A boolean value, equivalent to setting
            <code class="code">CLUTTER_SHOW_FPS</code>.</p></td>
</tr>
<tr>
<td><p><span class="term">DisableMipmappedText</span></p></td>
<td><p>A boolean value, equivalent to setting
            <code class="code">CLUTTER_DISABLE_MIPMAPPED_TEXT</code>.</p></td>
</tr>
<tr>
<td><p><span class="term">UseFuzzyPicking</span></p></td>
<td><p>A boolean value, equivalent to setting
            <code class="code">CLUTTER_FUZZY_PICK</code>.</p></td>
</tr>
<tr>
<td><p><span class="term">EnableAccessibility</span></p></td>
<td><p>A boolean value, equivalent to setting
            <code class="code">CLUTTER_ENABLE_ACCESSIBILITY</code>.</p></td>
</tr>
<tr>
<td><p><span class="term">DefaultFps</span></p></td>
<td><p>An integer value, equivalent to setting
            <code class="code">CLUTTER_DEFAULT_FPS</code>.</p></td>
</tr>
<tr>
<td><p><span class="term">TextDirection</span></p></td>
<td><p>A string value, equivalent to setting
            <code class="code">CLUTTER_TEXT_DIRECTION</code>.</p></td>
</tr>
</tbody>
</table></div>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="configuration-keys-debug"></a>Keys available for the Debug group</h3></div></div></div>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term">Debug</span></p></td>
<td><p>A string containing the debugging flags, in the same
            format that should be used with the <code class="code">CLUTTER_DEBUG</code>
            environment variable.</p></td>
</tr>
<tr>
<td><p><span class="term">PaintDebug</span></p></td>
<td><p>A string containing the paint debugging flags, in the same
            format that should be used with the <code class="code">CLUTTER_PAINT</code>
            environment variable.</p></td>
</tr>
<tr>
<td><p><span class="term">PickDebug</span></p></td>
<td><p>A string containing the pick debugging flags, in the same
            format that should be used with the <code class="code">CLUTTER_PICK</code>
            environment variable.</p></td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.25.1</div>
</body>
</html>