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

<A HREF="cirrus.html"><EM> Information for Cirrus Chipset Users</EM></A>
 <b>:</b> <EM>XF86Config options </EM><BR>
<b>Previous:</b> <A HREF="cirrus2.html"><EM>Basic configuration </EM></A><BR>
<b>Next:</b> <A HREF="cirrus4.html"><EM>Mode issues </EM></A>


<HR NOSHADE>
  <H2><A NAME="3"></A>3. XF86Config options </H2>
<p>Don't use the `<code>Clocks</code>' command. The clocks are fixed
(i.e. not probed), and
there should be no variation between cards (other than the maximum supported
clock for each chipset).</p>
<p>The following options are of particular interest to the Cirrus driver. Each
of them must be specified in the `<code>svga</code>' driver section of the
<code>XF86Config</code>
file, within the <code>Screen</code> subsections of the depths to which they are
applicable (you can enable options for all depths by specifying them in the
Device section).
<dl>
<dt><b>Option "noaccel"</b><dd><p>This option will disable the use of any accelerated functions. This
is likely to help with problems related to bugs in acceleration
functions, and perhaps high dot clocks and DRAM timing, at the cost
of performance (which will still be reasonable on a local bus).</p>
<dt><b>Option "fast_dram" "med_dram"
"slow_dram" (5424/6/8/9, 543x, 5446, 546x)</b><dd><p>These options set the internal memory clock (MCLK, or BCLK for
the 546x) register to
another value. The default value programmed by the BIOS is
usually OK, don't mess with these options unless absolutely
required.</p>
<p>The <code>"fast_dram"</code> option will cause the driver to set the
internal
memory clock (MCLK) register of the video card to a higher value
(recent chips use an even higher value by default).
Normally, this register is not touched but it appears that the
standard CL-GD542x BIOS initializes it to a value that is somewhat
on the low side (limited by the chip specification), which has a
negative influence on performance of high dot clock modes. This
is especially true if extended RAS timing is being used (this is
indicated in the server probe).
The actual speed of DRAM is not a critical factor in the determining
whether	this option is appropriate; one CL-GD5426-based card with
80ns DRAM using Extended RAS timing, which came with a DOS driver
utility to set the MCLK to this value (0x22), seems to run stable
at higher MCLK.</p>
<p>There are also (mainly brand name) cards whose customized BIOS does
initialize to a higher non-standard value.</p>
<p>The <code>"slow_dram"</code>
option will set the MCLK to the value used by the
standard CL-GD542x BIOS (0x1c). Symptoms of a MCLK that is too high
can be vertical bands of flickering pixels on the screen, erroneous
pixels appearing in text, and loosing pixels in the textmode font
after running X (note that very similar effects can be caused by an
MCLK setting that is too low).</p>
<p>Upon start-up, the driver will report the value of the MCLK
register (check this first), and also any changes that are made.</p>
<p>Typical MCLK values:
<dl>
<dt><b>0x1c (50 MHz)</b><dd><p>This is usually the BIOS default.
It is forced by the <code>"slow_dram"</code> option.</p>
<dt><b>0x1f (55 MHz)</b><dd><p>Value used by the <code>"med_dram"</code> option.
Highest value that
542x based cards seem to be able to handle with linear
addressing enabled.</p>
<dt><b>0x22 (60 MHz)</b><dd><p>Value that most (Extended RAS) 542x cards seem to be able to
handle, used by	the <code>"fast_dram"</code> option.</p>
</dl>
</p>
<p>The official maximum of the 542x chips is 50 MHz.
The official spec. for the 5434 is also 50 MHz (0x1c)
and that for
the 5429 and 5430 is probably 60 MHz (0x22). Current revisions
of the 5434 (E and greater) support 60 MHz MCLK in graphics modes,
and the driver will program this automatically. If it causes
problems, use the <code>"slow_dram"</code> option.</p>
<p>The driver takes the MCLK into account for clock limits that
are determined by DRAM bandwidth.</p>
<p>For the 546x chips, the BCLK is the Rambus access clock.
Typical values live in the range of 258 MHz to 300 MHz.  If you
have troubles, such as a black checkerboard pattern on the
screen, try using the <code>"med_dram"</code> or
<code>"slow_dram"</code> options.</p>
<p>In all cases, if you are not having any problems (performance
or stability at high dot clocks), it is best not to use any of
the DRAM options.</p>
<dt><b>Option "no_bitblt"</b><dd><p>This option, when used with a 5426/28/29/3x/46/6x/754x, will have the 
effect of
disabling the use of the BitBLT engine (which the 5424 does not
have), while retaining some acceleration. This will be useful for
problems related to functions that use the BitBLT engine.
Performance is significantly decreased.</p>
<dt><b>Option "no_imageblt"</b><dd><p>This option is now obsolete. The "xaa_no_color_exp" option has a
somewhat similar effect.</p>
<dt><b>chipset "clgd54xx"</b><dd><p>Force detection of the given chipset. Useful if you have a supported
chipset that is not properly detected, or if you have an unsupported
chip that might be compatible with a supported one.</p>
<dt><b>videoram 1024 (or another value)</b><dd><p>This option will override the detected amount of video memory, and
pretend the given amount of memory is present on the card. This is
useful on cards with 2Mbyte of memory whose DRAM configuration is
not compatible with the way the driver enables the upper megabyte of
memory, or if the memory detection goes wrong. It must be specified
in the Device section.</p>
<dt><b>Option "fifo_conservative" (5424/6/8/9/3x/46/6x/754x)</b><dd><p>This option will set the CRT FIFO threshold to a conservative value
for high dot clocks (&gt;= 65 MHz), reducing performance but hopefully
alleviating problems with what can be described as flashing
`streaks', `jitter' or horizontally repeated display areas on the
screen (especially when	a BitBLT operation is in progress, e.g.
scrolling).</p>
<dt><b>Option "fifo_aggressive" (5424/6/8/9/3x/46/6x/754x)</b><dd><p>This option will set the CRT FIFO threshold to an aggressive value;
it will be the same as that used for lower dot clocks.
Theoretically it improves performance at high dot clocks, but
it does not help in the vast majority of cases.  In some
cases with 546x chips, however, this option can help
reduce horizontal streaks or otherwise fix abnormal
display problems (display shifted to the left, etc.).</p>
<dt><b>Option "no_2mb_banksel" (542x)</b><dd><p>This option will cause the driver not to set the `DRAM bank select'
bit to enable the upper megabyte of memory on a 2Mbyte card. This
should be helpful with cards equipped with 512Kx8 DRAMs, as opposed
to 256Kx4/16 DRAMs, when using a virtual screen configuration that
uses more than 1Mbyte of memory.</p>
<dt><b>Option "probe_clocks"</b><dd><p>This option will force probing of dot clocks on the card. This
should not be necessary, since the clocks are fixed and the same for
all Cirrus chipsets.</p>
<dt><b>Clockchip "cirrus"</b><dd><p>This enables programmable clocks. It must be specified in the
Device section. With this option, the clocks the modes use will
be automatically selected. Do not specify any Clocks line. This
option makes a 12.5 MHz clock possible for a 320x200 Doublescan
mode. Note that some frequencies may be unstable (resulting in
a `wavy' screen). Only tried
and tested frequencies (like the default clocks) are guaranteed
to be stable.</p>
<dt><b>Option "linear"  (542x/6/8/9/3x/754x on VL-bus)</b><dd><p>This enables linear addressing, which is the mapping of the entire
framebuffer to a high address beyond system memory, so that SVGA
bank switching is not necessary. It enhances performance at 256
colors, and is currently required for 16bpp, 24bpp, and 32bpp. See 
section 4 for details.</p>
<dt><b>Option "nolinear"  (542x/6/8/9/3x/754x on PCI bus)</b><dd><p>Linear addressing is the default mode of operation on any
PCI-bus chip. For these configurations, this option disables
linear addressing.</p>
<dt><b>Membase 0x00e00000 (or a different address) (542x/6/8/9/3x/46/754x)</b><dd><p>This sets the physical memory base address of the linear
framebuffer. It must be specified in the Device section. It is
required for non-PCI linear addressing configurations.</p>
<dt><b>Option "favour_bitblt" (5426 only)</b><dd><p>This option is now obsolete.</p>
<dt><b>Option "mmio" (5429, 7548)</b><dd><p>This enables the use of memory-mapped I/O to talk to the BitBLT
engine on the 543x/5429, which is a bit faster. This is option
has no effect when not using the BitBLT engine (e.g. when using
"no_bitblt").</p>
<dt><b>Option "no_mmio" (543x/4x)</b><dd><p>This disables the use of memory-mapped I/O to talk to the BitBLT
engine on any chip for which it is the default mode of
operation. </p>
<dt><b>Option "sw_cursor" (542x/3x/46/6x)</b><dd><p>This disables use of the hardware cursor provided by the chip. Try
this if the cursor seems to have problems. In particular, use this
when using dot clocks greater than 85 MHz on the 5434/6 since those
chips don't fully support the hardware cursor at those clocks.</p>
<dt><b>Option "clgd6225_lcd"</b><dd><p>Provides a work-around for problems on the LCD screen of some
62x5 laptop chipsets with maximum white colors.</p>
<dt><b>Option "no_pixmap_cache"</b><dd><p>When XAA is used (on any BitBLT chip), this option disables
the use of a pixmap cache in XAA. It could help with certain
drawing bugs.</p>
<dt><b>Option "xaa_no_color_exp"</b><dd><p>When XAA is used, this option disables the use of hardware color
expansion features by XAA. Again, this might help with certain
drawing bugs.</p>
<dt><b>Option "no_stretch" (754x)</b><dd><p>Disable automatic stretching (horizontal and vertical expansion)
of 640x480 on a 800x600 LCD.</p>
<dt><b>Option "pci_retry" (546x)</b><dd><p>Enables a performance feature for PCI based cards.  When this
feature is enabled, the driver code will attempt to transmit
data on the PCI bus as fast as possible.  For the most part,
this option is safe, but may cause trouble with other PCI
devices such as PCI network cards, sound cards, SCSI
controllers, etc.  When this option is not selected, a safer
approach (polling the VGA's command queue) is taken.</p>
</dl>
</p>


 <HR NOSHADE>
<A HREF="cirrus.html"><EM> Information for Cirrus Chipset Users</EM></A>
 <b>:</b> <EM>XF86Config options </EM><BR>
<b>Previous:</b> <A HREF="cirrus2.html"><EM>Basic configuration </EM></A><BR>
<b>Next:</b> <A HREF="cirrus4.html"><EM>Mode issues </EM></A>



</BODY>
</HTML>
