Table of Contents

Name

savage - S3 Savage video driver

Synopsis


Section "Device"
  Identifier "devname"
  Driver "savage"
  ...
EndSection

Description

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)

Configuration Details

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.

Files

savage_drv.o

See Also

__xservername__(__appmansuffix__), __xconfigfile__(5x), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__), X(7)

Authors

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