s3virge is an Xorg driver for S3 based video cards.
The driver is fully accelerated, and provides support for the following
framebuffer depths: 8, 15, 16, and 24. All visual types are supported for
depth 8, and TrueColor visuals are supported for the other depths. XVideo
hardware up scaling is supported in depth 16 and 24 on the DX, GX, GX2,
MX, MX+, and Trio3D/2X. Doublescan modes are supported and tested in depth
8 and 16 on DX, but disable XVideo. Doublescan modes on other chipsets
are untested.

Please
refer to xorg.conf(5x)
for general configuration details. This section only
covers configuration details specific to this driver. All options names
are case and white space insensitive when parsed by the server, for example,
"virge vx" and "VIRGEvx" are equivalent.

The driver auto-detects the chipset
type, but the following ChipSet names may optionally be specified in the
config file ""Device"" section, and will override the auto-detection:

Disable XVideo support by using the off option. This
changes FIFO settings which prevent screen noise for high-res modes. Default:

on

The following video memory Options are supported:

Option "slow_edodram"

Switch the standard ViRGE to 2-cycle edo mode. Try this if you encounter
pixel corruption on the ViRGE. Using this option will cause a large decrease
in performance. Default: off.

Option "fpm_vram"

Switch the ViRGE/VX to fast
page mode vram mode. Default: off.

Option "slow_dram | fast_dram"

Change
Trio 3D and 3D/2X memory options. Default: Use BIOS defaults.

Option "early_ras_precharge
| late_ras_precharge"

adjust memory parameters. One of these will us the
same settings as your video card defaults, and using neither in the config
file does the same. Default: none.

Option "set_mclk" "integer"

sets the
memory clock, where integer is in kHz, and integer <= 100000. Default: probe
the memory clock value, and use it at server start.

Option "set_refclk"
"integer"

sets the ref clock for ViRGE MX, where integer is in kHz. Default:
probe the memory clock value, and use it at server start.

The following
acceleration and graphics engine Options are supported:

Option "NoAccel"

Disable acceleration. Very useful for determining if the driver has problems
with drawing and acceleration routines. This is the first option to try
if your server runs but you see graphic corruption on the screen. Using
it decreases performance, as it uses software emulation for drawing operations
the video driver can accelerate with hardware. Default: acceleration is
enabled.

Option "UseFB"

There are two framebuffer rendering methods. fb
and cfb. Both are available in the driver. fb is the newer and default
method. To switch back to cfb use this option with no, off or other negative
parameter. Default: on.

Option "fifo_aggressive | fifo_moderate | fifo_conservative"

alter the settings for the threshold at which the pixel FIFO takes over
the internal memory bus to refill itself. The smaller this threshold, the
better the acceleration performance of the card. You may try the fastest
setting (fifo_aggressive) and move down if you encounter pixel corruption.
The optimal setting will probably depend on dot-clock and on color depth.
Note that specifying any of these options will also alter other memory
settings which may increase performance, so trying fifo_conservative will
in most cases be a slight benefit (this uses the chip defaults). If pixel
corruption or transient streaking is observed during drawing operations
then removing any fifo options is recommended. Default: none.

The following
PCI bus Options are supported:

Option "pci_burst" ["boolean"]

will enable
PCI burst mode. This should work on all but a few broken PCI chipsets, and
will increase performance. Default: off.

Option "pci_retry" ["boolean"]

will allow the driver to rely on PCI Retry to program the ViRGE registers.
pci_burst must be enabled for this to work. This will increase performance,
especially for small fills/blits, because the driver does not have to
poll the ViRGE before sending it commands to make sure it is ready. It
should work on most recent PCI chipsets. Default: off.

The following ViRGE
MX LCD Options are supported:

Option "lcd_center"

Option "set_lcdclk" "integer"

allows setting the clock for a ViRGE MX LCD display. integer is in Hz.
Default: use probed value.

For assistance with this driver, or Xorg in general, check
the web site at http://www.x.org.
If you find a problem with Xorg or have
a question not answered in the FAQ please use our bug report form available
on the web site. When reporting problems with the driver send as much detail
as possible, including chipset type, a server output log, and operating
system specifics.