Table of Contents
savage - S3 Savage video driver
Section "Device"
Identifier "devname"
Driver "savage"
...
EndSection
savage is an __xservername__ driver for the S3 Savage family
video accelerator chips. 2D, 3D, and Xv acceleration is supported on all
chips except the Savage2000 (2D only). The savage driver supports PCI and
AGP boards with the following chips:
- Savage3D
- (8a20 and 8a21) (2D, 3D)
- Savage4
- (8a22) (2D, 3D)
- Savage2000
- (9102) (2D only)
- Savage/MX
- (8c10 and
8c11) (2D, 3D)
- Savage/IX
- (8c12 and 8c13) (2D, 3D)
- SuperSavage/MX
- (8c22,
8c24, and 8c26) (2D, 3D)
- SuperSavage/IX
- (8c2a, 8c2b, 8c2c, 8c2d, 8c2e,
and 8c2f) (2D, 3D)
- ProSavage PM133
- (8a25) (2D, 3D)
- ProSavage KM133
- (8a26)
(2D, 3D)
- Twister (ProSavage PN133)
- (8d01) (2D, 3D)
- TwisterK (ProSavage
KN133)
- (8d02) (2D, 3D)
- ProSavage DDR
- (8d03) (2D, 3D)
- ProSavage DDR-K
- (8d04)
(2D, 3D)
Please refer to __xconfigfile__(5x) for general
configuration details. This section only covers configuration details specific
to this driver.
The following driver Options are supported:
- Option "HWCursor"
"boolean"
- Option "SWCursor" "boolean"
- These two options interact to specify
hardware or software cursor. If the SWCursor option is specified, any HWCursor
setting is ignored. Thus, either "HWCursor off" or "SWCursor on" will force
the use of the software cursor. On Savage/MX and Savage/IX chips which
are connected to LCDs, a software cursor will be forced, because the Savage
hardware cursor does not correctly track the automatic panel expansion
feature. Default: hardware cursor.
- Option "NoAccel" "boolean"
- Disable or
enable acceleration. Default: acceleration is enabled.
- Option "Rotate" "CW"
- Option "Rotate" "CCW"
- Rotate the desktop 90 degrees clockwise or counterclockwise.
This option forces the ShadowFB option on, and disables acceleration.
Default: no rotation.
- Option "ShadowFB" "boolean"
- Enable or disable use
of the shadow framebuffer layer. This option disables acceleration. Default:
off.
- Option "LCDClock" "frequency"
- Override the maximum dot clock. Some
LCD panels produce incorrect results if they are driven at too fast of
a frequency. If UseBIOS is on, the BIOS will usually restrict the clock
to the correct range. If not, it might be necessary to override it here.
The frequency parameter may be specified as an integer in Hz (135750000),
or with standard suffixes like "k", "kHz", "M", or "MHz" (as in 135.75MHz).
- Option "UseBIOS" "boolean"
- Enable or disable use of the video BIOS to change
modes. Ordinarily, the savage driver tries to use the video BIOS to do
mode switches. This generally produces the best results with the mobile
chips (/MX and /IX), since the BIOS knows how to handle the critical but
unusual timing requirements of the various LCD panels supported by the
chip. To do this, the driver searches through the BIOS mode list, looking
for the mode which most closely matches the __xconfigfile__ mode line.
Some purists find this scheme objectionable. If you would rather have
the savage driver use your mode line timing exactly, turn off the UseBios
option. Default: on (use the BIOS).
- Option "ShadowStatus" "boolean"
- Enables
the use of a shadow status register. There is a chip bug in the Savage
graphics engine that can cause a bus lock when reading the engine status
register under heavy load, such as when scrolling text or dragging windows.
The bug affects about 4% of all Savage users. If your system hangs regularly
while scrolling text or dragging windows, try turning this option on. This
uses an alternate method of reading the engine status which is slightly
more expensive, but avoids the problem. Default: off (use normal status
register).
- Option "DisableCOB" "boolean"
- Disables the COB (Command Overflow
Buffer) on savage4 and newer chips. There is supposedly a HW cache coherency
problem on certain savage4 and newer chips that renders the COB useless.
If you are having problems with 2D or 3D acceleration you can disable
the COB, however you will lose some performance. This option only applies
to Savage4 and newer chips. Default: on (use COB).
- Option "BCIforXv" "boolean"
- Use the BCI to copy and reformat Xv pixel data. Using the BCI for Xv causes
graphics artifacts on some chips. This option only applies to Savage4
and prosavage/twister chips. Default: on for prosavage and twister (use
BCI for Xv); off for savage4 (do not use the BCI for Xv).
- Option "AGPMode"
"integer"
- Set AGP data transfer rate. (used only when DRI is enabled)
1 -- x1 (default)
2 -- x2
4 -- x4
others -- invalid
- Option "MergedFB" "boolean"
- This enables merged framebuffer
mode. In this mode you have a single shared framebuffer with two viewports
looking into it. It is similar to Xinerama, but has some advantages. It
is faster than Xinerama, the DRI works on both heads, and it supports clone
modes.
Merged framebuffer mode provides two linked viewports looking into a single
large shared framebuffer. The size of the framebuffer is determined by
the Virtual keyword defined on the Screen section of your XF86Config file.
It works just like regular virtual desktop except you have two viewports
looking into it instead of one.
For example, if you wanted a desktop composed of two 1024x768 viewports
looking into a single desktop you would create a virtual desktop of 2048x768
(left/right) or 1024x1536 (above/below), e.g.,
Virtual 2048 768 or Virtual 1024 1536
The virtual desktop can be larger than larger than the size of the viewports
looking into it. In this case the linked viewports will scroll around in
the virtual desktop. Viewports with different sizes are also supported
(e.g., one that is 1024x768 and one that is 640x480). In this case the smaller
viewport will scroll relative to the larger one such that none of the virtual
desktop is inaccessable. If you do not define a virtual desktop the driver
will create one based on the orientation of the heads and size of the largest
defined mode in the display section that is supported on each head.
The relation of the viewports in specified by the CRT2Position Option.
The options are Clone , LeftOf , RightOf , Above , and Below.
The maximum framebuffer size that the 2D acceleration engine can handle
is 2048x2048. The maximum framebuffer size that the 3D engine can handle
is 2048x2048.
The default value is undefined.
- Option "CRT2HSync" "string"
- Set the horizontal
sync range for the secondary monitor. It is not required if a DDC-capable
monitor is connected.
For example, Option "CRT2HSync" "30.0-86.0"
The default value is undefined.
- Option "CRT2VRefresh" "string"
- Set the vertical
refresh range for the secondary monitor. It is not required if a DDC-capable
monitor is connected.
For example, Option "CRT2VRefresh" "50.0-120.0"
The default value is undefined.
- Option "CRT2Position" "string"
- Set the relationship
of CRT2 relative to CRT1. Valid options are: Clone , LeftOf , RightOf ,
Above , and Below
For example, Option "CRT2Position" "RightOf"
The default value is Clone.
- Option "MetaModes" "string"
- MetaModes are mode
combinations for CRT1 and CRT2. If you are using merged frame buffer mode
and want to change modes (CTRL-ALT-+/-), these define which modes will be
switched to on CRT1 and CRT2. The MetaModes are defined as CRT1Mode-CRT2Mode
(800x600-1024x768). Modes listed individually (800x600) define clone modes,
that way you can mix clone modes with non-clone modes. Also some programs
require "standard" modes.
Note: Any mode you use in the MetaModes must be defined in the Screen
section of your XF86Config file. Modes not defined there will be ignored
when the MetaModes are parsed since the driver uses them to make sure the
monitors can handle those modes. If you do not define a MetaMode the driver
will create one based on the orientation of the heads and size of the largest
defined mode in the display section that is supported on each head.
Modes "1024x768" "800x600" "640x480"
For example, Option "MetaModes" "1024x768-1024x768 800x600-1024x768 640x480-800x600
800x600"
The default value is undefined.
- Option "NoMergedXinerama" "boolean"
- Since
merged framebuffer mode does not use Xinerama, apps are not able to intelligently
place windows. Merged framebuffer mode provides its own pseudo-Xinerama.
This allows Xinerama compliant applications to place windows appropriately.
There are some caveats. Since merged framebuffer mode is able to change
relative screen sizes and orientations on the fly, as well has having overlapping
viewports, pseudo-Xinerama, might not always provide the right hints. Also
many Xinerama compliant applications only query Xinerama once at startup;
if the information changes, they may not be aware of the change. If you
are already using Xinerama (e.g., a single head card and a dualhead card
providing three heads), pseudo-Xinerama will be disabled.
This option allows you turn off the driver provided pseudo-Xinerama extension.
The default value is FALSE.
- Option "MergedXineramaCRT2IsScreen0" "boolean"
- By default the pseudo-Xinerama provided by the driver makes the left-most
or bottom head Xinerama screen 0. Certain Xinerama-aware applications do
special things with screen 0. To change that behavior, use this option.
The default value is undefined.
- Option "MergedDPI" "string"
- The driver will
attempt to figure out an appropriate DPI based on the DDC information and
the orientation of the heads when in merged framebuffer mode. If this value
does not suit you, you can manually set the DPI using this option.
For example, Option "MergedDPI" "100 100"
The default value is undefined.
savage_drv.o
__xservername__(__appmansuffix__),
__xconfigfile__(5x), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__),
X(7)
Authors include Tim Roberts (timr@probo.com), Alex Deucher (agd5f@yahoo.com),
and Ani Joshi (ajoshi@unixbox.com) for this version, and Tim Roberts and
S. Marineau for the original driver from which this was derived.
Table of Contents