<!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>Configuring the Video Hardware</TITLE>
</HEAD>
<BODY BGCOLOR="#efefef" TEXT="black" LINK="blue" VLINK="#551A8B" ALINK="red">

<A HREF="Config.html"><EM>Configuring XFree86: A Step-By-Step Guide</EM></A>
 <b>:</b> <EM>Configuring the Video Hardware</EM><BR>
<b>Previous:</b> <A HREF="Config3.html"><EM>The Easy Parts of XF86Config</EM></A><BR>
<b>Next:</b> <A HREF="Config5.html"><EM>Configuring the Monitor and its Modes</EM></A>


<HR NOSHADE>
  <H2><A NAME="4"></A>4. Configuring the Video Hardware</H2>

<p>The video hardware is described in the "Device" sections.
Multiple device sections are permitted, and each section describes a
single graphics board.</p>
<p>Be sure to read the server manual pages and the chipset-specific
<code>README</code> files for any non-generic information that may apply to your
setup.</p>
<p>To create a Device section you need to collect the data for your
hardware, and make some configuration decisions.  The hardware data you
need is:
<ul>
<li>Chipset</li>
<li>Amount of video memory</li>
<li>Dot-clocks available or clock chip used (if programmable)</li>
<li>Ramdac type (for some servers)</li>
</ul>

The server, in general, is capable of filling these on its own, but it
is best to fully specify things in the <code>XF86Config</code> file, so that no
mistakes are made.  The 'Chipset' is one of the keyword strings for a
configured driver (which can be displayed by running 'X -showconfig').
Of the accelerated servers, only some have chipset drivers currently.
The amount of memory is specified in KBytes, so 1M of memory would be
specified as 1024.</p>
<p>The dot-clocks are the trickiest part of card configuration.
Fortunately a large database of collected dot-clocks is available.  A
list of Device entries for some graphics boards can be found in the
`Devices' file.  If you find one for your card, you can start with that.
Also, the first part of the <code>modeDB.txt</code> file lists information for a
myriad of SVGA cards.  For accelerated cards, you can also look in the
`AccelCards' file.  If you are fortunate, your card is listed in one
place or the other.  If you find your card, copy the numbers from the
database to the Clocks line in your <code>XF86Config</code> file, exactly as they
appear in the database, without sorting, and leaving any duplicates.
Note that some of the newer accelerated cards use a programmable clock
generator, in which case a ClockChip line is used in your <code>XF86Config</code>
file to identify the type of clock generator.  (e.g. 'ClockChip
"icd2061a"', which would be used for a #9 GXe board).</p>
<p>If you can't find a listing for your board, you can attempt to
have the server detect them.  Run the command 'X -probeonly &gt;/tmp/out 2&gt;&amp;1'
(for sh or ksh) or 'X -probeonly &gt;&amp;/tmp/out' (for csh). Be sure that the
<code>XF86Config</code> file does <b>not</b> contain a Clocks line at
this point. Running this 
will cause your monitor to freak out for a couple of seconds, as the
server cycles through the clocks rapidly.  It should not damage your
monitor, but some newer monitors may shut themselves off because
things may go out of spec.  Anyhow, when this gets done, look in the
file /tmp/out for the detected dot-clocks.  Copy these to the Clocks
line in your <code>XF86Config</code> file, exactly as they appear in
/tmp/out.  
Don't sort them or rearrange them in any way.</p>
<p>It is possible that your board has a programmable clock
generator.  A symptom of this will be a printout of only 2 or 3 clock
values, with the rest all zeros.  If you run into this, and your board
is not listed in the databases, contact the XFree86 team for help, or
post a message to comp.windows.x.i386unix.  Note that most current
Diamond hardware falls into this category, and Diamond will not
release the programming details, so we can't help you.  There are some
ethically questionable solutions available that you can inquire about
on netnews; we do not advocate these methods, so do not contact us
about them.</p>
<p>Some servers (S3 and AGX) require you to identify the type and
speed of the RAMDAC your board uses in order to get the most out of the
hardware.  This is done by adding 'Ramdac' and 'DacSpeec' entries.  For
details of the supported RAMDACs, refer to the appropriate server manual
page.  Note, in previous versions of XFree86 the RAMDAC type was
specified with an Option flag.</p>
<p>You may need to specify some Option flags for your hardware The
server manual pages will describe these options, and the
chipset-specific <code>README</code> files will tell you if any are required for your
board.</p>

 <HR NOSHADE>
<A HREF="Config.html"><EM>Configuring XFree86: A Step-By-Step Guide</EM></A>
 <b>:</b> <EM>Configuring the Video Hardware</EM><BR>
<b>Previous:</b> <A HREF="Config3.html"><EM>The Easy Parts of XF86Config</EM></A><BR>
<b>Next:</b> <A HREF="Config5.html"><EM>Configuring the Monitor and its Modes</EM></A>



</BODY>
</HTML>
