[ltp] help on Thinkpad T40

Konstantin Filtschew linux-thinkpad@linux-thinkpad.org
Fri, 05 Jan 2007 12:25:38 +0100


Hello Phil,

this is the way I need to go to make MergeFB do the right things.

I start linux(without x-windows, xdm, gdm, kdm or other). The external
Monitor is plugged in. Resume from suspend(with suspend2.net) works too.

After the boot I have to start x-windows once with the plugged in
monitor and after that I can switch between the modes set in xorg.conf
with the following command

# Tell me the available modes
xrandr

# To switch the mode
xrandr -s <the number of the mode>
# The resolution instead of the number should work too

Please tell me the output of the command "xrandr" so I can see the modes
you are using!

Regards,

Konstantin

On Wed, 2007-01-03 at 09:54 +0000, Phil wrote:
> Many thanks for this - this is the closest yet I've got to proper 
> twinhead working on my T40p.
> A few issues still though (aren't there always).
> 
> To get it to work at all I had to change the bios setting to boot using 
> vga not lcd, and then boot with external unplugged. Then plug external 
> in before X comes up.
> Xinerama mode works nicely except it doesn't detect when the external is 
> not there, and there seems to be no way I can make it realize that.
> Twinhead is good, but can't move screens between windows.
> MergedFB mode comes up in clone mode only, Ctrl-Alt-+ or Ctrl-Alt-- 
> makes no difference. I think this is the one I'd like to get working 
> properly as if I can switch resolutions and single-dual at will then all 
> my problems will be solved :-)
> 
> I've attached both Xorg.log and my current xorg.conf. There doesn't seem 
> to be anything amiss in the log apart from AIGLX whinging about 
> unsupported modes.
> 
> This is a stock Fedora Core 6 with all updates.
> 
> Thanks for all the help.
> Cheers
> Phil
> 
> 
> Konstantin Filtschew wrote:
> > Hi,
> >
> > this was discussed view weeks ago. This config is for linux on a t40
> > with radeon 7500, but should work for you too. Use the Open Source
> > radeon driver:
> >
> > http://konstantin.filtschew.de/download/xorg.conf.mergefb
> >
> > You have to change the resolution for your screen
> >
> > Cheers,
> >
> > Konstantin
> >
> > On Tue, 2007-01-02 at 08:05 +0000, Maurizio Benedetti wrote:
> >   
> >> Hello everybody. 
> >> I have an IBM thinkpad T40 and I would like to have a multiple monitor
> >> setup (intgrated monitor + an additional monitor connected to the VGA
> >> port). 
> >>
> >> The setup I would like to have is "External monitor" left of
> >> "Integrated monitor" but I am failing doing it. 
> >> I am running FreeBSD 6.1 and Xorg. 
> >>
> >> The video card built-in in my laptop is Radeon R250 Lf [FireGL 9000]
> >> and right now I can use the external monitor just to see the same
> >> content of the integrated one. 
> >>
> >> Any clue on how I can have the two monitors working like a single
> >> desktop one left of the other? 
> >>
> >> Cheers, 
> >> Maurizio 
> >>
> >>
> >> ______________________________________________________________________
> >>
> >>
> >>
> >> The information contained in this electronic message and any
> >> attachments are
> >> intended for specific individuals or entities, and may be
> >> confidential, proprietary or
> >> privileged. If you are not the intended recipient, please notify
> >> the sender
> >> immediately, delete this message and do not disclose, distribute or
> >> copy it to any
> >> third party or otherwise use this message. The content of this
> >> message does not
> >> necessarily reflect the official position of the World Food
> >> Programme. Electronic
> >> messages are not secure or error free and may contain viruses or
> >> may be
> >> delayed, and the sender is not liable for any of these occurrences.
> >> The sender
> >> reserves the right to monitor, record and retain electronic
> >> messages.
> >>
> >>
> >>     
> plain text document attachment (xorg.conf)
> # /etc/X11/xorg.conf (xorg X Window System server configuration file)
> #
> # If you have edited this file but would like it to be automatically updated
> # again, run the following commands:
> #
> #   cp /etc/X11/xorg.conf /etc/X11/xorg.conf.custom
> #   sudo sh -c 'md5sum /etc/X11/xorg.conf >/var/lib/xfree86/xorg.conf.md5sum'
> #   sudo dpkg-reconfigure xserver-xorg
> 
> # mg: I have edited this file manually:	(http://mg.pov.lt/xorg.conf)
> #
> #       * I enabled DynamicClocks to provide some power savings
> #
> #       * I added a couple of ServerLayout sections to play with dual-head
> #         support
> #
> #           startx -- -layout MergedFBLayout
> #               Starts in MergedFB mode.  Single large virtual desktop
> #               (2048x768), the LCD sees the left half, the external monitor
> #               sees the right half.  Ctrl+Alt+[+/-] switches to clone mode
> #               where you have a large virtual desktop with just one viewport
> #               and can scroll horizontally.
> #
> #               MergedFB supports 3D accel and video overlays on both heads.
> #               MergedFB supports some Xinerama-style hints that let GNOME
> #               maximize windows on only one head.  Sadly, workspaces are linked
> #               -- you can't switch workspaces on the left head independently
> #               from the right head.
> #
> #               MergedFB does not let me have a non-rectangular virtual desktop,
> #               so if I configure a 1024x768 + 1280x1024 setup, the smaller one
> #               will scroll inside a bigger a virtual desktop (only vertically,
> #               also, when scrolling down the mouse cursor casts strange green
> #               bars all the way to the top).  Try it with
> #                   startx -- -layout MergedFB2Layout
> #               Actually, with some source hacking you could make it work better
> #               (disable scrolling and set smaller xinerama hints), see
> #               http://bugs.xfree86.org/show_bug.cgi?id=276#c144
> #
> #               xrandr works and gives me an opportunity to switch between
> #               dualhead and clone!  (If there are windows on the second head
> #               when I switch to clone, they're moved so that part of them
> #               is visible; when I switch back, metacity doesn't repaint half
> #               of the titlebar ;)
> #
> #               If the second display is not connected during X startup,
> #               MergedFB gets totally disabled, and nothing will bring it back
> #               (xrandr shows only one mode).
> #
> #               xv: works when mplayer is fully on head 1 or head 2; doesn't
> #               work when mplayer overlaps both heads.  Switching to
> #               full-screen and back always puts mplayer on the top-left
> #               corner of the first head; strange.  Totem doesn't do this.
> #
> #               DRI: works on both heads, also overlapped.
> #
> #               http://bugs.xfree86.org/show_bug.cgi?id=276 is very informative
> #
> #           startx -- -layout XineramaLayout
> #               Starts in Xinerama mode.  Two heads -- 1024x768 and 1280x1024.
> #               You can move windows between them, like in MergedFB mode.  The
> #               smaller head doesn't scroll in a bigger virtual space, an
> #               improvement over MergedFB.  Workspaces are linked, like in
> #               MergedFB.
> #
> #               If the second display is not connected during X startup,
> #               Xinerama gets totally disabled, and nothing will bring it back.
> #
> #               xv: works on both heads, and also partially when mplayer
> #               overlaps them (but video is shown only on one head).
> #               mplayer's full-screen doesn't work on second head (it displays
> #               only 1024x768 image).
> #
> #               DRI doesn't work at all.
> #
> #               Xrandr doesn't work at all.  There's no way to tell the PC I do
> #               not have the second head -- if I unplug the monitor, half of
> #               the windows aren't accessible.
> #
> #           startx -- -layout TwoHeadLayout
> #               No Xinerama, just two screens -- :0.0 and :0.1.  You can move
> #               the mouse between them, but you cannot move windows.  Two
> #               completely independent desktops, except for a bunch of GNOME
> #               bugs -- e.g. window list applet breaks in the other head, etc.
> #               You have independent workspaces OTOH, but the inability to move
> #               windows arbitrarily is a killer :(
> #
> #
> # The config file based on the one from Marius Gedminas.
> #
> # Stefan Schmidt:
> #         - Set EnablePageFlip option in default layout to have better 3d 
> #           acceleration.
> #          
> #         - Change driver from ati to radeon.
> #
> #         - Change name of some identifiers.
> #
> #         - Change keyboard settings to german layout.
> #
> #         - Change modes for internal screen. 
> #
> #         - Add ServerFlags section to change layouts faster.
> #
> 
> # Problems with MergedFB:
> #         - If you use glxgears, there is a flickering on the LVDS screen.
> #
> # Problems with TwoHead:
> #        - No DRI.
> 
> Section "ServerFlags"
> #	Option "DefaultServerLayout"  "DefaultLayout"
> #	Option "DefaultServerLayout"  "MergedFBLayout"
> 	Option "DefaultServerLayout"  "XineramaLayout"
> #	Option "DefaultServerLayout"  "TwoHeadLayout"
> EndSection
> 
> 
> Section "Files"
> 	FontPath	"unix/:7100"			# local font server
> EndSection
> 
> Section "Module"
> 	Load	"type1"
> 	Load	"radeon"
> 	Load	"freetype"
> 	Load	"synaptics"
> 	Load	"bitmap"
> 	Load	"dbe"
> 	Load	"ddc"
> 	Load	"dri"
> 	Load	"extmod"
> 	Load	"glx"
> 	Load	"int10"
> 	Load	"record"
> 	Load	"vbe"
> EndSection
> 
> Section "InputDevice"
> 	Identifier	"Thinkpad Keyboard"
> 	Driver		"kbd"
> 	Option		"XkbModel"	"pc105"
> 	Option		"XkbLayout"	"gb"
> EndSection
> 
> Section "InputDevice"
>     Identifier	"Mouse2"
>     Driver	"mouse"
>     Option "Protocol"    "IMPS/2"
>     Option "Device"      "/dev/input/mice"
>     Option          "Emulate3Buttons"       "true"
>     Option          "ZAxisMapping"          "4 5"
> 
>     # Kill Programs grabbing Mouse
>     Option      "AllowDeactivateGrabs"   "on"
>     Option      "AllowClosedownGrabs"    "on"
> 
> EndSection
> 
> Section "Device"
> 	Identifier	"Card0"
> 	Driver		"radeon"
> 	VendorName  "ATI Technologies Inc"
> 	BoardName   "Radeon Mobility M7 LW [Radeon Mobility 7500]"
> 	BusID		"AGP:1:0:0"
> 	Option		"DynamicClocks"	"on"
> 	Option 		"EnablePageFlip" "on" 
> 	Option		"AGPMode" "4"
> 	#Option		"AGPFastWrite" "off" #Do not use, or X will crash...
> 	VideoRam        65536
> EndSection
> 
> Section "Device"
> 	Identifier	"MergedFB Card"
> 	Driver		"radeon"
> 	BusID		"AGP:1:0:0"
> 	Option		"DynamicClocks"	"on"
> 	Option 		"EnablePageFlip" "on" 
> 	Option		"MonitorLayout"	"LVDS, CRT"
> 	Option		"MergedFB"	"true"
> 	#Option          "MergedNonRectangular" "true"	
> 	# The next two options are taken from Xorg.log for my monitor. Be carefull with your own.
> 	Option		"CRT2Position"	"RightOf"
>     #	Option		"CRT2HSync"	"30.0-94.0"
>     #	Option		"CRT2VRefresh"	"50.0-160.0"
> 	Option          "MetaModes"	"1280x1024-1280x1024 1024x768-1024x768 1024x768+1280x1024 1280x1024 1024x768 800x600" #Switch between clone and RightOf
> 	Option		"MergedDPI"	"100 100"
> EndSection
> 
> Section "Device"
> 	Identifier	"Screen0 Card"
> 	Driver		"radeon"
> 	BusID		"AGP:1:0:0"
> 	Option		"DynamicClocks"	"on"
> 	Option 		"EnablePageFlip" "on" 
> 	Option		"MonitorLayout"	"LVDS, CRT"
> 	Screen		0
> EndSection
> 
> Section "Device"
> 	Identifier	"Screen1 Card"
> 	Driver		"radeon"
> 	BusID		"AGP:1:0:0"
> 	Option		"DynamicClocks"	"on"
> 	Option 		"EnablePageFlip" "on" 
> 	Screen		1
> EndSection
> 
> Section "Monitor"
> 	Identifier	"T40 LCD"
> 	Option		"DPMS"
> EndSection
> 
> Section "Monitor"
> 	Identifier	"External Monitor"
> 	Option		"DPMS"
> EndSection
> 
> Section "Screen"
> 	Identifier	"Default Screen"
> 	Device		"Card0"
> 	Monitor		"T40 LCD"
> 	DefaultDepth	24
> 	SubSection "Display"
> 		Depth		1
> 		Modes		"1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
> 	EndSubSection
> 	SubSection "Display"
> 		Depth		4
> 		Modes		"1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
> 	EndSubSection
> 	SubSection "Display"
> 		Depth		8
> 		Modes		"1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
> 	EndSubSection
> 	SubSection "Display"
> 		Depth		15
> 		Modes		"1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
> 	EndSubSection
> 	SubSection "Display"
> 		Depth		16
> 		Modes		"1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
> 	EndSubSection
> 	SubSection "Display"
> 		Depth		24
> 		Modes		"1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
> 	EndSubSection
> EndSection
> 
> Section "Screen"
> 	Identifier	"MergedFB Screen"
> 	Device		"MergedFB Card"
> 	Monitor		"T40 LCD"
> 	DefaultDepth	24
> 	SubSection "Display"
> 		Depth		1
> 		Modes		"1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
> 	EndSubSection
> 	SubSection "Display"
> 		Depth		4
> 		Modes		"1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
> 	EndSubSection
> 	SubSection "Display"
> 		Depth		8
> 		Modes		"1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
> 	EndSubSection
> 	SubSection "Display"
> 		Depth		15
> 		Modes		"1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
> 	EndSubSection
> 	SubSection "Display"
> 		Depth		16
> 		Modes		"1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
> 	EndSubSection
> 	SubSection "Display"
> 		Depth		24
> 		Modes		"1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
> 	EndSubSection
> EndSection
> 
> Section "Screen"
> 	Identifier	"Screen0"
> 	Device		"Screen0 Card"
> 	Monitor		"T40 LCD"
> 	DefaultDepth	24
> 	SubSection "Display"
> 		Depth		1
> 		Modes		"1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
> 	EndSubSection
> 	SubSection "Display"
> 		Depth		4
> 		Modes		"1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
> 	EndSubSection
> 	SubSection "Display"
> 		Depth		8
> 		Modes		"1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
> 	EndSubSection
> 	SubSection "Display"
> 		Depth		15
> 		Modes		"1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
> 	EndSubSection
> 	SubSection "Display"
> 		Depth		16
> 		Modes		"1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
> 	EndSubSection
> 	SubSection "Display"
> 		Depth		24
> 		Modes		"1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
> 	EndSubSection
> EndSection
> 
> Section "Screen"
> 	Identifier	"Screen1"
> 	Device		"Screen1 Card"
> 	Monitor		"External Monitor"
> 	DefaultDepth	24
> 	SubSection "Display"
> 		Depth		1
> 		Modes		"1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
> 	EndSubSection
> 	SubSection "Display"
> 		Depth		4
> 		Modes		"1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
> 	EndSubSection
> 	SubSection "Display"
> 		Depth		8
> 		Modes		"1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
> 	EndSubSection
> 	SubSection "Display"
> 		Depth		15
> 		Modes		"1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
> 	EndSubSection
> 	SubSection "Display"
> 		Depth		16
> 		Modes		"1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
> 	EndSubSection
> 	SubSection "Display"
> 		Depth		24
> 		Modes		"1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
> 	EndSubSection
> EndSection
> 
> Section "ServerLayout"
> 	Identifier	"DefaultLayout"
> 	Screen		"Default Screen"
> 	InputDevice	"Thinkpad Keyboard" "CoreKeyboard"
> 	InputDevice	"Mouse2" "SendCoreEvents"
> EndSection
> 
> Section "ServerLayout"
> 	Identifier	"MergedFBLayout"
> 	Screen		"MergedFB Screen"
> 	InputDevice	"Thinkpad Keyboard" "CoreKeyboard"
> 	InputDevice	"Mouse2" "SendCoreEvents"
> EndSection
> 
> Section "ServerLayout"
> 	Identifier	"XineramaLayout"
> 	Screen		"Screen0"
> 	Screen		"Screen1" RightOf "Screen0"
> 	InputDevice	"Thinkpad Keyboard" "CoreKeyboard"
> 	InputDevice	"Mouse2" "SendCoreEvents"
> 	Option		"Xinerama" "true"
> EndSection
> 
> Section "ServerLayout"
> 	Identifier	"TwoHeadLayout"
> 	Screen		"Screen0"
> 	Screen		"Screen1" RightOf "Screen0"
> 	InputDevice	"Thinkpad Keyboard" "CoreKeyboard"
> 	InputDevice	"Mouse2" "SendCoreEvents"
> EndSection
> 
> Section "DRI"
> 	Mode	0666
> EndSection
> 
> # Composite: slow as hell
> ## Section "Extensions"
> ## 	Option		"Composite"	"Enable"
> ## 	Option		"RENDER"	"true"
> ## 	Option		"DAMAGE"	"true"
> ## EndSection
-- 
Building an operation system without source code,
is like buying a  self assemble space shuttle without
instructions.