SiS_DDC2Delay: initialize variable before adding to it
[xf86-video-sis.git] / man / sis.man
blob578bb680b93e857d5e0b871cc326f2536d1d6cec
1 .\" shorthand for double quote that works everywhere.
2 .ds q \N'34'
3 .TH SIS __drivermansuffix__ __vendorversion__
4 .SH NAME
5 sis \- SiS and XGI video driver
6 .SH SYNOPSIS
7 .nf
8 .B "Section \*qDevice\*q"
9 .BI "  Identifier \*q"  devname \*q
10 .B  "  Driver \*qsis\*q"
11 \ \ ...
12 .B EndSection
13 .fi
14 .SH DESCRIPTION
15 .B sis
16 is an __xservername__ driver for SiS (Silicon Integrated Systems) and XGI video
17 chips. The driver is accelerated and provides support for colordepths of 8, 16
18 and 24 bpp. XVideo, Render and other extensions are supported as well.
19 .SH SUPPORTED HARDWARE
20 The
21 .B sis
22 driver supports PCI, AGP and PCIe video cards based on the following chipsets:
23 .PP
24 .B SiS5597/5598
25 .B SiS530/620
26 .B SiS6326/AGP/DVD
27 .B SiS300/305
28 .B SiS540
29 .B SiS630/730
30 .B SiS315/E/H/PRO
31 .B SiS550/551/552
32 .B SiS650/651/661/741
33 .B SiS330 (Xabre)
34 .B SiS760/761
35 .B XGI Volari V3/V5/V8
36 .B XGI Volari Z7
37 .PP
38 In the following text, the following terms are used:
39 .PP
40 .B old series
41 for SiS5597/5598, 530/620 and 6326/AGP/DVD
42 .PP
43 .B 300 series
44 for SiS300/305, 540 and 630/730
45 .PP
46 .B 315/330/340 series
47 for SiS315, 55x, 330, 661/741/76x (plus M, FX, MX, GX variants thereof), 340
48 and all XGI chips.
49 .PP
50 .SH CONFIGURATION DETAILS
51 Please refer to __xconfigfile__(__filemansuffix__) for general configuration
52 details.  This section only covers configuration details specific to this
53 driver.
54 .PP
55 Detailed information on all supported options can be obtained at
56 http://www.winischhofer.eu/linuxsisvga.shtml
57 .PP
58 This manpage only covers a subset of the supported options.
59 .PP
60 .I "1. For all supported chipsets"
61 .PP
62 The following driver
63 .B options
64 are supported on all chipsets:
65 .TP
66 .BI "Option \*qNoAccel\*q \*q" boolean \*q
67 Disable or enable 2D acceleration. Default: acceleration is enabled.
68 .TP
69 .BI "Option \*qHWCursor\*q \*q" boolean \*q
70 Enable or disable the HW cursor. Default: HWCursor is on.
71 .TP
72 .BI "Option \*qSWCursor\*q \*q" boolean \*q
73 The opposite of HWCursor. Default: SWCursor is off.
74 .TP
75 .BI "Option \*qRotate\*q \*q" string \*q
76 Rotate the display clockwise ("CW") or counter-clockwise ("CCW"). This
77 mode is unaccelerated. Using this option disables XVideo and the Resize
78 and Rotate extension (RandR). Rotation and reflection (see below) are
79 mutually exclusive.
80 Default: no rotation.
81 .TP
82 .BI "Option \*qReflect\*q \*q" string \*q
83 Reflect (mirror) the display horizontally ("X"), vertically ("Y") or
84 both ("XY"). This mode is unaccelerated. Using this option disables
85 XVideo and the Resize and Rotate extension (RandR). Rotation (see
86 above) and reflection are mutually exclusive.
87 Default: no reflection.
88 .TP
89 .BI "Option \*qCRT1Gamma\*q \*q" boolean \*q
90 Enable or disable gamma correction. (On the 300 and 315/330/340 series,
91 this option only affects CRT1 output).
92 Default: Gamma correction is enabled.
93 .PP
94 .I "2. Old series specific information"
95 .PP
96 The driver will auto-detect the amount of video memory present for all
97 these chips, but in the case of the 6326, it will limit the memory size
98 to 4MB. This is because the 6326's 2D engine can only address 4MB. The
99 remaining memory seems to be intended for 3D texture data, since only
100 the 3D engine can address RAM above 4MB. However, you can override this
101 limitation using the
102 .B \*qVideoRAM\*q
103 option in the Device section if your board has more than 4MB and you
104 need to use it. However, 2D acceleration, XVideo and the HWCursor will
105 be disabled in this case.
107 For the 6326, the driver has two built-in modes for high resolutions
108 which you should use instead of the default ones. These are named
109 .B \*qSIS1280x1024-75\*q
111 .B \*qSIS1600x1200-60\*q
112 and they will be added to the list of default modes. To use these modes,
113 just place them in your Screen section. Example:
115 .BI "Modes \*qSIS1600x1200-60\*q \*qSIS1280x1024x75\*q \*q1024x768\*q ...
117 Of these modes, 1280x1024 is only available at 8, 15 and 16bpp. 1600x1200
118 is available at 8bpp only.
120 TV support for the 6326
122 TV output is supported for the 6326. The driver will auto detect a
123 connected TV and in this case add the following display modes to the list
124 of available display modes: "PAL800x600", "PAL800x600U", "PAL720x540",
125 "PAL640x480", "NTSC640x480", "NTSC640x480U" and "NTSC640x400".
126 Use these modes like the hi-res modes described above.
128 The following driver
129 .B Options
130 are supported on the old series:
132 .BI "Option \*qTurboQueue\*q \*q" boolean \*q
133 Enable or disable TurboQueue mode.  Default: off for SIS530/620, on for
134 the others
136 .BI "Option \*qFastVram\*q \*q" boolean \*q
137 Enable or disable FastVram mode.  Enabling this sets the video RAM timing
138 to one cycle per read operation instead of two cycles. Disabling this will
139 set two cycles for read and write operations. Leaving this option out uses
140 the default, which varies depending on the chipset.
142 .BI "Option \*qNoHostBus\*q \*q" boolean \*q
143 (SiS5597/5598 only). Disable CPU-to-VGA host bus support. This
144 speeds up CPU to video RAM transfers. Default: Host bus is enabled.
146 .BI "Option \*qNoXVideo\*q \*q" boolean \*q
147 Disable XV (XVideo) extension support. Default: XVideo is on.
149 .BI "Option \*qNoYV12\*q \*q" boolean \*q
150 Disable YV12 Xv support. This might me required due to hardware bugs in some
151 chipsets. Disabling YV12 support forces Xv-aware applications to use YUV2 or
152 XShm for video output.
153 Default: YV12 support is on.
155 .BI "Option \*qTVStandard\*q \*q" string \*q
156 (6326 only) Valid parameters are
157 .B PAL
159 .B NTSC.
160 The default is set by a jumper on the card.
162 .BI "Option \*qTVXPosOffset\*q \*q" integer \*q
163 (6326 only) This option allows tuning the horizontal position of the image
164 for TV output. The range is from -16 to 16. Default: 0
166 .BI "Option \*qTVYPosOffset\*q \*q" integer \*q
167 (6326 only) This option allows tuning the vertical position of the image
168 for TV output. The range is from -16 to 16. Default: 0
170 .BI "Option \*qSIS6326TVEnableYFilter\*q \*q" boolean \*q
171 (6326 only) This option allows enabling/disabling the Y (chroma) filter for
172 TV output.
174 .BI "Option \*qSIS6326TVAntiFlicker\*q \*q" string \*q
175 (6326 only) This option allow enabling/disabling the anti flicker facility
176 for TV output. Possible parameters are
177 .B OFF, LOW, MED, HIGH
179 .B ADAPTIVE.
180 By experience,
181 .B ADAPTIVE
182 yields the best results, hence it is the default.
184 .I "2. 300 and 315/330/340 series specific information"
186 The 300 and 315/330/340 series, except the XGI Z7, feature two CRT
187 controllers and very often come with a video bridge for controlling LCD
188 and TV output. Hereinafter, the term
189 .B CRT1
190 refers to the VGA output of the chip, and
191 .B CRT2
192 refers to either LCD, TV or secondary VGA. Due to timing reasons,
193 only one CRT2 output can be active at the same time. But this
194 limitation does not apply to using CRT1 and CRT2 at the same time
195 which makes it possible to run the driver in dual head mode.
197 The driver supports the following video bridges:
199 .B SiS301
200 .B SiS301B(-DH)
201 .B SiS301C
202 .B SiS301LV
203 .B SiS302(E)LV
205 Instead of a video bridge, some machines have a third party
206 .B LVDS
207 transmitter to control LCD panels, and/or a
208 .B "Chrontel 7005"
210 .B "7019"
211 for TV output. All these are supported as well.
213 About TV output
215 The driver fully supports standard (PAL, NTSC, PAL-N, PAL-M) S-video or
216 composite output as well as high definition TV (HDTV) output via YPbPr plugs.
217 For more information on HDTV, please consult the author's website.
219 As regards S-video and CVBS output, the SiS301 and the Chrontel 7005 only
220 support resolutions up to 800x600. All others support resolutions up to
221 1024x768. However, due to a hardware bug, Xvideo might be distorted on SiS
222 video bridges if running NTSC or PAL-M at 1024x768.
224 About XVideo support
226 XVideo is supported on all chipsets of both families (except the XGI Volari
227 Z7 which lacks hardware support for video overlays). However, there
228 are some differences in hardware features which cause limitations.
229 The 300 series as well as the SiS55x, M650, 651, 661FX, M661FX, M661MX,
230 741, 741GX, M741, 76x, M76x support two video overlays. The SiS315/H/PRO,
231 650/740, 330, 340 and the XGI Volari V3, V5 and V8 chips support only one such
232 overlay. On chips with two overlays, one overlay is used for CRT1, the other
233 for CRT2. On the other chipsets, the option
234 .B \*qXvOnCRT2\*q
235 can be used to select the desired output device (CRT1 or CRT2).
237 About Merged Framebuffer support
239 Merged framebuffer mode is similar to dual head/Xinerama mode (for using two
240 output devices of one card at the same time), but has a few advantages which
241 make me recommend it strongly over Xinerama. Please see
242 http://www.winischhofer.eu/linuxsisvga.shtml for detailed information.
244 About dual-head support
246 Dual head mode with or without Xinerama is fully supported, be it with one card
247 driving two outputs, be it two cards. Note that colordepth 8 is not supported in
248 dual head mode if run on one card with two outputs.
250 The following driver
251 .B Options
252 are supported on the 300 and 315/330/340 series:
254 .BI "Option \*qNoXVideo\*q \*q" boolean \*q
255 Disable XV (XVideo) extension support.
256 Default: XVideo is on.
258 .BI "Option \*qXvOnCRT2\*q \*q" boolean \*q
259 On chipsets with only one video overlay, this option can
260 used to bind the overlay to CRT1 ( if a monitor is detected
261 and if this option is either unset or set to
262 .B false
263 ) or CRT2 ( if a CRT2 device is detected or forced, and if this
264 option is set to
265 .B true
266 ). If either only CRT1 or CRT2 is detected, the driver decides
267 automatically. In Merged Framebuffer mode, this option is ignored.
268 Default: overlay is used on CRT1
270 .BI "Option \*qForceCRT1\*q \*q" boolean \*q
271 Force CRT1 to be on of off. If a monitor is connected, it will be
272 detected during server start. However, some old monitors are not
273 detected correctly. In such cases, you may set this option to
274 .B on
275 in order to make the driver initialize CRT1 anyway.
276 If this option is set to
277 .B off
278 , the driver will switch off CRT1.
279 Default: auto-detect
281 .BI "Option \*qForceCRT2Type\*q \*q" string \*q
282 Force display type to one of:
283 .B NONE
285 .B TV
287 .B SVIDEO
289 .B COMPOSITE
291 .B SVIDEO+COMPOSITE
293 .B SCART
295 .B LCD
297 .B VGA
299 .B NONE
300 will disable CRT2. The SVIDEO, COMPOSITE, SVIDEO+COMPOSITE and SCART
301 parameters are for SiS video bridges only and can be used to force the
302 driver to use a specific TV output connector (if present). For further
303 parameters, see the author's website.
304 Default: auto detect.
306 .BI "Option \*qCRT2Gamma\*q \*q" boolean \*q
307 Enable or disable gamma correction for CRT2. Only supported
308 for SiS video bridges. Default: Gamma correction for CRT2 is on.
310 .BI "Option \*qTVStandard\*q \*q" string \*q
311 Force the TV standard to either
312 .B PAL
314 .B NTSC.
315 On some machines with 630, 730 and the 315/330/340 series,
316 .B PALM
318 .B PALN
320 .B NTSCJ
321 are supported as well. Default: BIOS setting.
323 .BI "Option \*qTVXPosOffset\*q \*q" integer \*q
324 This option allows tuning the horizontal position of the image for
325 TV output. The range is from -32 to 32. Not supported on the Chrontel
326 7019. Default: 0
328 .BI "Option \*qTVYPosOffset\*q \*q" integer \*q
329 This option allows tuning the vertical position of the image for TV
330 output. The range is from -32 to 32. Not supported on the Chrontel
331 7019. Default: 0
333 .BI "Option \*qSISTVXScale\*q \*q" integer \*q
334 This option selects the horizontal zooming level for TV output. The range
335 is from -16 to 16. Only supported on SiS video bridges. Default: 0
337 .BI "Option \*qSISTVYScale\*q \*q" integer \*q
338 This option selects the vertical zooming level for TV output in the
339 following modes: 640x480, 800x600. On the 315/330/340 series, also 720x480,
340 720x576 and 768x576. The range is from -4 to 3. Only supported on
341 SiS video bridges. Default: 0
343 .BI "Option \*qCHTVOverscan\*q \*q" boolean \*q
344 On machines with a Chrontel TV encoder, this can be used to force the
345 TV mode to overscan or underscan.
346 .B on
347 means overscan,
348 .B off
349 means underscan.
350 Default: BIOS setting.
352 .BI "Option \*qCHTVSuperOverscan\*q \*q" boolean \*q
353 On machines with a Chrontel 7005 TV encoder, this option
354 enables a super-overscan mode. This is only supported if
355 the TV standard is PAL. Super overscan will produce an
356 image on the TV which is larger than the viewable area.
358 The driver supports many more options. Please see
359 http://www.winischhofer.eu/linuxsisvga.shtml for
360 more information.
362 .I "3. 300 series specific information"
364 DRI is supported on the 300 series only. On Linux, prior to kernel 2.6.3,
365 DRI requires the kernel's SiS framebuffer driver (
366 .B sisfb
367 ). The SiS DRM kernel driver as well as the SiS DRI client driver are
368 required in any case.
370 Sisfb, if installed and running, takes care of memory management for
371 texture data. In order to prevent the X Server and sisfb from overwriting
372 each other's data, sisfb reserves an amount of video memory for the X driver.
373 This amount can either be selected using sisfb's mem parameter, or
374 auto-selected depending on the amount of total video RAM available.
376 Sisfb can be used for memory management only, or as a complete framebuffer
377 driver. If you start sisfb with a valid mode (ie you gain a graphical console),
378 the X driver can communicate with sisfb and doesn't require any
379 manual configuration for finding out about the video memory it is allowed
380 to use.
382 However, if you are running a 2.4 series Linux kernel and use sisfb for
383 video memory management only, ie you started sisfb with mode=none and still
384 have a text mode console, there is no communication between sisfb and the
385 X driver. For this purpose,
388 .BI "Option \*qMaxXFBMem\*q \*q" integer \*q
390 exists. This option must be set to the same value as given to sisfb through
391 its "mem" parameter, ie the amount of memory to use for X in kilobytes.
393 If you started sisfb without the mem argument, sisfb will reserve
395 12288KB if more than 16MB of total video RAM is available,
397 8192KB if between 12 and 16MB of video RAM is available,
399 4096KB in all other cases.
401 If you intend to use DRI on an integrated chipset (540, 630, 730), I recommend
402 setting the total video memory in the BIOS setup utility to 64MB.
404 PLEASE NOTE: As of Linux 2.6.3 and under *BSD, sisfb is not required for
405 memory management. Hence, this option is mandatory on such systems not
406 running sisfb to decide how much memory X should reserve for DRI. If the
407 option is omitted, DRI will have no memory assigned, and all DRI applications
408 will quit with errors like "failed to allocate Z-buffer" or the like.
410 .BI "Option \*qDRI\*q \*q" boolean \*q
411 This option allows enabling or disabling DRI. By default, DRI is on.
413 .BI "Option \*qAGPSize\*q \*q" integer \*q
414 This option allows selecting the amount of AGP memory to be used for DRI.
415 The amount is to be specified in megabyte, the default is 8.
416 .SH "KNOWN BUGS"
417 none.
418 .SH "SEE ALSO"
419 __xservername__(__appmansuffix__), __xconfigfile__(__filemansuffix__), Xserver(__appmansuffix__), X(__miscmansuffix__)
421 .B "http://www.winischhofer.eu/linuxsisvga.shtml"
422 for more information and updates
423 .SH AUTHORS
424 Author: Thomas Winischhofer. Formerly based on code by Alan Hourihane,
425 Mike Chapman, Juanjo Santamarta, Mitani Hiroshi, David Thomas, Sung-Ching Lin,
426 Ademar Reis.