<!DOCTYPE linuxdoc PUBLIC "-//XFree86//DTD linuxdoc//EN">

<article>
<title>Information for Matrox Users
<author>The XFree86 Project Inc.
<date>30 December 1998
<toc>

<sect>Supported hardware
<p>
The current MGA driver in the SVGA server supports 
<p>
<itemize>
<item>Matrox Millennium 
(MGA2064W with Texas Instruments TVP3026 RAMDAC). It has been tested with 
175, 220MHz, and 250MHz cards with 2MB, 4MB and 8MB WRAM. 
<item>Millennium II both PCI and AGP (MGA2164W with Texas Instruments
TVP3026 RAMDAC). It has been tested with 4 MB, 8 MB and 16 MB WRAM.
<item>Matrox Mystique (Both MGA1064SG and MGA1164SG with integrated RAMDACs)
170 MHz and 220 MHz (Mystique 220) versions should work.
<item>Millennium G200 with SGRAM and SDRAM (Millennium G200-SD), with 8MB RAM.
<item>Mystique G200 (but no TVout support)
<item>Productiva G100 with SGRAM and SDRAM.  4MB and 8MB versions have been
tested.
<item>Matrox G400 (only the first head and no TVout support).
</itemize>

<sect1>What's not supported
<p>
<itemize>
<item> Chipsets other than those listed above.  We are still interested in 
providing support for the other Matrox chipsets including the Impression,
Atlas, Genesis etc... but at this time have not been able to obtain 
documentation for them.
<item> MGA2064W and MGA2164W based cards with ramdacs other than the TVP3026
RAMDAC (like the Matrox Corona) are not supported.
</itemize>

<sect>Features:
<p>
<itemize>
<item>uses linear frame buffer
<item>Resolutions up to the maximum supported by the card should be possible.
<item>8 bpp, 16 bpp (depth 15 and 16), 24 bpp (depth 24, packed) and 32 bpp
(depth 24, sparse) are all supported.
<item>supports VESA Display Power Management Signaling (DPMS)
<item>supports RGB Sync-on-Green 
<item>supports the XF86_DGA extension
<item>Makes extensive use of the graphics accelerator.  This server is very 
well accelerated, and is one of the fastest XFree86 X servers.
</itemize>

<sect>Configuration:
<p>
The MGA driver should auto-detect all supported hardware so you needn't 
have anything other than the Identifier in the Section "Device" of the
XF86Config file.  When running the XF86Setup or xf86config programs one    
merely needs to select a Matrox card so that the correct server will be  
used.  One need not and should not specify a RAMDAC, clockchip or allow 
the setup program to probe for clocks. The driver will auto-detect the   
amount of video ram present, however, due to some hardware problems
this is not detected for the MGA2164W (Millennium II) or G100/G200.
In this case users should specify the amount of video ram in the Section
"Device" of the XF86Config file. eg:

<verb>
        VideoRam 4096
            or
        VideoRam 8192
            or
        VideoRam 16384
</verb>

as appropriate so that the server doesn't have to probe for it.

The following Section "Device" options are supported by the MGA driver:
<itemize>
<item>Option "sw_cursor"
<p>
Will disable the hardware cursor on the Millennium and Millennium II.
<item>Option "no_accel"
<p>
Will disable all hardware acceleration (oh my!).
<item>Option "no_pixmap_cache" 
<p>
Will disable caching of pixmaps in offscreen video memory.
<item>Option "sync_on_green"
<p>
Will enable syncing on green for sync-on-green monitors (these are typically
fixed frequency workstation monitors).
<item>Option "pci_retry"
<p>
This will allow the MGA hardware to generate a pci_disconnect based on 
accelerator FIFO status. This can yield large performance boosts for
some graphics operations but has a tendency to hog the PCI bus so 
it is turned off by default.
<item>Option "mga_sdram"
<p>
This will force the server to disable sgram features such as block
mode fills and hardware planemasks.
</itemize>

<sect>Known solutions for some problems:
<p>

<itemize>
<item>Temporary loss of monitor sync when the cursor shape changes on 
Millennium and Millennium II.  The hardware cursor has been enabled by 
default in 3.3.3.1. This seems to cause some problems on a minority of
systems.  If you experience problems with this on your system, 
please put:
<verb>
	Option "sw_cursor"
</verb>
in the Section "Device" of the XF86Config file to disable the hardware
cursor.
<item>Garbage in the cursor instead of the normal cursor image.  A bug
in the driver will cause this when less than 1K of video memory is left
unused and the hardware cursor is enabled for some cards.
If you experience this problem, please put:
<verb>
	Option "sw_cursor"
</verb>
in the Section "Device" of the XF86Config file to disable the hardware
cursor. This should be fixed in XFree86 3.3.3.1 as in cases like this the
software cursor should be used automatically.
<item>the driver doesn't support some values of HTotal parameter in
Modelines in the XF86Config file. If you get flickering vertical stripes on
the screen, try to change this parameter +/- 8.
<item>On some Millennium II cards the driver shows severe distortions with 
24bpp in modes above about 1024x768. We hope to have automated the detection
and fix of this problem. If it still occurs, putting
<verb>
	Option "mga_24bpp_fix"
</verb>
in the Device Section may fix the problem.
<item>On some MGA cards the amount of memory is mis-detected, on others
probing for the amount of memory can cause a lockup in the system so memory
probing is not done on those hardware (Millennium II, G100/G200).
If the default of 4MB RAM (Millennium II) or 8MB RAM (G100/G200) is not 
correct, specify the amount of video ram in
the Section "Device" of the XF86Config file as described in section 3 above.
<item>If you Millennium II card that worked fine with XFree86-3.3.2.3 and 
earlier now shows pixel errors and strange effects when returning to the 
text console, make sure that the amount of memory that the server reports 
is correct.
See item above for details.
<item>With virtual screens that use 8MB of memory or more (e.g.,
2048x2048 at 16bpp) there can be cursor distortions when panning the screen
vertically. If that occurs, please put
<verb>
	Option "sw_cursor"
</verb>
in the Section "Device" of the XF86Config file to disable the hardware
cursor.
</itemize>

<sect>Authors
<p>

Radoslaw Kapitan, <it>kapitan@student.uci.agh.edu.pl</it>

Mark Vojkovich, <it>mvojkovi@sdcc10.ucsd.edu</it>

and:

<itemize>
<item>Andrew van der Stock, <it>ajv@greebo.net</it>
<item>Angsar Hockmann, <it>Ansgar.Hockmann@hrz.uni-dortmund.de</it>
<item>Michael Will, <it>Michael.Will@student.uni-tuebingen.de</it>
<item>Andrew Mileski, <it>aem@ott.hookup.net</it>
<item>Stephen Pitts, <it>pitts2@memphisonline.com</it>
<item>Dirk Hohndel, <it>hohndel@XFree86.Org</it>
<item>Leonard N. Zubkoff, <it>lnz@dandelion.com</it>
<item>Harm Hanemaayer, <it>H.Hanemaayer@inter.nl.net</it>
<item>Guy Desbief, <it>g.desbief@aix.pacwan.net</it>
<item>Takaaki Nomura, <it>tnomura@sfc.keio.ac.jp</it>
<item>Doug Merritt, <it>doug@netcom.com</it>
</itemize>

<verb>
$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/MGA.sgml,v 3.9 1999/11/19 13:54:27 hohndel Exp $
</verb>

</article>
