219 lines
12 KiB
HTML
219 lines
12 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3O//DTD W3 HTML 2.0//EN">
|
|
<!Converted with LaTeX2HTML 95.1 (Fri Jan 20 1995) by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds >
|
|
<HEAD>
|
|
<TITLE>5.1.4 Filling in video card information</TITLE>
|
|
</HEAD>
|
|
<BODY>
|
|
<meta name="description" value="5.1.4 Filling in video card information">
|
|
<meta name="keywords" value="gs">
|
|
<meta name="resource-type" value="document">
|
|
<meta name="distribution" value="global">
|
|
<P>
|
|
<BR> <HR><A NAME=tex2html4356 HREF="node203.html"><IMG ALIGN=BOTTOM ALT="next" SRC="next_motif.gif"></A> <A NAME=tex2html4354 HREF="node198.html"><IMG ALIGN=BOTTOM ALT="up" SRC="up_motif.gif"></A> <A NAME=tex2html4348 HREF="node201.html"><IMG ALIGN=BOTTOM ALT="previous" SRC="previous_motif.gif"></A> <A NAME=tex2html4358 HREF="node1.html"><IMG ALIGN=BOTTOM ALT="contents" SRC="contents_motif.gif"></A> <A NAME=tex2html4359 HREF="node250.html"><IMG ALIGN=BOTTOM ALT="index" SRC="index_motif.gif"></A> <BR>
|
|
<B> Next:</B> <A NAME=tex2html4357 HREF="node203.html">5.1.5 Running XFree86</A>
|
|
<B>Up:</B> <A NAME=tex2html4355 HREF="node198.html">5.1 The X Window </A>
|
|
<B> Previous:</B> <A NAME=tex2html4349 HREF="node201.html">5.1.3 Configuring XFree86</A>
|
|
<BR> <HR> <P>
|
|
<H2><A NAME=SECTION00714000000000000000>5.1.4 Filling in video card information</A></H2>
|
|
<P>
|
|
Your <tt>XF86Config</tt> file is now ready to go, with the exception of
|
|
complete information on the video card. What we're going to do is
|
|
use the X server to probe for the rest of this information, and fill it
|
|
into <tt>XF86Config</tt>.
|
|
<P>
|
|
Instead of probing for this information with the X server, the
|
|
<tt>XF86Config</tt> values for many cards are listed in the files
|
|
<tt>modeDB.txt</tt>, <tt>AccelCards</tt>, and <tt>Devices</tt>. These files
|
|
are all found in <tt>/usr/X11R6/lib/X11/doc</tt>. In addition, there
|
|
are various <tt>README</tt> files for certain chipsets. You should
|
|
look in these files for information on your video card, and use
|
|
that information (the clock values, chipset type, and any options)
|
|
in the <tt>XF86Config</tt> file. If any information is missing, you
|
|
can probe for it as described here.
|
|
<P>
|
|
In these examples we will demonstrate configuration for a
|
|
#9 GXE 64 video card, which uses the <tt>XF86_S3</tt> chipset.
|
|
This card happens to be the one which the author uses, but
|
|
the discussion here applies to any video card.
|
|
<P>
|
|
The first thing to do is to determine the video chipset used on the card.
|
|
Running <tt>SuperProbe</tt> (found in <tt>/usr/X11R6/bin</tt>) will tell you
|
|
this information, but you need to know the chipset name as it is known to
|
|
the X server.
|
|
<P>
|
|
To do this, run the command
|
|
<P><TT> X -showconfig
|
|
<P></TT>
|
|
This will give the chipset names known to your X server. (The man pages
|
|
for each X server list these as well.) For example, with the
|
|
accelerated <tt>XF86_S3</tt> server, we obtain:
|
|
<P><TT> <PRE>XFree86 Version 3.1 / X Window System
|
|
(protocol Version 11, revision 0, vendor release 6000)
|
|
Operating System: Linux
|
|
Configured drivers:
|
|
S3: accelerated server for S3 graphics adaptors (Patchlevel 0)
|
|
mmio_928, s3_generic
|
|
</PRE> <P></TT>
|
|
<P>
|
|
The valid chipset names for this server are <tt>mmio_928</tt> and
|
|
<tt>s3_generic</tt>. The <tt>XF86_S3</tt> man page describes these chipsets
|
|
and which videocards use them. In the case of the #9 GXE 64 video
|
|
card, <tt>mmio_928</tt> is appropriate.
|
|
<P>
|
|
If you don't know which chipset to use, the X server can probe it
|
|
for you. To do this, run the command
|
|
<P><TT> <code>X -probeonly > /tmp/x.out 2>&1 </code>
|
|
<P></TT>
|
|
if you use <tt>bash</tt> as your shell. If you use <tt>csh</tt>, try:
|
|
<P><TT> <code>X -probeonly &> /tmp/x.out </code>
|
|
<P></TT>
|
|
<P>
|
|
You should run this command while the system is unloaded, that is,
|
|
while no other activity is occurring on the system. This command will also
|
|
probe for your video card dot clocks (as seen below), and system load can
|
|
throw off this calculation.
|
|
<P>
|
|
The output from the above (in <tt>/tmp/x.out</tt> should contain lines such
|
|
as the following:
|
|
<P><TT> <code>XFree86 Version 3.1 / X Window System </code><BR>
|
|
<code>(protocol Version 11, revision 0, vendor release 6000) </code><BR>
|
|
<code>Operating System: Linux </code><BR>
|
|
<code>Configured drivers: </code><BR>
|
|
<code> S3: accelerated server for S3 graphics adaptors (Patchlevel 0) </code><BR>
|
|
<code> mmio_928, s3_generic </code><BR>
|
|
<em>Several lines deleted...</em> <BR>
|
|
<code>(--) S3: card type: 386/486 localbus </code><BR>
|
|
<code>(--) S3: chipset: 864 rev. 0 </code><BR>
|
|
<code>(--) S3: chipset driver: mmio_928 </code>
|
|
<P></TT>
|
|
Here, we see that the two valid chipsets for this server (in this case,
|
|
<tt>XF86_S3</tt>) are <tt>mmio_928</tt> and <tt>s3_generic</tt>. The server
|
|
probed for and found a video card using the <tt>mmio_928</tt> chipset.
|
|
<P>
|
|
In the <tt>Device</tt> section of the <tt>XF86Config</tt> file, add a <tt>Chipset</tt>
|
|
line, containing the name of the chipset as determined above. For example,
|
|
<P><TT> <PRE>Section "Device"
|
|
# We already had Identifier here...
|
|
Identifier "#9 GXE 64"
|
|
# Add this line:
|
|
Chipset "mmio_928"
|
|
EndSection
|
|
</PRE> <P></TT>
|
|
<P>
|
|
Now we need to determine the driving clock frequencies used by the video card.
|
|
A driving clock frequency, or dot clock, is simply a rate at which the
|
|
video card can send pixels to the monitor. As we have seen, each monitor
|
|
resolution has a dot clock associated with it. Now we need to determine
|
|
which dot clocks are made available by the video card.
|
|
<P>
|
|
First you should look into the files (<tt>modeDB.txt</tt>, and so forth)
|
|
mentioned above and see if your card's clocks are listed there.
|
|
The dot clocks will usually be a list of 8 or 16 values, all of which
|
|
are in MHz. For example, when looking at <tt>modeDB.txt</tt> we see an
|
|
entry for the Cardinal ET4000 video board, which looks like this:
|
|
<P><TT> <PRE># chip ram virtual clocks default-mode flags
|
|
ET4000 1024 1024 768 25 28 38 36 40 45 32 0 "1024x768"
|
|
</PRE> <P></TT>
|
|
As we can see, the dot clocks for this card are 25, 28, 38, 36, 40, 45, 32,
|
|
and 0 MHz.
|
|
<P>
|
|
In the <tt>Devices</tt> section of the <tt>XF86Config</tt> file, you should
|
|
add a <tt>Clocks</tt> line containing the list of dot clocks for your card.
|
|
For example, for the clocks above, we would add the line
|
|
<P><TT> <PRE> Clocks 25 28 38 36 40 45 32 0
|
|
</PRE> <P></TT>
|
|
to the <tt>Devices</tt> section of the file, after <tt>Chipset</tt>.
|
|
Note that the order of the clocks is important! Don't resort the list
|
|
of clocks or remove duplicates.
|
|
<P>
|
|
If you cannot find the dot clocks associated with your card, the X server
|
|
can probe for these as well. Using the <tt>X -probeonly</tt> command described
|
|
above, the output should contain lines which look like the following:
|
|
<P><TT> <PRE>(--) S3: clocks: 25.18 28.32 38.02 36.15 40.33 45.32 32.00 00.00
|
|
</PRE> <P></TT>
|
|
We could then add a <tt>Clocks</tt> line containing all of these values,
|
|
as printed. You can use more than one <tt>Clocks</tt> line in <tt>XF86Config</tt>
|
|
should all of the values (sometimes there are more than 8 clock values
|
|
printed) not fit onto one line. Again, be sure to keep the list of clocks
|
|
in order as they are printed.
|
|
<P>
|
|
Be sure that there is no <tt>Clocks</tt> line (or that it is commented out)
|
|
in the <tt>Devices</tt> section of the file when using <tt>X -probeonly</tt>
|
|
to probe for the clocks. If there is a <tt>Clocks</tt> line present, the
|
|
server will <em>not</em> probe for the clocks---it will use the values
|
|
given in <tt>XF86Config</tt>.
|
|
<P>
|
|
Note that some accelerated video boards use a programmable clock chip.
|
|
(See the <tt>XF86_Accel</tt> man page for details; this generally applies
|
|
to S3, AGX, and XGA-2 boards.)
|
|
This chip essentially allows the X server to tell the card which dot clocks
|
|
to use. If this is the case, then you may not find a list of dot clocks
|
|
for the card in any of the above files. Or, the list of dot clocks printed
|
|
when using <tt>X -probeonly</tt> will only contain one or two discrete clock
|
|
values, with the rest being duplicates or zero.
|
|
<P>
|
|
For boards which use a programmable clock chip, you would use a
|
|
<tt>ClockChip</tt> line, instead of a <tt>Clocks</tt> line, in your
|
|
<tt>XF86Config</tt> file. <tt>ClockChip</tt> gives the name of the clock chip
|
|
as used by the video card; the man pages for each server describe what
|
|
these are. For example, in the file <tt>README.S3</tt>, we see that
|
|
several S3-864 video cards use an ``ICD2061A'' clock chip, and that we
|
|
should use the line
|
|
<P><TT> <code> ClockChip "icd2061a" </code>
|
|
<P></TT>
|
|
instead of <tt>Clocks</tt> in the <tt>XF86Config</tt> file. As with <tt>Clocks</tt>,
|
|
this line should go in the <tt>Devices</tt> section, after <tt>Chipset</tt>.
|
|
<P>
|
|
Similarly, some accelerated cards require you to specify the RAMDAC chip
|
|
type in the <tt>XF86Config</tt> file, using a <tt>Ramdac</tt> line.
|
|
The <tt>XF86_Accel</tt> man page describes this option. Usually, the X
|
|
server will correctly probe for the RAMDAC.
|
|
<P>
|
|
Some video card types require you to specify several options in the
|
|
<tt>Devices</tt> section of <tt>XF86Config</tt>. These options will be
|
|
described in the man page for your server, as well as in the various
|
|
files (such as <tt>README.cirrus</tt> or <tt>README.S3</tt>. These options
|
|
are enabled using the <tt>Option</tt> line. For example, the #9 GXE 64
|
|
card requires two options:
|
|
<P><TT> <code> Option "number_nine" </code><BR>
|
|
<code> Option "dac_8_bit" </code>
|
|
<P></TT>
|
|
Usually, the X server will work without these options, but they are
|
|
necessary to obtain the best performance. There are too many such options
|
|
to list here, and they each depend on the particular video card being
|
|
used. If you must use one of these options, fear not---the X server
|
|
man pages and various files in <tt>/usr/X11R6/lib/X11/doc</tt> will
|
|
tell you what they are.
|
|
<P>
|
|
So, when you're finished, you should end up with a <tt>Devices</tt>
|
|
section which looks something like this:
|
|
<P><TT> <code>Section "Device" </code><BR>
|
|
<code> # Device section for the #9 GXE 64 only</code> !<BR>
|
|
<code> Identifier "#9 GXE 64" </code><BR>
|
|
<code> Chipset "mmio_928" </code><BR>
|
|
<code> ClockChip "icd2061a" </code><BR>
|
|
<code> Option "number_nine" </code><BR>
|
|
<code> Option "dac_8_bit" </code><BR>
|
|
<code>EndSection </code>
|
|
<P></TT>
|
|
Most video cards will require a <tt>Clocks</tt> line, instead of
|
|
<tt>ClockChip</tt>, as described above. The above <tt>Device</tt> entry
|
|
is only valid for a particular video card, the #9 GXE 64. It is
|
|
given here only as an example.
|
|
<P>
|
|
There are other options that you can include in the <tt>Devices</tt>
|
|
entry. Check the X server man pages for the gritty details, but the
|
|
above should suffice for most systems.
|
|
<P>
|
|
<BR> <HR><A NAME=tex2html4356 HREF="node203.html"><IMG ALIGN=BOTTOM ALT="next" SRC="next_motif.gif"></A> <A NAME=tex2html4354 HREF="node198.html"><IMG ALIGN=BOTTOM ALT="up" SRC="up_motif.gif"></A> <A NAME=tex2html4348 HREF="node201.html"><IMG ALIGN=BOTTOM ALT="previous" SRC="previous_motif.gif"></A> <A NAME=tex2html4358 HREF="node1.html"><IMG ALIGN=BOTTOM ALT="contents" SRC="contents_motif.gif"></A> <A NAME=tex2html4359 HREF="node250.html"><IMG ALIGN=BOTTOM ALT="index" SRC="index_motif.gif"></A> <BR>
|
|
<B> Next:</B> <A NAME=tex2html4357 HREF="node203.html">5.1.5 Running XFree86</A>
|
|
<B>Up:</B> <A NAME=tex2html4355 HREF="node198.html">5.1 The X Window </A>
|
|
<B> Previous:</B> <A NAME=tex2html4349 HREF="node201.html">5.1.3 Configuring XFree86</A>
|
|
<BR> <HR> <P>
|
|
<BR> <HR>
|
|
<P><ADDRESS>
|
|
<I>Matt Welsh <BR>
|
|
mdw@sunsite.unc.edu</I>
|
|
</ADDRESS>
|
|
</BODY>
|