Thread (11 messages) 11 messages, 5 authors, 2007-03-06

Re: Matrox G550, dual head, 1680x1050

From: Hans-Jürgen Koch <hidden>
Date: 2007-03-05 20:02:40

Possibly related (same subject, not in this thread)

Am Montag, 5. März 2007 05:59 schrieb Petr Vandrovec:
Can you try setting vxres for second head from 1680 to 1696, or 1728?
Maybe X look at vxres and not at framebuffer line length (what fbset -i
reports for line length?)
Here are more details:

1.) I boot my kernel (vanilla 2.6.20.1) with the following parameters:

video=matroxfb:outputs:120,pixclock:7380,xres:1680,yres:1050,upper:32,
               lower:4,left:32,right:224,hslen:136,vslen:4,depth:32

This initializes the primary head correctly. The second head is probably 
wrong, because the monitor's on screen message complains about a non-ideal 
resolution.

2.) X starts with Xinerama=On, using this modeline for each monitor:

Modeline "1680x1050@60" 154.20 1680 1712 2296 2328 1050 1071 1081 1103

3.) After that, fbset -i reports this:

$ fbset -i -fb /dev/fb0

mode "1680x1050-60"
    # D: 135.501 MHz, H: 65.396 kHz, V: 59.997 Hz
    geometry 1680 1050 1696 2473 32
    timings 7380 32 224 32 4 136 4
    accel true
    rgba 8/16,8/8,8/0,8/24
endmode

Frame buffer device information:
    Name        : MATROX
    Address     : 0xd4000000
    Size        : 16777216
    Type        : PACKED PIXELS
    Visual      : TRUECOLOR
    XPanStep    : 8
    YPanStep    : 1
    YWrapStep   : 0
    LineLength  : 6784
    MMIO Address: 0xd6000000
    MMIO Size   : 16384
    Accelerator : Matrox G400


$ fbset -i -fb /dev/fb1

mode "640x480-60"
    # D: 25.176 MHz, H: 31.469 kHz, V: 59.942 Hz
    geometry 640 480 640 480 32
    timings 39721 48 16 33 10 96 2
    rgba 8/16,8/8,8/0,8/24
endmode

Frame buffer device information:
    Name        : MATROX DH
    Address     : 0xd5800000
    Size        : 8388608
    Type        : PACKED PIXELS
    Visual      : TRUECOLOR
    XPanStep    : 8
    YPanStep    : 1
    YWrapStep   : 0
    LineLength  : 2560
    MMIO Address: 0xd6000000
    MMIO Size   : 16384
    Accelerator : No

As you can see, the second monitor fell back to VGA resolution, but the logs 
tell that X thinks it successfully switched to 1680x1050. The KDE control 
center reports the same. The image on the second monitor is distorted.

4.) I then issue the following command:

$ fbset -fb /dev/fb1 -g 1680 1050 1696 1050 32 -t 7380 224 32 32 4 136 4

With that, the image on the second monitor immediately becomes clear, and I 
have a fully working xinerama configuration then.

As far as I can see, fbset is the only way to initialize the second head 
properly. Neither matroxfb nor mga do it correctly with 1680x1050.

Cheers,
Hans

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help