Table of Contents
sis - SiS video driver
Section "Device"
Identifier "devname"
Driver "sis"
...
EndSection
sis is an XFree86 driver for SiS video chips. The driver is accelerated,
and provides support for 8, 16 and 24 colordepths. XVideo, Render and other
extensions are supported as well.
The sis driver supports
PCI and AGP video cards based on the following chipsets:
SiS5597/5598 SiS530/620
SiS6326/AGP/DVD SiS300/305 SiS540 SiS630/730 SiS315/H/PRO SiS550 SiS650/651/650M/740
SiS330 (Xabre)
In the following text, the following terms are used:
old
series for SiS5597/5598, 530/620 and 6326/AGP/DVD
300 series for SiS300/305,
540 and 630/730
310/325/330 series for SiS315/H/PRO, 550 and 650/651/650M/740,
330
Please refer to XF86Config(5)
for general configuration
details. This section only covers configuration details specific to this
driver. Please note that support for the SiS330 is new and there may be
some problems.
1. For all supported chipsets
The following driver Options
are supported on all chipsets:
- Option "NoAccel" "boolean"
- Disable or enable
2D acceleration. Please note: On chipsets with XVideo support, this also
disables XVideo. Default: acceleration is enabled.
- Option "HWCursor" "boolean"
- Enable or disable the HW cursor. Default: HWCursor is on.
- Option "SWCursor"
"boolean"
- The opposite of HWCursor. Default: SWCursor is off.
- Option "Rotate"
"CW"
- Rotate the display clockwise. This mode is unaccelerated, and uses
the Shadow Frame Buffer layer. Default: no rotation.
- Option "Rotate" "CCW"
- Rotate the display counterclockwise. This mode is unaccelerated, and uses
the Shadow Frame Buffer layer. Default: no rotation.
- Option "ShadowFB" "boolean"
- Enable or disable use of the shadow framebuffer layer. Default: Shadow framebuffer
is off.
2. Old series specific information
The driver will auto-detect the
amount of video memory present for all these chips, but in the 6326 case,
it will limit the memory size to 4MB. This is because the 6326's 2D engine
can only address 4MB. The remaining memory seems to be intended for 3D texture
data, since only the 3D engine can address RAM above 4MB. However, you can
override this forced limitation using the "VideoRAM" option in the device
section if your board has more than 4MB and you need to use it. However,
2D acceleration, Xvideo and the HWCursor will be disabled in this case.
The driver will also auto-detect the maximum dotclock and DAC speed. If you
have problems getting high resolutions because of dot clock limitations,
try using the "DacSpeed" option, also in the device section. However, this
is not recommended for the 6326. For this chipset, the driver has two built-in
modes for high resolutions which you should use instead. These are named
"SIS1280x1024-75" and "SIS1600x1200-60" and they will be added to the list
of default modes. To use these modes, just place them in your Screen section.
Example:
Modes "SIS1600x1200-60" "SIS1280x1024x75" "1024x768" ...
1280x1024
is only available at 8, 15 and 16bpp. 1600x1200 is available at 8bpp only.
TV support for the 6326
TV output is supported on the 6326. The driver will
auto detect a TV connected, and in this case add the following modes to
the list of default modes: "PAL800x600", "PAL800x600U", "PAL720x540", "PAL640x480",
"NTSC640x480", "NTSC640x480U" and "NTSC640x400". Use these modes like the
hi-res modes described above.
The following driver Options are supported
on the old series:
- Option "TurboQueue" "boolean"
- Enable or disable TurboQueue
mode. Default: off for SIS530/620, on for the others
- Option "FastVram"
"boolean"
- Enable or disable FastVram mode. Enabling this sets the video
RAM timing to only one cycle per read operation instead of two cycles.
Disabling this will set 2 cycles for read and write operations. Leaving
this option out uses the default. Default: off for read, on for write.
- Option
"NoHostBus" "boolean"
- (SiS5597/5598 only). Disable CPU-to-VGA host bus support.
This speeds up CPU to video RAM transfers. Default: Host bus is enabled.
- Option "NoXVideo" "boolean"
- Disable XV (XVideo) extension support. Default:
XVideo is on.
- Option "TVStandard" "string"
- (6326 only) Possible parameters
are PAL or NTSC. The default is set by a jumper on the card.
- Option "TVXPosOffset"
"integer"
- (6326 only) This option allows horizontal relocation the TV output.
The range is from -16 to 16.
- Option "TVYPosOffset" "integer"
- (6326 only)
This option allows vertical relocation the TV output. The range is from
-16 to 16.
- Option "SIS6326TVEnableYFilter" "boolean"
- (6326 only) This option
allows enabling/disabling the Y filter for TV output.
- Option "SIS6326TVAntiFlicker"
"string"
- (6326 only) This option allow enabling/disabling the anti flicker
facility for TV output. Possible parameters are OFF, LOW, MED, HIGH or ADAPTIVE.
By experience, ADAPTIVE yields the best results.
2. 300 and 310/325/330 series
specific information
The 300 and 310/325/330 series very often come with
a video bridge for controlling LCD and TV output. Hereinafter, the term
CRT1 refers to the VGA output of the chip, and CRT2 refers to either LCD,
TV or secondary VGA. Due to timing reasons, only one CRT2 output can be
active at the same time. But this limitation does not apply to using CRT1
and CRT2 at the same time which makes it possible to run the driver in
dual head mode.
The driver supports the following video bridges:
SiS301
SiS301B SiS301LV SiS302B SiS302LV
Instead of a video bridge, some machines
have a LVDS transmitter to control LCD panels, and a Chrontel 7005 or 7019
for TV output. All these are supported as well.
About TV output
On the SiS301
and the Chrontel 7005, only resolutions up to 800x600 are supported. On
all others, resolutions up to 1024x768 are supported.
About XVideo support
XVideo is supported on all chipsets of both families. However, there are
some differences in hardware features which cause limitations. The 300 series
as well as the SiS550, 650M, 651 and 330 support two video overlays. The
SiS315/H/PRO and 650/740 support only one such overlay. On chips with two
overlays, one overlay is used for CRT1, the other for CRT2. On the other
chipsets, the option "XvOnCRT2" can be used to select the desired output
channel.
About dual-head support
Dual head mode has some limitations as regards
color depth and resolution. Due to memory bandwidth limits, CRT1 might have
a reduced refresh rate if running on higher resolutions than 1280x1024.
Colordepth 8 is not supported when running in dual head mode.
The following
driver Options are supported on the 300 and 310/325 series:
- Option "NoXVideo"
"boolean"
- Disable XV (XVideo) extension support. Default: XVideo is on.
- Option
"XvOnCRT2" "boolean"
- On chipsets with only one video overlay, this option
can used to bind the overlay to CRT1 ( if a monitor is detected and if
this option is either unset or set to false ) or CRT2 ( if a CRT2 device
is detected or forced, and if this option is set to true ). If either only
CRT1 or CRT2 is detected, the driver decides automatically. Default: overlay
is used on CRT1
- Option "ForceCRT1" "boolean"
- The BIOS detects VGA monitors
connected to CRT1 at boot time and the X driver by default relies on the
information passed by the BIOS. However, some old monitors are not detected
correctly. If this is the case, or if you connected the VGA monitor after
you booted the machine, you may set this option to true in order to make
the X driver ignore the information from the BIOS and initialize CRT1 anyway.
If this option is set to false , the driver will switch off CRT1 and thus
save memory bandwidth. Default: auto detect CRT1
- Option "ForceCRT2Type"
"string"
- Force display type to one of: NONE , TV , SVIDEO , COMPOSITE ,
SCART, , LCD , VGA ; NONE will disable CRT2. The SVIDEO, COMPOSITE and SCART
parameters can be used to force the driver to use a specific TV output
connector (if present). Default: auto detect.
- Option "PanelDelayCompensation"
"integer"
- This option is only for machines with a 300 series chipset and
either a SiS301B video bridge or a LVDS transmitter. Different LCD panels
require different delay compensation values. In most cases, the driver can
autodetect this value. However, due to bad BIOS design this might fail in
rare cases. If your LCD shows small horizontal waves, set the parameter
of this option first to 4 , 32 or 24 and if the problem persists, try using
other values between 4 and 60 in steps of 4.
- Option "UseROMData" "boolean"
- The driver reads some data from the BIOS ROM, especially LCD dependent
information. If the folks at SiS some day decide to change the location
of this data inside the BIOS image, the display might not be initialized
correctly. In order to prevent this, set this option's parameter to false.
Default: ROM data is used
- Option "TVStandard" "string"
- Force the TV standard
to either PAL or NTSC. On some machines with 630, 730 or 650/740, PALM and
PALN are supported as well. Default: BIOS setting.
- Option "TVXPosOffset"
"integer"
- This option allows horizontal relocation the TV output. The range
is from -32 to 32. Not supported on the Chrontel 7019 yet.
- Option "TVYPosOffset"
"integer"
- This option allows vertical relocation the TV output. The range
is from -32 to 32. Not supported on the Chrontel 7019 yet.
- Option "CHTVOverscan"
"boolean"
- On machines with a Chrontel TV encoder, this can be used to force
the TV mode to overscan or underscan. True means overscan, false means underscan.
Default: BIOS setting.
- Option "CHTVSuperOverscan" "boolean"
- On machines
with a Chrontel 7005 TV encoder, this option enables a super-overscan mode.
This is only supported if the TV standard is PAL. Super overscan will produce
an image on the TV which is larger than the viewable area.
3. 300 series
specific information
DRI is supported on the 300 series only. DRI requires
the kernel's SiS framebuffer driver ( sisfb ) and some other modules which
come with either the kernel or XFree86.
Sisfb takes care of memory management
for texture data. In order to prevent the X driver and sisfb from overwriting
each others video memory, sisfb reserves an amount of video memory for
the X driver. This amount can either be selected using sisfb's mem parameter,
or auto-selected depending on the amount of total video RAM available. However,
the X driver needs to know about the amount of RAM sisfb reserved. For this
purpose, the
- Option "MaxXFBMem" "integer"
exists.
At the moment (2002),
the SiS DRI driver is not maintained, lacks support for memory swapping
and has a few bugs. If you intend to use DRI, I recommend setting the total
video memory in the BIOS to 64MB in order to at least overcome the lack
of memory swap functions.
Sisfb can be used for memory management only,
or as a complete framebuffer driver. If you start sisfb with a valid mode
(ie you gain a graphical console), the X driver can communicate with sisfb
and doesn't require setting the "MaxXFBMem" option at all. The X driver will
receive enough information from sisfb in this case.
However, if you use
sisfb for memory management only, ie you started sisfb with mode=none and
still have a text mode console, there is no communication between sisfb
and the X driver. In this case, you need to set "MaxXFBMem" to the same
value as you gave sisfb with its mem parameter. If you didn't specify any
mem parameter, sisfb will reserve
- 12288KB if more than 16MB of total video
RAM is available,
- 8192KB if between 12 and 16MB of video RAM is available,
- 4096KB in all other cases.
Then you need to specify any of these amounts
as the parameter for the "MaxXFBMem" option. The value is to be given without
'KB'.
For some reason, PAL TV output on the SiS301LV bridge is only
black and white. NTSC is OK, though.
LCD panels with a resolution of 1280x1024
do not work correctly.
XFree86(1)
, XF86Config(5)
, xf86config(1)
,
Xserver(1)
, X(7)
http://www.winischhofer.net
for more information and updates
Authors include: Alan Hourihane, Mike Chapman, Juanjo Santamarta,
Mitani Hiroshi, David Thomas, Sung-Ching Lin, Ademar Reis, Thomas Winischhofer
Table of Contents