s3virge - S3 ViRGE video driver
[ Option "optionname" ["optionvalue"]]
s3virge is an XFree86 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.
The s3virge driver supports PCI and AGP video cards based on the following S3 chips:
ViRGE VX 86C988
ViRGE DX 86C375
ViRGE GX 86C385
ViRGE GX2 86C357
ViRGE MX 86C260
ViRGE MX+ 86C280
Trio 3D 86C365
Trio 3D/2X 86C362, 86C368
Please refer to XF86Config(5x) for general configuration details. This section only cov-
ers 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
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:
"virge", "86c325", "virge vx", "86c988", "virge dx", "86c375", "virge gx", "86c385",
"virge gx2", "86c357", "virge mx", "86c260", "virge mx+", "86c280", "trio 3d",
"86c365", "trio 3d/2x", "86c362", "86c368".
The following Cursor Options are supported:
Option "HWCursor" ["boolean"]
Enable or disable the HW cursor. Default: on.
Option "SWCursor" ["boolean"]
Inverse of "HWCursor". Default: off.
The following display Options are supported:
Option "ShadowFB" ["boolean"]
Use shadow framebuffer. Disables HW acceleration. Default: off.
Option "Rotate" "cw | ccw"
Rotate the screen CW - clockwise or CCW - counter clockwise. Disables HW Accelera-
tion and HW Cursor, uses ShadowFB. Default: no rotation.
Option "XVideo" ["boolean"]
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:
Switch the standard ViRGE to 2-cycle edo mode. Try this if you encounter pixel cor-
ruption on the ViRGE. Using this option will cause a large decrease in performance.
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 mem-
ory clock value, and use it at server start.
The following acceleration and graphics engine Options are supported:
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 acceler-
ate with hardware. Default: acceleration is enabled.
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 inter-
nal memory bus to refill itself. The smaller this threshold, the better the accel-
eration 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, espe-
cially 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 "set_lcdclk" "integer"
allows setting the clock for a ViRGE MX LCD display. integer is in Hz. Default:
use probed value.
The following additional Options are supported:
Option "ShowCache" ["boolean"]
Enable or disable viewing offscreen cache memory. A development debug option.
Option "mx_cr3a_fix" ["boolean"]
Enable or disable a cr3a fix added for ViRGE MX. Default: on.
XFree86(1), XF86Config(5x), xf86config(1), Xserver(1), X(7x)
The VideoRam generic driver parameter is presently ignored by the s3virge driver. On PPC
this is reported to cause problems for 2M cards, because they may autodetect as 4M.
For assistance with this driver, or XFree86 in general, check the XFree86 web site at
http://www.xfree86.org. A FAQ is available on the web site at
http://www.xfree86.org/FAQ/. If you find a problem with XFree86 or have a question not
answered in the FAQ please use our bug report form available on the web site or send mail
to XFree86@XFree86.org. When reporting problems with the driver send as much detail as
possible, including chipset type, a server output log, and operating system specifics.
Kevin Brosius, Matt Grossman, Harald Koenig, Sebastien Marineau, Mark Vojkovich.
XFree86 Version Version 4.3.0 s3virge(4x)