As promised, here is my summary of what I had to do to make this work.

Dr Andrew C Aitchison wrote:
> I don't know whether it will do 1600x1200, but I am driving a 1600x1024
> panel from the DVI interface on my G550.

Thank you, this was the missing part of the puzzle. Your suggestion 
about trying to make it work anyway, prompted me to ask the same 
question on Matrox' support board.

I learnt that DVI interfaces work very similar to conventional RGB 
interfaces and include a component that is equivalent to the RAMDAC on 
an analog card (obviously, this circuit doesn't do any digital-to-anlog 
conversion, but it does handle the pushing of data from the video buffer 
to the monitor). As with RAMDACs there is a maximum valid pixel clock. 
And whereas the maxium pixel clock for the analog RAMDAC is 360MHz, the 
limit for its digital counterpart is only 112MHz. Normally, this 
wouldn't be enough to drive a display at 1600x1200.

Experiments show, that it is possible to overclock beyond 112MHz up to 
about 146MHz. Of course, this might have detrimental effects on the 
longevity of the graphics card and a different solution would be preferable.

After I realized that LCD panels don't really need very high vertical 
refresh rates, as each pixel acts as a memory cell that can hold its 
value until it is rewritten, and after I realized that there is no such 
thing as an electron beam retrace, I decided to play with the mode line 
values.

Here is a mode line that stays within the specs of both the monitor and 
the graphics card. It keeps the pixel clock at 112MHz and displays 
1600x1200@56Hz (67kHz):

"1600x1200" 112.00  1600 1608 1616 1640  1200 1201 1204 1210  +hsync +vsync

I noticed that in true color mode, this mode line leaves relatively 
little time for the graphics card to write to video memory while the 
picture is sent to the monitor, and there are visible artefacts if there 
is a lot of graphics activity. Depending on how adventurous you feel, it 
is possible to increase the last two horizontal timing parameters (1616 
and 1640 in this case) by a little bit and then compensate by 
overclocking the graphics card (increase from 112.00 to some slightly 
bigger value).

"xvidtune" comes in very handy when playing with these values.

> I use CVS XFree86 (I'm not sure whether 4.2 would work) with the XFree86 
> supplied mga driver, but I have to (or did last time I checked) use the
> Matrox supplied mga_hal_drv.o.
> I have heard that other people can only get the DVI interface
> to driver their panels if the *don't* use mga_hal_drv.o

I had success driving the G550 card with the copy of XFree 4.1 that 
ships with Debian/unstable, but I did have to install Matrox' binary 
driver modules. Without doing that, the graphics chipset would not be 
recognized.

Unfortunately, I now see lots of undefined symbols whenever I try to 
make the card run in a dual-headed configuration. I guess, I will have 
to compile my own binaries after all (which gets a little tricky because 
of all the patches that Debian applies; but I am sure, I will get that 
worked out over the next few days).

Thanks for everybody's help with this issue,


Markus

_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert

Reply via email to