<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Using an external clock setting program </TITLE>
</HEAD>
<BODY BGCOLOR="#efefef" TEXT="black" LINK="blue" VLINK="#551A8B" ALINK="red">

<A HREF="clkprog.html"><EM> Information for using/developing external clock setting programs</EM></A>
 <b>:</b> <EM>Using an external clock setting program </EM><BR>
<b>Previous:</b> <A HREF="clkprog.html"><EM> Information for using/developing external clock setting programs</EM></A><BR>
<b>Next:</b> <A HREF="clkprog2.html"><EM>Developing an extern clock setting program </EM></A>


<HR NOSHADE>
  <H2><A NAME="1"></A>1. Using an external clock setting program </H2>
<p>XFree86 provides a facility for setting the clock frequency on a graphics
card by an external program.  This is provided to make it possible to
deal with cards that use clock selection methods not supported by the
standard drivers.</p>
<p>This facility is enabled by adding a <code>ClockProg</code> line to the
<code>Device</code> section of the <code>XF86Config</code> file.
The format of this line is:
<blockquote><code>
<code>ClockProg  "</code><i>commandpath</i><code>"</code>
</code></blockquote>

where <i>commandpath</i> is the full pathname of the clock setting
program.  No flags are allowed in <i>commandpath</i>.</p>
<p>When using this option, and no <code>Clocks</code> line is specified, it is
assumed that the card has clocks which are fully programmable (like the 
SS24). However if the card has a fixed set of preset clocks a <code>Clocks</code>
line is required in the Device section of the <code>XF86Config</code> file 
to tell the server which clock frequencies are available to it. The 
ordering of the clocks in the <code>Clocks</code> line should correspond to 
what the card/program expects. Up to 128 clock values may be specified.</p>
<p>The server calls the external program when it needs to change the clock
frequency.  This occurs at startup and when switching modes with the
hot-key sequences.  The command is passed two command-line arguments.  The
first is the clock frequency in MHz (as a floating point number --
currently specified to the nearest 0.1 MHz).  The second argument is the
index of the clock value in the Clocks list (the first clock is index 0).
Cards with a fixed set of clocks would probably make use of the index,
while cards with a fully programmable clock would use the frequency argument.</p>

 <HR NOSHADE>
<A HREF="clkprog.html"><EM> Information for using/developing external clock setting programs</EM></A>
 <b>:</b> <EM>Using an external clock setting program </EM><BR>
<b>Previous:</b> <A HREF="clkprog.html"><EM> Information for using/developing external clock setting programs</EM></A><BR>
<b>Next:</b> <A HREF="clkprog2.html"><EM>Developing an extern clock setting program </EM></A>



</BODY>
</HTML>
