[English]
README.TXT               MATROX GRAPHICS INC.           2006.07.04


                       Matrox Parhelia & P-Series 
                      Linux Display Driver v1.4.4
                         Advanced User Notes


================================================================================
Preface
================================================================================

    This document and the associated software are currently only available in
    English. We apologize for the inconvenience. 

    The use of the term X config file, XF86Config, XF86Config-4 and xorg.conf
    are used interchangeably. The actual file names to use vary depending on the
    X server or distribution used.  These files are located in the /etc/X11 
    directory.

    The use of the term X log file, XFree86.0.log and Xorg.0.log are used
    interchangeably. The actual file names to use vary depending on the X server
    or distribution used. These files are located in the /var/log directory.

    Don't enter the '#' sign in the example command sequences, this represents
    what would be seen on the command line. Note that [ENTER] means 
    pressing the 'Enter' key on your keyboard.

    Note that on some systems you may need to enter "su - root" instead of
    "su root" when changing to the root user account.  


================================================================================
Contents
================================================================================

Preface
Section 01 - Overview
Section 02 - XFree86 & X.org Driver Options
             1 - Epica TC4, QID, QID Pro, HR256 DualHead & QuadHead Hybrid Mode
             2 - Epica TC4, QID, QID Pro, HR256 QuadHead Merged Mode
             3 - Epica TC4, QID TV-output
             4 - Dual-link
             5 - Display Pivot
             6 - TV-output
             7 - Giga Color
             8 - Offscreen memory
Section 03 - Frequently asked questions
Appendix A - Known issues
Appendix B - Limitations


================================================================================
Section 01 - Overview
================================================================================

This document complements the readme.txt file provided with the display driver.
It provides information on how to configure certain Matrox graphics hardware and 
how to enable advanced features. We recommend that you read the readme.txt file
available with the driver package before continuing with this file.

Graphics hardware covered in this document:

    - Parhelia Dual Link (PCI)
    - Epica TC4, QID (AGP, PCI, PCIe)
    - QID Pro (PCI)
    - HR256 (PCI)

Special display configurations covered in this document:

    - Dual Link display   - Only 1 display through the main video connector 
                            in dual-link mode.

    - Single + TV display - Only 1 display through the main video connector 
                            and cloned tv-output through a composite/s-video
                            connector.

    - Two displays        - Epica TC4, QID hybrid mode : 2 displays with 
                            the same display resolutions. 

    - Four displays       - Epica TC4, QID hybrid mode : 4 displays with the the 
                            first two having the same display resolutions and the 
                            last two having the same display resolutions. 

                          - Epica TC4, QID merged mode : 4 displays with the same 
                            display resolutions. 

Special driver features covered in this document:

    - Display Pivot (offered on most Matrox graphics hardware)
    - TV-output 
    - Giga Color
    - Offscreen memory customization
     

================================================================================
Section 02 - XFree86 & X.org Driver Options
================================================================================

1 - Epica TC4, QID, QID Pro, HR256 DualHead & QuadHead Hybrid Mode

    To enable support for DualHead or QuadHead under XFree86 or X.org using 
    either the Epica TC4, QID, QID Pro or HR256, requires adding the following 
    option to the "device" section of your X config file :

        Option "QID"

    This option enables the use of outputs 1 and 2 when set for the first
    "device" section and outputs 3 and 4 when set for the second "device"
    section. By combining both sections with Xinerama a QuadHead desktop can
    be achieved.

    In the following example, setting only one section, sets the graphics
    hardware for DualHead support:

        Section "Monitor"
            Identifier "monitor1"
            HorizSync   31-90
            VertRefresh 50-60
        EndSection

        Section "Device"
            Identifier "device1"
            Driver     "mtx"
            BusID      "PCI:1:0:0"
            Option     "QID"
            Screen     0
        EndSection

        Section "Screen"
            Identifier "screen1"
            Monitor    "monitor1"
            Device     "device1"
            DefaultDepth 24

            SubSection "Display"
                Depth 24
                Modes "1600x1200" "1280x1024" "1024x768" "800x600" "640x480"
            EndSubSection
        EndSection

    And by adding the next section to the same config file you achieve four 
    active outputs:

        Section "Monitor"
            Identifier "monitor2"
            HorizSync   31-90
            VertRefresh 50-60
        EndSection

        Section "Device"
            Identifier "device2"
            Driver     "mtx"
            BusID      "PCI:1:0:0"
            Option     "QID"
            Screen     1
        EndSection

        Section "Screen"
            Identifier "screen2"
            Monitor    "monitor2"
            Device     "device2"
            DefaultDepth 24

            SubSection "Display"
                Depth 24
                Modes "1600x1200" "1280x1024" "1024x768" "800x600" "640x480"
            EndSubSection
        EndSection

    To combine all four display as a single desktop, add the following section
    to the config file :

        Section "ServerFlags"
            Option "Xinerama"
        EndSection


2 - Epica TC4, QID, QID Pro, HR256 QuadHead Merged Mode

    To enable support for QuadHead merged under XFree86 or X.org using either the 
    Epica TC4, QID, QID Pro or HR256, requires adding the Option "QID" as in hybrid
    mode to the "device" section of your X config file and setting the graphics
    hardware for a single instance merged mode as in the following example:

        Section "Monitor"
            Identifier "monitor1"
            HorizSync   31-90
            VertRefresh 50-60
        EndSection

        Section "Device"
            Identifier "device1"
            Driver     "mtx"
            BusID      "PCI:1:0:0"
            Option     "QID"
            Screen     0
        EndSection

        Section "Screen"
            Identifier "screen1"
            Monitor    "monitor1"
            Device     "device1"
            DefaultDepth 24

            Option "MergedFB"
            Option "Monitor2Position" "RightOf"
            Option "MetaModes" "1600x1200-1600x1200"
            Option "Monitor2HSync" "31-90"
            Option "Monitor2VRefresh" "50-60"

            SubSection "Display"
                Depth 24
                Modes "1600x1200" "1280x1024" "1024x768" "800x600" "640x480"
            EndSubSection
        EndSection

    Note: see Appendix B for frame buffer limitations in this mode.


3 - Epica TC4, QID TV-output

    Epica TC4, QID TV-output support is available on all outputs using the "QIDTV" 
    option.

    The following example enables DualHead TV-output support:

        Section "Monitor"
            Identifier "monitor1"
            HorizSync   31-90
            VertRefresh 50-60
        EndSection

        Section "Device"
            Identifier "device1"
            Driver     "mtx"
            BusID      "PCI:1:0:0"
            Option     "QID"
            Option     "QIDTV"
            Screen     0
        EndSection

        Section "Screen"
            Identifier  "screen1"
            Monitor     "monitor1"
            Device      "device1"
            DefaultDepth 24

            SubSection "Display"
                Depth 24
                Modes "1600x1200" "1280x1024" "1024x768" "800x600" "640x480"
            EndSubSection
        EndSection


4 - Dual-link

    Dual-link support is available on all outputs using the "DVIDL" option.

    The following example enables single head Dual-link support:

        Section "Monitor"
            Identifier "monitor1"
            HorizSync   31-90
            VertRefresh 50-60
        EndSection

        Section "Device"
            Identifier "device1"
            Driver     "mtx"
            BusID      "PCI:1:0:0"
            Option     "DigitalScreen1" "on"
            Option     "DVIDL" "on"
            Screen     0
        EndSection

        Section "Screen"
            Identifier "screen1"
            Monitor    "monitor1"
            Device     "device1"
            DefaultDepth 24

            SubSection "Display"
                Depth 24
                Modes "1600x1200" "1280x1024" "1024x768" "800x600" "640x480"
            EndSubSection
        EndSection


5 - Display Pivot

    Display pivot is available by setting the "Rotate" option in the "screen"
    section of your X config file and giving it the orientation to rotate.

    Valid orientation values are "CW" for clockwise rotation and "CCW" for
    counter-clockwise.

    The following example sets the screen to pivot in the clockwise
    direction:

        Section "Screen"
            Identifier "screen1"
            Monitor    "monitor1"
            Device     "device1"
            DefaultDepth 24

            Option "Rotate" "CW"
            
            SubSection "Display"
                Depth 24
                Modes "1600x1200" "1280x1024" "1024x768" "800x600" "640x480"
            EndSubSection
        EndSection

    See Appendix B for limitations associated with this option.

6 - TV-output

    This option can be enabled to clone your display when using Single Head mode.
    The output format supported are NTSC and PAL. You need to set the following
    the "TvOut" settings in the primary "Screen" section of your X config file. 

    Additionnal Option switches are available :

    Options            Values                   Description
    ----------------   -----------------------  -------------------------------
    "TvOut"            "on" or "off"            Enables/Disables TV out.
    "TvStandard"       "PAL" or "NTSC"          Selects output type.
    "OutputRegion"     "Left Top Right Bottom"  Selects usable tv area.
    "SelectedRegion"   "Left Top Right Bottom"  Selects desktop region to clone.
    "AntiFlickerLevel" "0" to "25"              Sets the antiflicker level.
    "Brightness"       "0" to "10000"           Sets the brightness level. 
    "ColorEnable"      "0" to "1"               Select between color / monochrome.
    "Contrast"         "0" to "20000"           Sets the contrast level.
    "Gamma"            "1" to "500"             Sets the gamma level.
    "Hue"              "-180" to "180"          Sets the hue level.
    "Saturation"       "0" to "20000"           Sets the saturation level.

    For example, the resolution in NTSC (and the same applies for PAL with 
    different values used) is 720x484 but that does not take into account the 
    bezel of most TVs that hide some pixels.  To be compatible with most TVs,
    we suggest an output region of 624x410 with the parameters specified below:

        Option "OutputRegion"   "48 37 672 447"

    The following example sets the output to NTSC:

        Section "Screen"
            Identifier   "Screen1"
            Device       "Device1"
            Monitor      "Monitor1"
            DefaultDepth 24 
            
            Option "TvOut" "on"
            Option "TvStandard" "NTSC"
            Option "AntiFlickerLevel" "10"
            Option "OutputRegion"   "48 37 672 447"
            Option "SelectedRegion" "0 0 800 600" 
        
            SubSection "Display"
                Depth    16 
                Modes    "800x600" "640x480"
            EndSubSection
        
            SubSection "Display"
                Depth    24
                Modes    "800x600"  "640x480"
            EndSubSection
        EndSection

7 - Giga Color

    To enable Giga Color, set the default color depth to 30 The following
    "screen" section illustrates its use:

        Section "Screen"
            Identifier "Screen1"
            Device     "Device1"
            Monitor    "Monitor1"
            DefaultDepth 30

            SubSection "Display"
                Depth 30
                Modes "1280x1024" "1024x768" "800x600" "640x480"
            EndSubSection
        EndSection

8 - Offscreen memory

    To change the offscreen allocation of memory used by X, use an integer value 
    between "0" and "5" for the "OffScreen" option as a multiplier against the
    memory used for onscreen memory. 

    For example, to use twice as much RAM for the offscreen memory as what 
    the onscreen memory would use, add the following line to your "device"
    section in your config :

        Section "Device"
            Identifier "device1"
            Driver     "mtx"
            BusID      "PCI:1:0:0"
            Option     "OffScreen" "2"
            Screen     0
        EndSection


================================================================================
Section 03 - Frequently Asked Questions
================================================================================

Q:  I am trying to set resolution X by Y and it doesn't work, what can I do ?
A:  Not all resolutions are supported and available. Special resolutions
    require setting a modeline. Note that exceeding your monitors recommended
    settings may damage your monitor and/or void your manufacturer's warranty.
    Please consult your monitor manufacturer for the required timing values.

    You can create modelines with the timing values from your manufacturer along 
    with a HowTo available at the following Web Site:

        http://www.linuxdoc.org or http://www.tldp.org

    Note:
        - Not all resolutions are supported due to hardware or software
          limitations.

Q:  I do not have one of the listed Linux distributions can I use the driver on 
    distribution XYZ?
A:  While the driver package was verified with the listed distributions,
    others should work as long as the following items are installed and 
    available:

    X server - XFree86 (4.3.0) or  X.org (6.7.0, or later).

    Libc     - Glibc (2.3.2 or later).
   
    Compiler - GCC (from version 3.2 up to gcc 4.0.0).

    Tools    - binutils (version 2.13 or later) and make (version 3.77 or 
               later).
    
    Shell    - bash (version 2.05 or later).

Q:  I am tring to do 1920x1200 on my digital monitor but i only get 1600x1200
    what do i need to change to get that resolution?
A:  That resolution isn't supported in X and must be given through a modeline
    added to the monitor section. See http://www.tldp.org for a howto on
    creating a modeline. Here is a sample monitor section (actual timings 
    will vary for each monitor):
    
    Section "Monitor"
        Identifier "monitor1"
        HorizSync 31.5-105
        VertRefresh 60
        ModeLine 1920x1200"  337.58  1920 2072 2288 2656  1200 1201 1204 1271
    EndSection

    Note that the maximum pixel clock supported is around 165MHz.


================================================================================
Appendix A - Known Issues
================================================================================

1 - To allow v4l applications that use the hardware scaler (like watching 
    tv with xawtv in full screen), make sure you have the 'load "v4l"'
    declaration in the "Module" section of your configuration file. This 
    package provides a modified version of the v4l driver module. It is not 
    installed by default and must be manually copied for it to work (make a 
    backup of the original before removing it). This file can be found under 
    the v4l directory, which can be accessed by running the installer with 
    the "--extract-only" switch.

    - For example to install the v4l_drv.o file for X.org 6.8.2 you would do
      the following sequence:
 
            # su [ENTER]
            # cd /usr/X11R6/lib/modules/driver/linux/ [ENTER]
            # mv v4l_drv.o v4l_drv.o.org [ENTER]
            # cd /root [ENTER]
            # sh mtxdriver-X.X.X.run --extract-only [ENTER]
            # cd /root/mtxdriver/v4l/6.8.2 [ENTER]
            # cp v4l_drv.o /usr/X11R6/lib/modules/driver/linux/ [ENTER]

    - As an example, here is a "module" section as it would look in an X config :

            Section "Modules"
                Load "dbe"
                Load "extmod"
                Load "glx"
                Load "type1"
                Load "freetype"
                Load "v4l"
            EndSection
  
    - You must also verify that your capture module is loaded before starting 
      X (for instance, as 'root' user, modprobe bttv). 
  
    - To remove some tearing, use a smaller resolution or lower the refresh 
      rate to reduce the effect.

2 - OpenGL will not work properly with P650 and P750 cards in DualHead 
    configuration, each head displaying 1600x1200 at 24 bpp due to memory  
    ressource limitation.

3 - Rarely, windowed 3D applications may freeze or lockup the system when 
    dragging the window.

4 - Some OpenGL based game and applications may not work (ie. UT2003, UT2004) 
    properly with this release and may crash or cause display corruption.


================================================================================
Appendix B - Limitations
================================================================================

The following limitations apply to all Parhelia based products:

    - In merged mode the maximum horizontal frame buffer pitch size is 4096. 

    - Xv supports a maximum size of 2048x2048

    - Pivot supports a maximum resolution of 2048x2048.
