                          Information for SiS Users

               Thomas Winischhofer (<thomas@winischhofer.net>)

                               7 February 2005

1.  Introduction

This driver is written by Thomas Winischhofer and is a (nearly) complete re-
write of a driver written for the SiS6326 and SiS530 by Alan Hourihane and
others.

It currently supports the following chipsets:

   o old series: 5597/5598, 6236/AGP/DVD, 530/620

   o 300 series: 300/305, 540, 630/730

   o 315 series: 315/E/PRO, 550/551/552, 650, 651, M650, 740

   o 330 series: 330 ("Xabre"), M]661[F/M]X, [M]741[GX], [M]760[GX]

Among other features, the driver supports

   o 8/16/24 bits color depth; old series also 15

   o Hardware cursor; 315/330 series: Color HW cursor

   o XAA; XVideo (Xv); RENDER (XRAND) and other extensions

   o 6326: TV output

   o 300/315/330 series: TV output via Chrontel TV encoders or SiS video
     bridges

   o 300/315/330 series: LCD output via LVDS transmitters or SiS video
     bridges

   o 300/315/330 series: Dual head mode; Xinerama; Merged framebuffer mode

This document provides a brief overview over the driver's features and con-
figuration options. Please see http://www.winischhofer.at/linuxsisvga.shtml
for detailed documentation and updates.

2.  xorg.conf Options

The following options are of particular interest for the SiS driver. Each of
them must be specified in the Device section of the xorg.conf file for this
card.

In the list below, the options' arguments are described by type. For
"boolean", the keywords "on", "true" and "yes", as well as "off", "false" and
"no" respectively have the same meaning.

2.1  For all chipsets

      Option "SWCursor" boolean]

      Option "HWCursor" boolean]
            These options select whether the software (SW) or hardware (HW)
            cursor should be used. The default is using the hardware cursor.

      Option "NoAccel" boolean]
            Disables 2D acceleration. By default, 2D acceleration is enabled.

      Option "Rotate" string]
            This option enables clockwise ("CW") or counter-clockwise ("CCW")
            rotation of the display. Enabling either CW or CCW rotation dis-
            ables the RandR extension.  Default: no rotation.

      Option "ShadowFB" boolean]
            This option enables the shadow framebuffer layer. By default, it
            is disabled.

      Option "NoXVideo" boolean]
            Disables the XVideo (Xv) support. By default, XVideo support is
            enabled.

      Option "CRT1Gamma" boolean]
            Enables or disables gamma correction. Default: gamma correction
            is enabled.

2.2  old series specific options

      Option "FastVram" boolean]
            Enables 1 cycle memory access for read and write operations. The
            default depends on the chipset used.

      Option "Turboqueue" boolean]
            SiS chipsets have the ability to extend the engine command queue
            in video RAM. This concept is called "TurboQueue" and gives some
            performance improvement. Due to hardware bugs, the TurboQueue is
            disabled on the 530/620, otherwise enabled by default.

      Option "NoHostBus" boolean]
            For 5597/5598 only. This option, if set, disables the CPU to VGA
            host bus.  Disabling the host bus will result in a severe perfor-
            mance regression.

      VideoRAM size]
            The SiS 6326 can only directly address 4096K bytes of video RAM.
            However, there are some cards out there featuring 8192K (8MB) of
            video RAM. This RAM is not addressable by the engines. Therefore,
            by default, the driver will only use 4096K. This behavior can be
            overridden by specifying the amount of video RAM using the Video-
            RAM keyword. If more than 4096K is specified, the driver will
            disable 2D acceleration, Xv and the HW cursor. On all other
            chipsets, this keyword is ignored. The size argument is expected
            in KB, but without "KB".

      Option "NoYV12" boolean]
            Due to hardware bugs, XVideo may display a corrupt image when
            using YV12 encoded material. This option, if set, disables sup-
            port for YV12 and hence forces the Xv-aware application to use
            either YUV2 or XShm for video output.

      Option "TVStandard" string]
            (6326 only) Selects the TV output standard. May be PAL or NTSC.
            By default, this is selected by a jumper on the card.

2.3  300/315/330 series specific options

      Option "EnableSiSCtrl" boolean]
            This option enables/disables the driver's interface for the SiSC-
            trl utility. Please see http://www.winischhofer.at/linux-
            sisvga.shtml for more information.

      Option "Turboqueue" boolean]
            (300 series only) SiS chipsets have the ability to extend the
            engine command queue in video RAM. This concept is called "Turbo-
            Queue" and gives some performance improvement. The TurboQueue is
            enabled by default.

      Option "ForceCRT1" boolean]
            Enables or disables CRT1 (= the external VGA monitor). By
            default, the driver will use CRT1 if a monitor is detected during
            server start. Some older monitors can't be detected, so they may
            require setting this option to true. To disable CRT1 output, set
            this option to false.

      Option "ForceCRT1Type" string]
            (For SiS 650, M650, 651, 661, 741, 760 with either SiS 301LV,
            302LV or SiS 301C video bridge only) The argument may be "VGA" or
            "LCD". Specifying LCD will force the driver to use the VGA con-
            troller's CRT1 channel for driving   the LCD while CRT2 is free
            for TV usage. Default is VGA.

      Option "ForceCRT2Type" string]
            Selects the CRT2 output device type. Valid parameters are "LCD",
            "TV", "SVIDEO", "COMPOSITE", "SVIDEO+COMPOSITE", "SCART", "VGA",
            "YPBPR480I", "YPBPR480P", "YPBPR720P", "YPBPR1080I" or "NONE".
            NONE disables CRT2.  SVIDEO, COMPOSITE, SVIDEO+COMPOSITE, SCART
            and all the YPBPR alternatives are only for systems with a SiS
            video bridge and select the desired plug or tv standard type. For
            Chrontel systems, TV should be used instead. VGA means secondary
            VGA and is only available on some SiS video bridges (301, 301B,
            301C).

      Option "CRT2Gamma" boolean]
            (For SiS video bridges only) This option enables or disables
            gamma correction for CRT2. Default: gamma correction for CRT2 is
            enabled.

      Option "DRI" boolean]
            Although this option is accepted for all chipsets, it currently
            only makes sense on the 300 series; DRI is only supported on
            these chipsets.  This option enables/disables DRI.

      Option "TVStandard" string]
            Selects the TV output standard. May be PAL or NTSC, on some
            machines (depending on the hardware) also PALM and PALN. Default:
            BIOS setting.

      Option "TVXPosOffset" integer]

      Option "TVYPosOffset" integer]
            These options allow relocating the image on your TV. Both options
            take an integer within the range of -16 to 16. Default: 0. Not
            supported for Chrontel 7019.

      Option "CHTVOverscan" boolean]
            (For Chrontel TV encoders only) Selects whether TV output should
            be overscan or underscan.

      Option "CHTVSuperOverscan" boolean]
            (For Chrontel 7005 TV encoders in PAL mode only) Selects whether
            TV output should be super-overscan (slightly larger than the
            viewable area) or not.

      Option "SISTVXScale" integer]

      Option "SISTVYScale" integer]
            (For SiS video bridges only) These options allow zooming the
            image on your TV. SISTVXScale takes an integer within the range
            of -16 to 16.  SISTVYScale accepts -4 to 3. Default: 0. Not all
            modes can be scaled.

2.4  300 series specific options

      Option "MaxXFBMem" size]
            This option might only be needed if you are running X on a Linux
            2.4 series kernel. This option is not needed and should be omit-
            ted on Linux 2.6 and *BSD.

            The Linux kernel features a framebuffer driver named "sisfb"
            which takes care of memory management for DRI/DRM (such as for 3D
            texture data). In order to keep the X driver and sisfb from over-
            writing each other's video memory, sisfb reserves a certain
            amount of video memory for the X driver. Reserved memory is for X
            2D, pixmap cache and video data only. Sisfb will not present this
            memory to the DRI. The amount of reserved memory can either be
            selected using sisfb's mem parameter or auto-selected depending
            on the total amount of video RAM available.

            Fact of the matter is, the X driver needs to know about the
            amount of RAM sisfb reserved. For this purpose, the Option
            "MaxXFBMem" exists.

            If you start sisfb with a valid mode (ie you run a graphical con-
            sole), 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.

            If you, on the other hand, 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 - and ONLY 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 (and you
            will have to specify by MaxXFBMem) 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. The size is
            expected in KB, without the "KB".

            Final word of advice: If you intend to use DRI on an integrated
            chipset (such as the 630/730), it is recommended to set the total
            video memory in the BIOS to 64MB in order to at least overcome
            the DRI driver's lack of memory swap functions.

2.5  315/330 series specific options

      Option "RenderAcceleration" boolean]
            Enables or disables RENDER acceleration. This feature, for
            instance, accelerates output of anti-aliased text. By default,
            RENDER acceleration is enabled.

      Option "XvOnCRT2" boolean]
            (For 315, 650, 740, 330 only) This option selects whether the
            XVideo (Xv) overlay should be displayed on CRT1 or CRT2. Setting
            this option means CRT2.  The other CRT will only display the (by
            default: blue) color key or a black/red pattern.

Document based on 4.1 version written by Joanjo Santamarta and 3.3 version
written by Xavier Ducoin.


$XdotOrg: xc/programs/Xserver/hw/xfree86/doc/README.SiS,v 1.3.2.2 2005/02/08 00:44:27 kem Exp $
