172b676d7Smrg  Information for SiS and XGI Users
2e35772b2Smrg  Thomas Winischhofer (thomas@winischhofer.net)
372b676d7Smrg  6 July 2005
472b676d7Smrg  ____________________________________________________________
572b676d7Smrg
672b676d7Smrg  Table of Contents
772b676d7Smrg
872b676d7Smrg
972b676d7Smrg  1. Introduction
1072b676d7Smrg  2. xorg.conf Options
1172b676d7Smrg     2.1 For all chipsets
1272b676d7Smrg     2.2 Old series specific options
1372b676d7Smrg     2.3 300/315/330/340 series specific options
1472b676d7Smrg     2.4 300 series specific options
1572b676d7Smrg     2.5 315/330/340 series specific options
1672b676d7Smrg
1772b676d7Smrg
1872b676d7Smrg  ______________________________________________________________________
1972b676d7Smrg
20e35772b2Smrg  1.  Introduction
2172b676d7Smrg
2272b676d7Smrg
2372b676d7Smrg  This driver is written by Thomas Winischhofer and is a (nearly)
2472b676d7Smrg  complete re-write of a driver written for the SiS6326 and SiS530 by
2572b676d7Smrg  Alan Hourihane and others.
2672b676d7Smrg
2772b676d7Smrg  It currently supports the following chipsets:
2872b676d7Smrg
29e35772b2Smrg  o  old series: SiS 5597/5598, 6236/AGP/DVD, 530/620
3072b676d7Smrg
31e35772b2Smrg  o  300 series: SiS 300/305, 540, 630/730
3272b676d7Smrg
33e35772b2Smrg  o  315 series: SiS 315/E/PRO, 55x, 650, 651, M650, 740,
3472b676d7Smrg     [M]661&[F/M/G]X, [M]741[GX]
3572b676d7Smrg
36e35772b2Smrg  o  330 series: SiS 330 ("Xabre"), [M]760[GX], [M]761[GX]
3772b676d7Smrg
38e35772b2Smrg  o  340 series: SiS 34x, XGI Volari Z7, V3XT, V5, V8
3972b676d7Smrg
4072b676d7Smrg  Among other features, the driver supports
4172b676d7Smrg
42e35772b2Smrg  o  8/16/24 bits color depth; old series also 15
4372b676d7Smrg
44e35772b2Smrg  o  Hardware cursor; 315/330/340 series: Color HW cursor
4572b676d7Smrg
46e35772b2Smrg  o  XAA; EXA; XVideo (Xv); RENDER and other extensions
4772b676d7Smrg
48e35772b2Smrg  o  6326: TV output
4972b676d7Smrg
50e35772b2Smrg  o  300/315/330/340 series: TV output via Chrontel TV encoders or SiS
5172b676d7Smrg     video bridges
5272b676d7Smrg
53e35772b2Smrg  o  300/315/330/340 series: LCD output via LVDS transmitters or SiS
5472b676d7Smrg     video bridges
5572b676d7Smrg
56e35772b2Smrg  o  300/315/330/340 series: Dual head mode; Xinerama; Merged
5772b676d7Smrg     framebuffer mode
5872b676d7Smrg
59e35772b2Smrg  o  300/315/330/340 series: Interface for SiSCtrl (see below)
6072b676d7Smrg
6172b676d7Smrg  This document provides a brief overview over the driver's features and
6272b676d7Smrg  configuration options. Please see
63e35772b2Smrg  http://www.winischhofer.eu/linuxsisvga.shtml for detailed
6472b676d7Smrg  documentation and updates.
6572b676d7Smrg
6672b676d7Smrg
67e35772b2Smrg  2.  xorg.conf Options
6872b676d7Smrg
6972b676d7Smrg
7072b676d7Smrg  The following options are of particular interest for the SiS driver.
7172b676d7Smrg  Each of them must be specified in the Device section of the xorg.conf
7272b676d7Smrg  file for this card.
7372b676d7Smrg
7472b676d7Smrg  In the list below, the options' arguments are described by type. For
7572b676d7Smrg  "boolean", the keywords "on", "true" and "yes", as well as "off",
7672b676d7Smrg  "false" and "no" respectively have the same meaning.
7772b676d7Smrg
7872b676d7Smrg
79e35772b2Smrg  2.1.  For all chipsets
8072b676d7Smrg
8172b676d7Smrg
8272b676d7Smrg
83e35772b2Smrg     Option
8472b676d7Smrg        >
8572b676d7Smrg
86e35772b2Smrg     Option
8772b676d7Smrg        These options select whether the software (SW) or hardware (HW)
8872b676d7Smrg        cursor should be used. The default is using the hardware cursor.
8972b676d7Smrg
90e35772b2Smrg     Option
9172b676d7Smrg        Disables 2D acceleration. By default, 2D acceleration is
9272b676d7Smrg        enabled.
9372b676d7Smrg
94e35772b2Smrg     Option
9572b676d7Smrg        Determines which acceleration architecture should be used.
9672b676d7Smrg        Possible arguments are "XAA" or "EXA". As of this writing, EXA
9772b676d7Smrg        is still experimental and it is not recommended to be used on
9872b676d7Smrg        production machines. By default, XAA will be used.
9972b676d7Smrg
100e35772b2Smrg     Option
10172b676d7Smrg        This option enables clockwise ("CW") or counter-clockwise
10272b676d7Smrg        ("CCW") rotation of the display. Enabling either CW or CCW
10372b676d7Smrg        rotation disables the RandR extension as well as all 2D
10472b676d7Smrg        acceleration and Xv support. Default: no rotation.
10572b676d7Smrg
106e35772b2Smrg     Option
10772b676d7Smrg        This option enables reflecting the display horizontally ("X"),
10872b676d7Smrg        vertically ("Y") or in both directions ("XY"). Enabling
10972b676d7Smrg        reflection disables the RandR extension as well as all 2D
11072b676d7Smrg        acceleration and Xv support. Default: no rotation.
11172b676d7Smrg
112e35772b2Smrg     Option
11372b676d7Smrg        This option enables the shadow framebuffer layer. By default, it
11472b676d7Smrg        is disabled.
11572b676d7Smrg
116e35772b2Smrg     Option
11772b676d7Smrg        Disables the XVideo (Xv) support. Apart from the XGI Volari Z7,
11872b676d7Smrg        all chipsets support Xv. By default, XVideo support is enabled.
11972b676d7Smrg
120e35772b2Smrg     Option
12172b676d7Smrg        Enables or disables gamma correction. Default: gamma correction
12272b676d7Smrg        is enabled.
12372b676d7Smrg
12472b676d7Smrg
125e35772b2Smrg  2.2.  Old series specific options
12672b676d7Smrg
12772b676d7Smrg
12872b676d7Smrg
129e35772b2Smrg     Option
13072b676d7Smrg        Enables 1 cycle memory access for read and write operations. The
13172b676d7Smrg        default depends on the chipset used.
13272b676d7Smrg
133e35772b2Smrg     Option
13472b676d7Smrg        SiS chipsets have the ability to extend the engine command queue
13572b676d7Smrg        in video RAM. This concept is called "TurboQueue" and gives some
13672b676d7Smrg        performance improvement. Due to hardware bugs, the TurboQueue is
13772b676d7Smrg        disabled on the 530/620, otherwise enabled by default.
13872b676d7Smrg
139e35772b2Smrg     Option
14072b676d7Smrg        For 5597/5598 only. This option, if set, disables the CPU to VGA
14172b676d7Smrg        host bus.  Disabling the host bus will result in a severe
14272b676d7Smrg        performance regression.
14372b676d7Smrg
144e35772b2Smrg     VideoRAM [size]
14572b676d7Smrg        The SiS 6326 can only directly address 4096K bytes of video RAM.
14672b676d7Smrg        However, there are some cards out there featuring 8192K (8MB) of
14772b676d7Smrg        video RAM. This RAM is not addressable by the engines.
14872b676d7Smrg        Therefore, by default, the driver will only use 4096K. This
14972b676d7Smrg        behavior can be overridden by specifying the amount of video RAM
15072b676d7Smrg        using the VideoRAM keyword. If more than 4096K is specified, the
15172b676d7Smrg        driver will disable 2D acceleration, Xv and the HW cursor. On
15272b676d7Smrg        all other chipsets, this keyword is ignored. The size argument
15372b676d7Smrg        is expected in KB, but without "KB".
15472b676d7Smrg
155e35772b2Smrg     Option
15672b676d7Smrg        Due to hardware bugs, XVideo may display a corrupt image when
15772b676d7Smrg        using YV12 encoded material. This option, if set, disables
15872b676d7Smrg        support for YV12 and hence forces the Xv-aware application to
15972b676d7Smrg        use either YUV2 or XShm for video output.
16072b676d7Smrg
161e35772b2Smrg     Option
16272b676d7Smrg        (6326 only) Selects the TV output standard. May be PAL or NTSC.
16372b676d7Smrg        By default, this is selected by a jumper on the card.
16472b676d7Smrg
16572b676d7Smrg
166e35772b2Smrg  2.3.  300/315/330/340 series specific options
16772b676d7Smrg
16872b676d7Smrg
16972b676d7Smrg
170e35772b2Smrg     Option
17172b676d7Smrg        This option enables/disables the driver's interface for the
17272b676d7Smrg        SiSCtrl utility. Please see
173e35772b2Smrg        http://www.winischhofer.eu/linuxsisvga.shtml for more
17472b676d7Smrg        information.
17572b676d7Smrg
176e35772b2Smrg     Option
17772b676d7Smrg        (300 series only) SiS chipsets have the ability to extend the
17872b676d7Smrg        engine command queue in video RAM. This concept is called
17972b676d7Smrg        "TurboQueue" and gives some performance improvement. The
18072b676d7Smrg        TurboQueue is enabled by default.
18172b676d7Smrg
182e35772b2Smrg     Option
18372b676d7Smrg        Enables or disables CRT1 (= the external VGA monitor). By
18472b676d7Smrg        default, the driver will use CRT1 if a monitor is detected
18572b676d7Smrg        during server start. Some older monitors can't be detected, so
18672b676d7Smrg        they may require setting this option to true. To disable CRT1
18772b676d7Smrg        output, set this option to false.
18872b676d7Smrg
189e35772b2Smrg     Option
19072b676d7Smrg        (For SiS 650, M650, 651, 661, 741, 760 with either SiS 301LV,
19172b676d7Smrg        302LV or SiS 301C video bridge only) The argument may be "VGA",
19272b676d7Smrg        "LCD" or "OFF".  Specifying LCD will force the driver to use the
19372b676d7Smrg        VGA controller's CRT1 channel for driving the LCD while CRT2 is
19472b676d7Smrg        free for TV usage. "OFF" is the same as setting the option
19572b676d7Smrg        ForceCRT1 to "false". Default is VGA.
19672b676d7Smrg
197e35772b2Smrg     Option
19872b676d7Smrg        Selects the CRT2 output device type. Valid parameters are "LCD",
19972b676d7Smrg        "TV", "SVIDEO", "COMPOSITE", "SVIDEO+COMPOSITE", "SCART", "VGA",
20072b676d7Smrg        "YPBPR480I", "YPBPR480P", "YPBPR720P", "YPBPR1080I" or "NONE".
20172b676d7Smrg        NONE disables CRT2.  SVIDEO, COMPOSITE, SVIDEO+COMPOSITE, SCART
20272b676d7Smrg        and all the YPBPR alternatives are only for systems with a SiS
20372b676d7Smrg        video bridge and select the desired plug or TV standard type.
20472b676d7Smrg        For Chrontel systems, TV should be used instead. VGA means
20572b676d7Smrg        secondary VGA and is only available on some SiS video bridges
20672b676d7Smrg        (301, 301B, 301C).
20772b676d7Smrg
208e35772b2Smrg     Option
20972b676d7Smrg        (For SiS video bridges only) This option enables or disables
21072b676d7Smrg        gamma correction for CRT2. Default: gamma correction for CRT2 is
21172b676d7Smrg        enabled.
21272b676d7Smrg
213e35772b2Smrg     Option
21472b676d7Smrg        Although this option is accepted for all chipsets, it currently
21572b676d7Smrg        only makes sense on the 300 series; DRI is only supported on
21672b676d7Smrg        these chipsets.  This option enables/disables DRI.
21772b676d7Smrg
218e35772b2Smrg     Option
21972b676d7Smrg        Selects the TV output standard. May be PAL or NTSC, on some
22072b676d7Smrg        machines (depending on the hardware) also PALM and PALN.
22172b676d7Smrg        Default: BIOS setting.
22272b676d7Smrg
223e35772b2Smrg     Option
22472b676d7Smrg        >
22572b676d7Smrg
226e35772b2Smrg     Option
22772b676d7Smrg        These options allow relocating the image on your TV. Both
22872b676d7Smrg        options take an integer within the range of -16 to 16. Default:
22972b676d7Smrg        0. Not supported for Chrontel 7019.
23072b676d7Smrg
231e35772b2Smrg     Option
23272b676d7Smrg        (For Chrontel TV encoders only) Selects whether TV output should
23372b676d7Smrg        be overscan or underscan.
23472b676d7Smrg
235e35772b2Smrg     Option
23672b676d7Smrg        (For Chrontel 7005 TV encoders in PAL mode only) Selects whether
23772b676d7Smrg        TV output should be super-overscan (slightly larger than the
23872b676d7Smrg        viewable area) or not.
23972b676d7Smrg
240e35772b2Smrg     Option
24172b676d7Smrg        >
24272b676d7Smrg
243e35772b2Smrg     Option
24472b676d7Smrg        (For SiS video bridges only) These options allow zooming the
24572b676d7Smrg        image on your TV. SISTVXScale takes an integer within the range
24672b676d7Smrg        of -16 to 16.  SISTVYScale accepts -4 to 3. Default: 0. Not all
24772b676d7Smrg        modes can be scaled.
24872b676d7Smrg
24972b676d7Smrg
250e35772b2Smrg  2.4.  300 series specific options
25172b676d7Smrg
25272b676d7Smrg
25372b676d7Smrg
254e35772b2Smrg     Option
25572b676d7Smrg        This option might only be needed if you are running X on a Linux
25672b676d7Smrg        2.4 series kernel. This option is not needed and should be
25772b676d7Smrg        omitted on Linux 2.6 and *BSD.
25872b676d7Smrg
25972b676d7Smrg        The Linux kernel features a framebuffer driver named "sisfb"
26072b676d7Smrg        which takes care of memory management for DRI/DRM (such as for
26172b676d7Smrg        3D texture data). In order to keep the X driver and sisfb from
26272b676d7Smrg        overwriting each other's video memory, sisfb reserves a certain
26372b676d7Smrg        amount of video memory for the X driver. Reserved memory is for
26472b676d7Smrg        X 2D, pixmap cache and video data only. Sisfb will not present
26572b676d7Smrg        this memory to the DRI. The amount of reserved memory can either
26672b676d7Smrg        be selected using sisfb's mem parameter or auto-selected
26772b676d7Smrg        depending on the total amount of video RAM available.
26872b676d7Smrg
26972b676d7Smrg        Fact of the matter is, the X driver needs to know about the
27072b676d7Smrg        amount of RAM sisfb reserved. For this purpose, the Option
27172b676d7Smrg        "MaxXFBMem" exists.
27272b676d7Smrg
27372b676d7Smrg        If you start sisfb with a valid mode (ie you run a graphical
27472b676d7Smrg        console), the X driver can communicate with sisfb and doesn't
27572b676d7Smrg        require setting the MaxXFBMem option at all. The X driver will
27672b676d7Smrg        receive enough information from sisfb in this case.
27772b676d7Smrg
27872b676d7Smrg        If you, on the other hand, use sisfb for memory management only,
27972b676d7Smrg        ie you started sisfb with mode=none and still have a text mode
28072b676d7Smrg        console, there is no communication between sisfb and the X
28172b676d7Smrg        driver. In this - and ONLY this - case, you need to set
28272b676d7Smrg        MaxXFBMem to the same value as you gave sisfb with its mem
28372b676d7Smrg        parameter. If you didn't specify any mem parameter, sisfb will
28472b676d7Smrg        reserve (and you will have to specify by MaxXFBMem) 12288KB if
28572b676d7Smrg        more than 16MB of total video RAM is available, 8192KB if
28672b676d7Smrg        between 12 and 16MB of video RAM is available, 4096KB in all
28772b676d7Smrg        other cases. The size is expected in KB, without the "KB".
28872b676d7Smrg
28972b676d7Smrg        Final word of advice: If you intend to use DRI on an integrated
29072b676d7Smrg        chipset (such as the 540/630/730), it is recommended to set the
29172b676d7Smrg        total video memory in the BIOS setup utility to 64MB.
29272b676d7Smrg
29372b676d7Smrg
294e35772b2Smrg  2.5.  315/330/340 series specific options
29572b676d7Smrg
29672b676d7Smrg
29772b676d7Smrg
298e35772b2Smrg     Option
29972b676d7Smrg        Enables or disables RENDER acceleration. This feature, for
30072b676d7Smrg        instance, accelerates output of anti-aliased text. By default,
30172b676d7Smrg        RENDER acceleration is enabled. RENDER acceleration is currently
30272b676d7Smrg        only supported for XAA, not EXA.
30372b676d7Smrg
304e35772b2Smrg     Option
30572b676d7Smrg        (For 315, 650, 740, 330, 340 and XGI chips only) This option
30672b676d7Smrg        selects whether the XVideo (Xv) overlay should be displayed on
30772b676d7Smrg        CRT1 or CRT2. Setting this option means CRT2. The other CRT will
30872b676d7Smrg        only display the (by default: blue) color key or a black/red
30972b676d7Smrg        pattern.
31072b676d7Smrg
31172b676d7Smrg
31272b676d7Smrg
313