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