1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
|
.\" $XFree86: xc/programs/Xserver/hw/xfree86/drivers/savage/savage.man,v 1.7 2003/11/09 20:43:57 dawes Exp $
.\" shorthand for double quote that works everywhere.
.ds q \N'34'
.TH SAVAGE __drivermansuffix__ __vendorversion__
.SH NAME
savage \- S3 Savage video driver
.SH SYNOPSIS
.nf
.B "Section \*qDevice\*q"
.BI " Identifier \*q" devname \*q
.B " Driver \*qsavage\*q"
\ \ ...
.B EndSection
.fi
.SH DESCRIPTION
.B 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
.B savage
driver supports PCI and AGP boards with the following chips:
.TP 16
.BI Savage3D
(8a20 and 8a21) (2D, 3D)
.TP 16
.B Savage4
(8a22) (2D, 3D)
.TP 16
.B Savage2000
(9102) (2D only)
.TP 16
.B Savage/MX
(8c10 and 8c11) (2D, 3D)
.TP 16
.B Savage/IX
(8c12 and 8c13) (2D, 3D)
.TP 16
.B SuperSavage/MX
(8c22, 8c24, and 8c26) (2D, 3D)
.TP 16
.B SuperSavage/IX
(8c2a, 8c2b, 8c2c, 8c2d, 8c2e, and 8c2f) (2D, 3D)
.TP 16
.B ProSavage PM133
(8a25) (2D, 3D)
.TP 16
.B ProSavage KM133
(8a26) (2D, 3D)
.TP 16
.B Twister (ProSavage PN133)
(8d01) (2D, 3D)
.TP 16
.B TwisterK (ProSavage KN133)
(8d02) (2D, 3D)
.TP 16
.B ProSavage DDR
(8d03) (2D, 3D)
.TP 16
.B ProSavage DDR-K
(8d04) (2D, 3D)
.SH CONFIGURATION DETAILS
Please refer to __xconfigfile__(__filemansuffix__) for general configuration
details. This section only covers configuration details specific to this
driver.
.PP
The following driver
.B Options
are supported:
.TP
.BI "Option \*qHWCursor\*q \*q" boolean \*q
.TP
.BI "Option \*qSWCursor\*q \*q" boolean \*q
These two options interact to specify hardware or software cursor. If the
SWCursor option is specified, any HWCursor setting is ignored. Thus, either
\*qHWCursor off\*q or \*qSWCursor on\*q 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.
.TP
.BI "Option \*qNoAccel\*q \*q" boolean \*q
Disable or enable acceleration. Default: acceleration is enabled.
.TP
.BI "Option \*qRotate\*q \*qCW\*q"
.TP
.BI "Option \*qRotate\*q \*qCCW\*q"
Rotate the desktop 90 degrees clockwise or counterclockwise. This option
forces the ShadowFB option on, and disables acceleration.
Default: no rotation.
.TP
.BI "Option \*qShadowFB\*q \*q" boolean \*q
Enable or disable use of the shadow framebuffer layer. This option
disables acceleration. Default: off.
.TP
.BI "Option \*qLCDClock\*q \*q" frequency \*q
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
.B 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).
.TP
.BI "Option \*qUseBIOS\*q \*q" boolean \*q
Enable or disable use of the video BIOS to change modes. Ordinarily, the
.B 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
.B savage
driver use your mode line timing exactly, turn off the UseBios option.
Default: on (use the BIOS).
.TP
.BI "Option \*qShadowStatus\*q \*q" boolean \*q
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).
.TP
.BI "Option \*qDisableCOB\*q \*q" boolean \*q
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).
.TP
.BI "Option \*qBCIforXv\*q \*q" boolean \*q
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).
.TP
.BI "Option \*qAGPMode\*q \*q" integer \*q
Set AGP data transfer rate.
(used only when DRI is enabled)
.br
1 \-\- x1 (default)
.br
2 \-\- x2
.br
4 \-\- x4
.br
others \-\- invalid
.SH FILES
savage_drv.o
.SH "SEE ALSO"
__xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), xorgconfig(__appmansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__)
.SH AUTHORS
Authors include Tim Roberts (timr@probo.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.
|