Talk:Lenovo Thinkpad T61

From Gentoo Linux Wiki

Jump to: navigation, search

Contents

[edit] Things to be done

- several hardware is still untested, please add your experiences with those.
- thinkpad_acpi section could be more precise
- suspending from X with nvidia drivers needs further testing. I read there was a hack with adding "case PM_SUSPEND_STANDBY" in nv.c but the pages were rather old
  There are a lot of (old) pages saying things about turning of kernel agpgart and using NvAGP=1 but this does not make sense as we're using PCI-Express.
- testing with other graphics (X3100, Quadro FX 570M) devices would be cool
- if you know how to lock the screen of any user by pressing Fn-F2, add it (Done, please confirm that it works)
- Dockingstation part has a FIXME-Box
- anything else that catches your eye
- whats up with the vga= kernel parameter (see FIXME at the relevant section)
- did somebody test the fgo-link for buildin webcam? If yes, would you mind adding a section to this article?
- any success with buildin tpm?
- any success with hdaps?
- Adding working .config will be great

[edit] nvidia-drivers suspend/resume (ram+disk)

Summary (last updated: Revilootneg 10:58, 9 May 2008 (UTC))
s2ram console/uvesafb: works with nvidia-drivers-173.14.05 on NVS 140M
s2ram xorg/nvidia-drivers: last time I checked display stayed off and wouldn't light up. System was up and running.
s2disk console/uvesafb: working
s2disk xorg/nvidia-drivers: It is working _BUT_ it takes about two minutes to start which is due to an nvidia bug (see below)

Revilootneg 22:59, 18 December 2007 (UTC):
Thanks Nalldrin, great work! This was some of the big must-haves for me on T61. I tried your config-files immediately. Same system config (amd64), same software versions but different xorg.conf and kernel-config
...and: working, uhm with errors!

On s2ram resume this ACPI Error is repeated about 2900 times:
ACPI Error (evgpe-0705): No handler or method for GPE[ D], disabling event [20070126]
Revilootneg 21:02, 19 December 2007 (UTC):
Update: Now I unloaded thinkpad_acpi, snd_hda_intel, parport_pc, sr_mod, button, tun and e1000 before s2ram. No ACPI Error messages appear under this condition, resuming is a little bit faster. I don't have the time to check which module is responsible but I suspect thinkpad_acpi or button. <End of update>
Abdulek 17:11, 19 January 2008 (UTC):
Update: e1000 is responsible for that. Works excellent <End of update>

On s2disk (xorg with nvidia-drivers) resume system will hang for nearly 2mins and kern.log shows the following (yeah I know: pasting somewhere else would be great ;-):

File: dmesg-output
e1000: eth0: e1000_watchdog: NIC Link is Up 100 Mbps Full Duplex, Flow Control: RX/TX
e1000: eth0: e1000_watchdog: 10/100 speed: disabling TSO
BUG: soft lockup - CPU#0 stuck for 11s! [hibernate:14830]
CPU 0:
Modules linked in: nvidia(P) i2c_core snd_pcm_oss snd_mixer_oss cpufreq_ondemand acpi_cpufreq freq_table tun thinkpad_acpi hwmon backlight nvram usbhid hid snd_hda_intel snd_pcm snd_timer snd soundcore snd_page_alloc thermal battery ac parport_pc parport processor button rtc ehci_hcd usbcore psmouse evdev e1000 sr_mod cdrom
Pid: 14830, comm: hibernate Tainted: P        2.6.23-tuxonice-r5 #1
RIP: 0010:[<ffffffff885392d4>]  [<ffffffff885392d4>] :nvidia:os_io_read_byte+0x4/0x8
RSP: 0000:ffff81001b75dc30  EFLAGS: 00000286
RAX: 0000000000000063 RBX: ffff81001989b900 RCX: ffffffff889d33e0
RDX: 00000000000003d5 RSI: 00000000000003d5 RDI: ffff810036308000
RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000001
R10: 0000000000000001 R11: 0000000000000000 R12: ffff81001989b8f8
R13: 0000000000000000 R14: ffff81001989b8f0 R15: 0000000000000000
FS:  00002afde7ea6f40(0000) GS:ffffffff805b4000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 00002b2e1cc350a8 CR3: 00000000166f0000 CR4: 00000000000006e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400

Call Trace:
[<ffffffff88516dc3>] :nvidia:_nv000016rm+0x13/0x1b
[<ffffffff8847f615>] :nvidia:_nv000217rm+0x11/0x26
[<ffffffff882712de>] :nvidia:_nv000310rm+0x83/0xa4
[<ffffffff885173ee>] :nvidia:_nv004517rm+0x196/0x1d8
[<ffffffff88484f6b>] :nvidia:_nv003868rm+0xc7/0x35b
[<ffffffff884895f1>] :nvidia:_nv002853rm+0x2e5/0x550
[<ffffffff884895ad>] :nvidia:_nv002853rm+0x2a1/0x550
[<ffffffff88489e74>] :nvidia:_nv002991rm+0x46e/0x6ff
[<ffffffff88486b1f>] :nvidia:_nv002848rm+0x71/0x79
[<ffffffff88486cd1>] :nvidia:_nv002860rm+0x1aa/0x1c3
[<ffffffff8848bba5>] :nvidia:rm_power_management+0x1e5/0x278
[<ffffffff885369af>] :nvidia:nv_power_management+0x133/0x196
[<ffffffff803dbfc6>] resume_device+0x43/0x98
[<ffffffff803dc07e>] dpm_resume+0x63/0x96
[<ffffffff803dc0cb>] device_resume+0x1a/0x2b
[<ffffffff80254380>] toi_end_atomic+0x34/0x79
[<ffffffff8024f581>] do_toi_step+0x418/0x6bc
[<ffffffff8024fb87>] _toi_try_hibernate+0xa9/0xea
[<ffffffff8024e80b>] toi_attr_store+0x1af/0x1f9
[<ffffffff802bcd43>] sysfs_write_file+0xe1/0x123
[<ffffffff8028225c>] vfs_write+0xad/0x136
[<ffffffff80282799>] sys_write+0x45/0x6e
[<ffffffff8020b36e>] system_call+0x7e/0x83

[ the above error repeats four times ]

ACPI: PCI Interrupt 0000:15:00.0[A] -> GSI 16 (level, low) -> IRQ 16
pnp: Device 00:0b activated.
sd 0:0:0:0: [sda] Starting disk
20%...done.
Waited for i/o due to readahead not ready 24 times.
Restarting all filesystems ...
Restarting tasks ... done.
TuxOnIce debugging info:
- TuxOnIce core  : 3.0-rc3
- Kernel Version : 2.6.23-tuxonice-r5
- Compiler vers. : 4.1
- Attempt number : 2
- Parameters     : 0 573456 0 1 0 5
- Overall expected compression percentage: 0.
- Checksum method is 'md4'.
0 pages resaved in atomic copy.
- Compressor is 'lzf'.
Compressed 599019520 bytes into 304316581 (49 percent compression).
- SwapAllocator active.
Swap available for image: 611943 pages.
- I/O speed: Write 21 MB/s, Read 52 MB/s.
- Extra pages    : 926 used/1500.
usb 1-4: USB disconnect, address 7
usb 1-4.3: USB disconnect, address 8
uvesafb: VBE state restore call failed (eax=0x4f04, err=1)
usb 1-4.4: USB disconnect, address 9
usb 1-4: new high speed USB device using ehci_hcd and address 14
usb 1-4: configuration #1 chosen from 1 choice
hub 1-4:1.0: USB hub found
hub 1-4:1.0: 4 ports detected
usb 1-4.3: new high speed USB device using ehci_hcd and address 15
usb 1-4.3: configuration #1 chosen from 1 choice
hub 1-4.3:1.0: USB hub found
hub 1-4.3:1.0: 3 ports detected
usb 1-4.4: new low speed USB device using ehci_hcd and address 16
usb 1-4.4: configuration #1 chosen from 1 choice
input: Logitech USB Receiver as /devices/pci0000:00/0000:00:1a.7/usb1/1-4/1-4.4/1-4.4:1.0/input/input11
input: USB HID v1.10 Keyboard [Logitech USB Receiver] on usb-0000:00:1a.7-4.4
Fixing up Logitech keyboard report descriptor
input: Logitech USB Receiver as /devices/pci0000:00/0000:00:1a.7/usb1/1-4/1-4.4/1-4.4:1.1/input/input12
input: USB HID v1.10 Mouse [Logitech USB Receiver] on usb-0000:00:1a.7-4.4
uvesafb: VBE get state call failed (eax=0x4f04, err=1)
uvesafb: mode switch failed (eax=0x4f02, err=1)
v86d: Trying to access an unsupported memory region at 4f03
v86d[9722]: segfault at 0000000000000000 rip 0000000000400dd4 rsp 00007fff4f184ea0 error 4
fbcondecor: console 1 using theme 'livecd-2007.0'
fbcondecor: switched decor state to 'on' on console 1
fbcondecor: console 1 using theme 'livecd-2007.0'
fbcondecor: switched decor state to 'on' on console 1

As one can see, everything loads fine before (e1000) and after (usb) the nvidia BUGs. Well, v86d segfaults but I would call this a minor problem at the moment. X works fine after resuming is finished. But this takes about 2 minutes and normal bootup would be faster and without error messages.
Did you get the same output? Any ideas how to fix this?. Where should I report this. I would go to nvnews.net forum as this seems like an nvidia-only issue to me. Or is this something for the tuxonice-developers (bugzilla or suspend2-mailinglist first?), too?
Any help appreciated.
And another question: Did you measure the power consumption in s2ram e.g. wait for battery depletion? Somewhere I read the T61 would consume a fair amount and thus drain the battery which renders s2ram useless at the moment.

--Nalldrin 08:50, 12 January 2008 (UTC)

Revilootneg : Sorry it took so long for me to respond. I actually wasn't aware of the discussion page until recently. Anyway, I have the same problem you have with suspend2; I checked dmesg and it's pretty much identical to what you get (I get ACPI errors and 11s "soft lockups", haven't tried your workaround for acpi errors yet). I don't have a way to fix the problem, but I'm just glad to be able to hibernate at all.

Regarding your last question, I have been using suspend to ram (s2ram via hibernate script) while moving my laptop between home and school, but I haven't had it unplugged for extended periods of time. Longest was about an hour and a half and IIRC it went from 100% to 97%. Not sure if that's good or bad. One problem I've noticed sometimes is the system will hang if I enter suspend on AC power and then resume on battery. Haven't really debugged the problem though, I've been avoiding the situation by entering and exiting suspend with AC plugged in. Do you have this problem also?

One more note : I removed the NVreg_Mobile=3 module option and everything still works as before (I noticed a post on the nvidia linux forum where you said it was unneeded).

--alienvenom 00:01, 3 May 2008 (UTC)

nvidia-drivers is at version 173.08 upstream. this (unfortunately) does not fix the 2 minute wait after suspend to disk. i noticed that the last post was in january, nearly 4 months ago. is there any update on how to get things fully working?

Revilootneg 16:36, 3 May 2008 (UTC):
Nalldrin: this time it's me to say sorry ;-) My priorities shifted a little. Although I surveyed the article and discussion page I somehow forgot to answer you.
In short: I did not try to hibernate with nvidia-drivers at all the past months. For me it's absolutely not an option to wait about 3 minutes until my system is usable while openrc and others bring boot time down to a minimum (Yeah I know, resuming all the applications one had running is cool).
Your power consumption in s2ram seems quite okay, although it is a little better in Windows *g*.
alienvenom: Sorry no update from me. I somehow resigned on this issue. The 173.08 is beta and is said to have a bunch of performance issues. Suppose I won't check on this until the next version hits the portage tree.

--alienvenom 19:55, 3 May 2008 (UTC) openrc is not an option for me as it breaks most config_ppp0 and chat_ppp0 scripts in /etc/conf.d/net.

Revilootneg 10:58, 9 May 2008 (UTC):
EDIT: removed nvidia-drivers-178.08.ebuild --> it's in the main tree by now.
alienvenom: still have to try 178.08 but right now I'm quite satisfied with suspend2ram from console (uvesafb). System will suspend and resume in an okay time (<10 secs) but after resume system will stay black until I switch to a qingy-enabled console. Display brightness will then be at full power but this is the same under windows. Pressing the brightness down key combination will immediately switch to the last brightness-level (no steps in between) which is okay for me.
Nalldrin: Tried suspending to ram on AC and resuming on battery and vice versa. Until now I can't report any hangs.
Revilootneg 12:43, 17 July 2008 (UTC):
Nothing new with 173.14.09. Still getting soft-lockups resulting in an extremely slow resume.

[edit] quadro nvs 140 help needed

I struggled to make the Nvidia Quadro 140m work in WXGA+ (1680x1050) under amd64 for a week now :-( Both "nv" and "nvidia" drivers make my screen go blank when starting x. Only the "vesa" driver works, but only shows 1280x1024 :-( Could someone please post a working xorg.conf? That would really make my day ...
Revilootneg 18:59, 11 October 2007 (UTC):
Moved this out of the article. Help requests either here or at fgo but not in the article, please. Maybe you better ask this question at fgo. And don't forget to mention your Xorg.x.log output.

Works in T61p with "vga=0x37d", which gives a 1920x1200 frame buffer (WUXGA). And "x11-drivers/nvidia-drivers-100.14.19" works fine.


[edit] x86: trouble with old BIOS

[author: Revilootneg]
important things first:
old BIOS: 1.09 (7LET39WW) 2007-05-14
new BIOS: 1.22 (7LET52WW) 2007-08-27 (newest version available)
there is a new version 1.26 of the BIOS. Claims to fix some issue with sound buttons.
System: x86 Gentoo 2007.0 with newest vanilla-/ kamikaze-/ gentoo-sources on external HDD bootet via USB
Problem: "irq xx: nobody cared message" for usb and nvidia-drivers error message

Now the long version:
I have Gentoo 2007.0 amd64 installed on the internal sata-harddrive. This was the basis on whith I started this article.
For experimenting and speed comparison I put the system-hdd (x86 Gentoo 2007.0) of my former pc in an external hdd-case, made the necessary kernel-modifications and booted it. I got kernel-panics for usb and the nvidia-module complained with an error-message when starting X as stated here. Nvidia-versions were 100.14.11 and 100.14.19. I managed to get nvidia-drivers working by adding irqpoll to the kernel commandline but this caused my ethernet to cut off after a small amount of traffic and the dvd-drive spammed my dmesg.
I invested quite some time probing the former named sources with various parameters and pci-settings but without luck. When I updated my BIOS yesterday from the old to the new version as written at the beginning all these problems disappeared.
I'm unsure wether this has something to do with booting via USB or if this even happens on a x86-system installed on the internal drive.
As this might be crucial information for x86 users I wonder if we should add it to the article.
Therefore: x86-users please comment.

Update: Revilootneg
Similar problems with non-sufficient solutions posted at Thinkwiki for Debian Lenny. I will add a short part to Problems and Solutions section.


[edit] xorg.conf

Does anyone have a well configured xorg.conf with touchpad/trackpoint, vga output, etc working? It would be great to place a working example in this article.

[edit] Quadro NVS 140m

Revilootneg 15:26, 30 December 2007 (UTC): This xorg.conf has four different server layouts for use with docking station (xinerama and twinview) and vesa/nv driver or nvidia-drivers. I cleaned most of the unneeded stuff but left in some comments I thought might be useful. For trackpoint and touchpad to work with the given device parts you need to add the following lines to:

File: /etc/udev/rules.d/90-input.rules
BUS=="serio", KERNELS=="serio1", ATTRS{protocol}=="SynPS/2", DRIVERS=="psmouse", KERNEL=="mouse*", SYMLINK="input/touchpad"
BUS=="serio", KERNELS=="serio2", ATTRS{protocol}=="TPPS/2", KERNEL=="mouse*", SYMLINK="input/trackpoint"
# BUS=="serio", KERNELS=="serio2", ATTRS{protocol}=="TPPS/2", KERNEL=="mouse*", ATTRS{description}=="Synaptics pass-through", SYMLINK="input/trackpoint"

However the trackpoint does not work for me at the moment and I did not find the error yet (new kernel, psmouse as module, ...)

File: /etc/X11/xorg.conf
Section "Files"
    RgbPath	"/usr/lib/X11/rgb"
#    FontPath	"/usr/share/fonts/local/"
    FontPath	"/usr/share/fonts/misc/"
    FontPath	"/usr/share/fonts/75dpi/:unscaled"
    FontPath	"/usr/share/fonts/100dpi/:unscaled"
    FontPath	"/usr/share/fonts/Type1/"
#    FontPath    "/usr/share/fonts/TTF/"
#    FontPath	"/usr/share/fonts/CID/"
    FontPath	"/usr/share/fonts/75dpi/"
    FontPath	"/usr/share/fonts/100dpi/"
    FontPath   "/usr/share/fonts/corefonts"
    FontPath   "/usr/share/fonts/sharefonts"
    FontPath   "/usr/share/fonts/terminus"
    FontPath   "/usr/share/fonts/ttf-bitstream-vera"
    FontPath   "/usr/share/fonts/unifont"
    FontPath   "/usr/share/fonts/artwiz"
    FontPath   "/usr/share/fonts/freefonts/"

EndSection

Section "Module"
    Load	"dbe"
    Load        "extmod"

    SubSection	"extmod"
        Option  "omit xfree86-dga"
    EndSubSection

    Load	"type1"
    Load	"freetype"
    Load	"glx"
EndSection

Section "Extensions"
    Option "Composite" "Enable"
EndSection

Section "ServerFlags"
## Security options (not enabled)
#    Option	"DontZap"
#    Option	"DontVTSwitch"
#    Option	"DontZoom"
## DPMS time settings (in min)
    Option	"blank time"	"5"
    Option	"standby time"	"7"
    Option	"suspend time"	"10"
    Option	"off time"	"15"
# select one of the five following server-layouts. The first 4 use nvidia-driver, the last uses xf86-drivers-nv. 
# Names should explain themeselves
## SELECT YOUR PREFERRED LAYOUT HERE
#    Option	"DefaultServerLayout" "xinerama"
#    Option	"DefaultServerLayout" "twinview"
#    Option	"DefaultServerLayout" "single-thinkpad-lcd"
    Option	"DefaultServerLayout" "single-external-lcd"
#    Option	"DefaultServerLayout" "nv-single-thinkpad-lcd"

EndSection

Section "InputDevice"
    Identifier	"t61-Keyboard"
	Driver	"kbd"
	Option	"XkbRules"	"xorg
	Option	"XkbModel"	"pc105"
	Option	"XkbLayout"	"de"
	Option	"XkbVariant"	"nodeadkeys"
EndSection

# ThinkPad UltraNav Touchpad:
Section "InputDevice"
        Identifier      "Synaptics Touchpad"
        Driver          "synaptics"
        Option          "SendCoreEvents"        "true"
	Option		"Device"		"/dev/input/touchpad"
        Option          "Protocol"              "Auto"
        Option          "LeftEdge"              "1700"
        Option          "RightEdge"             "5300"
        Option          "TopEdge"               "1700"
        Option          "BottomEdge"            "4200"
        Option          "FingerLow"             "25"
        Option          "FingerHigh"            "30"
        Option          "MaxTapTime"            "180"
        Option          "MaxTapMove"            "220"
        Option          "VertScrollDelta"       "100"
        Option          "HorizScrollDelta"      "100"
        Option          "MinSpeed"              "0.09"
        Option          "MaxSpeed"              "0.18"
        Option          "AccelFactor"           "0.0015"
        Option          "SHMConfig"             "on"
        Option          "TapButton1"            "1"
        Option          "TapButton2"            "2"
        Option          "TapButton3"            "3"
EndSection

# ThinkPad UltraNav TrackPoint:
Section "InputDevice"
       Identifier  	"UltraNav TrackPoint"
       Driver      	"mouse"
#       Option      	"CorePointer"
	Option		"Device"	"/dev/input/trackpoint"
	Option      	"Protocol"            "ExplorerPS/2"
	Option      	"Emulate3Buttons"     "on"
	Option      	"Emulate3TimeOut"     "50"
	Option      	"EmulateWheel"        "on"
	Option      	"EmulateWheelTimeOut" "200"
	Option      	"EmulateWheelButton"  "2"
	Option      	"YAxisMapping"        "4 5"
	Option      	"XAxisMapping"        "6 7"
	Option      	"ZAxisMapping"        "4 5"
EndSection

Section "Monitor"
    Identifier	"Benq FP783"
    Option	"DPMS" "true"
    HorizSync 30.0-81.0
    VertRefresh 56-75
#    DisplaySize 338 270
#    DisplaySize 376 301
EndSection

Section "Monitor"
    Identifier	"Thinkpad T61 TFT"
    Option	"DPMS" "true"
    HorizSync 30.0-98.0
    VertRefresh 50-160
#    DisplaySize 305 190
#    DisplaySize 360 270
EndSection

Section "Monitor"
    Identifier  "Thinkpad with FP783"
    Option	"DPMS" "true"
    HorizSync   30.0-81.0
    VertRefresh 56-60
#    DisplaySize should be horizontal from Thinkpad and FP783 together
#    DisplaySize 752 301
EndSection

#-----nv: Single thinkpad-lcd BEGIN---------------------------------------------------------------
Section "Device"
	Identifier	"nv-internal"
#	Driver		"vesa"
	Driver		"nv"
	Option		"DualHead"	"false"
EndSection

Section "Screen"
	Identifier "Screen-nv"
	Device	"nv-internal"
	Monitor "Thinkpad T61 TFT"
	DefaultDepth	24
	SubSection "Display"
		Depth	24
		Modes 	"1440x900"
	EndSubSection
EndSection

Section "ServerLayout"
	Identifier "nv-single-thinkpad-lcd"
	Screen 0 "Screen-nv"
	InputDevice	"UltraNav Trackpoint" "SendCoreEvents"
	InputDevice	"Synaptics Touchpad" "CorePointer"
	InputDevice	"t61-keyboard" "CoreKeyboard"
	Option "Xinerama" "0"			
EndSection
#-----nv: Single thinkpad-lcd END-----------------------------------------------------------------

#----- Single thinkpad-lcd BEGIN---------------------------------------------------------------
Section "ServerLayout"
	Identifier	"single-thinkpad-lcd"
	Screen	0 	"Screen0"
	InputDevice	"UltraNav TrackPoint"	"SendCoreEvents"
	InputDevice	"Synaptics Touchpad" "CorePointer"
	InputDevice	"t61-keyboard" "CoreKeyboard"
	Option		"Xinerama"	"0"
EndSection
#----- Single thinkpad-lcd END------------------------------------------------------------------

#----- Single external-lcd BEGIN---------------------------------------------------------------

Section "Device"
    Identifier  	"Nvidia0-external"
    VendorName  	"IBM"
    BoardName   	"Nvidia Quadro NVS 140"
    Driver      	"nvidia"
#    BusID       "PCI:1:0:0"
    Screen       0
    Option "UseDisplayDevice" "DFP-1"
    Option "NoLogo" "1"
    Option "RenderAccel" "true"
    Option "AllowDDCCI"	"true"
	Option "AddARGBGLXVisuals" "true"
    Option "UseEdidFreqs" "true"
    Option "UseEdid"	"true"
#    Option "UseEdidDpi" "FALSE"
    Option "UseEdidDpi" "DFP-1"
#	Option "DPI" "86x86"
#	Option "DPI" "75x75"
EndSection

Section "Screen"
    Identifier	"Screen0-external"
    Device	"Nvidia0-external"
    Monitor	"Benq FP783"
    DefaultDepth 24
    Subsection "Display"
        Depth 24
        Modes "1280x1024" "1024x768" "800x600"
    EndSubsection
EndSection

Section "ServerLayout"
    Identifier  "single-external-lcd"
    Screen      0 "Screen0-external"
	InputDevice     "UltraNav TrackPoint"   "SendCoreEvents"
        InputDevice     "Synaptics Touchpad" "CorePointer"
	InputDevice	"t61-keyboard" "CoreKeyboard"
    Option "Xinerama" "0"
EndSection
#----- Single external-lcd END------------------------------------------------------------------

#----- Twinview BEGIN--------------------------------------------------------------
Section "Device"
    Identifier "NvidiaTwin"
    VendorName "IBM"
    BoardName "Nvidia Quadro NVS 140"
    Driver "nvidia"
    BusID "PCI:1:0:0"
    Option "NoLogo" "0"
    Option "TwinView"
#    Option "MetaModes"  "1280x1024,1280x1024; 1280x1024; 1024x768,1024x768; 1024x768; 800x600,800x600; 800x600"
# my metamodes for thinkpad t61 tft and benq fp783 
   Option "MetaModes"  "1440x900,1280x1024; 1440x900"
# x768,1024x768; ; x,800x600; "
    Option "TwinViewOrientation" "DFP-1 RightOf DFP-0"
    Option "HorizSync"   "DFP-0: 30-81; DFP-1: 30-98"
    Option "VertRefresh" "DFP-0: 56-75; DFP-1: 50-160"
    Option "ConnectedMonitor" "DFP-0,DFP-1"
	Option "AddARGBGLXVisuals" "true"
    Option "RenderAccel" "true"
    Option "UseEdidDpi" "FALSE"
    Option "DynamicTwinView" "true"
EndSection

Section "Screen"
    Identifier	"ScreenTwin"
    Device      "NvidiaTwin"
    Monitor	"Thinkpad with FP783"
    DefaultDepth 24
    Subsection "Display"
        Depth 24
        Modes "1440x900" "1280x1024" "1024x768" "800x600"
    EndSubsection
EndSection

Section "ServerLayout"
    Identifier	"twinview"
    Screen	0 "ScreenTwin"
	InputDevice     "UltraNav TrackPoint"   "SendCoreEvents"
        InputDevice     "Synaptics Touchpad" "CorePointer"
	InputDevice	"t61-keyboard" "CoreKeyboard"
    Option "Xinerama" "0"
EndSection
#----- Twinview END----------------------------------------------------------------

#----- Xinerama BEGIN-------------------------------------------------------------
Section "Device"
    Identifier  "Nvidia0"
    VendorName  "IBM"
    BoardName   "Nvidia Quadro NVS 140"
    Driver      "nvidia"
#    Driver "nv"
    BusID       "PCI:1:0:0"
    Screen       0
    Option "UseDisplayDevice" "DFP-0"
    Option "NoLogo" "1"
	Option "AddARGBGLXVisuals" "true"
    Option "RenderAccel" "true"
    Option "UseEdidDpi" "FALSE"
#	Option "DPI" "90x90"
	Option "DPI" "75x75"
EndSection

Section "Device"
    Identifier  "Nvidia1"
    VendorName  "IBM"
    BoardName   "Nvidia Quadro NVS 140"
    Driver      "nvidia"
#	Driver "nv"
    BusID       "PCI:1:0:0"
    Screen       1
    Option "UseDisplayDevice" "DFP-1"
    Option "NoLogo" "1"
	Option "AddARGBGLXVisuals" "true"
    Option "RenderAccel" "true"
#    Option "UseEdidDpi" "FALSE"
    Option "UseEdidDpi" "True"
#	Option "DPI" "86x86"
#	Option "DPI" "75x75"
EndSection

Section "Screen"
    Identifier	"Screen0"
    Device	"Nvidia0"
    Monitor	"Thinkpad T61 TFT"
    DefaultDepth 24
    Subsection "Display"
        Depth 24
	Modes "1440x900"
#        Modes "1280x1024" "1024x768" "800x600"
    EndSubsection
EndSection

Section "Screen"
    Identifier	"Screen1"
    Device	"Nvidia1"
    Monitor	"Benq FP783"
    DefaultDepth 24
    Subsection "Display"
        Depth 24
        Modes "1280x1024" "1024x768" "800x600"
    EndSubsection
EndSection

Section "ServerLayout"
	Identifier	"xinerama"
	Screen		0 "Screen0"
	Screen		1 "Screen1" RightOf "Screen0"
	InputDevice     "UltraNav TrackPoint"   	"SendCoreEvents"
        InputDevice     "Synaptics Touchpad" 		"CorePointer"
	InputDevice 	"t61-keyboard"			"CoreKeyboard"
	Option "Xinerama" "1"
EndSection
#----- Xinerama END-----------------------------------------------------------------

[edit] GM965

daveresearch (_at_) peoplemerge.com:
My xorg.conf for T61 using the Intel GM965 card and the widescreen 1680x1050 screen. After a few months of dispair, dual-head works today. I'm using:
x11-apps/mesa-6.5.3
x11-base/xorg-server-1.3.0.0-r2
sys-kernel/gentoo-sources-2.6.23-r2
x11-drivers/xf86-video-i810-2.1.1 (2.1.1 was reported to have problems with this card and to use 2.1.0 instead; but 2.1.1 works great for me)
x11-apps/xrandr-1.2.2

Instead of using DRI, I opt for dual-head (DRI causes artifacts, at least with this xf86-video-i810).

File: /etc/X11/xorg.conf
Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
        RgbPath      "/usr/share/X11/rgb"
        ModulePath   "/usr/lib/xorg/modules"
        FontPath     "/usr/share/fonts/misc/"
        FontPath     "/usr/share/fonts/TTF/"
        FontPath     "/usr/share/fonts/OTF"
        FontPath     "/usr/share/fonts/Type1/"
        FontPath     "/usr/share/fonts/100dpi/"
        FontPath     "/usr/share/fonts/75dpi/"
EndSection

Section "Module"
        Load  "glx"
        Load  "xtrap"
        Load  "record"
        #Load  "dri"
        Load  "GLcore"
        Load  "dbe"
        Load  "extmod"
        Load  "freetype"
        Load  "type1"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
EndSection

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "auto"
        Option      "Device" "/dev/input/mice"
        Option      "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
        Identifier   "LVDS"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
        DisplaySize  331 207 #mm
EndSection

Section "Monitor"
        Identifier   "VGA"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
EndSection

Section "Monitor"
  Identifier "TV"
  Option "Disable" "true"
  Option "Ignore" "true"
  #Option "ReducedBlanking"
EndSection 

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "ShadowFB"                  # [<bool>]
        #Option     "DefaultRefresh"            # [<bool>]
        #Option     "ModeSetClearScreen"        # [<bool>]
        Identifier  "Card0"
        #VideoRAM    128000
        Driver      "intel"
20060409-r1        VendorName  "Intel Corporation"
        BoardName   "Mobile Integrated Graphics Controller"
        BusID       "PCI:0:2:0"
        # source: http://gentoo-wiki.com/HARDWARE_HP_Compaq_6710b#Dual-head_display_.28monitor_with_LCD_screen.29
        # "Do not enable DRI in xorg.conf (it's doing funny things with monitor image)"
        Option      "DRI" "false"
        Option  "monitor-VGA"   "VGA"
        Option  "monitor-LVDS"  "LVDS"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        SubSection "Display"
                Viewport   0 0
                Depth     24
                Virtual 3360 1050
        EndSubSection
EndSection

[edit] HDAPS

--Aevionknight 02:44, 29 January 2008 (UTC): (running a T61p but all the real discussion is here). HDAPS is working 100%, including parking the drive. I'm using tuxonice-2.6.23-r6 with hdaps cofigured as a module, tp_smapi-0.33 and hdapsd-20060409-r1. I used the 2.6.23.8 kernel patch linked to in ThinkWiki. Gnome-hdaps-applet correctly monitors the system. Invert is required to straighten out data.

--Aevionknight 03:03, 29 January 2008 (UTC): It appears that the T61p HDAPS axes are cross, so x is y and y is x. Can anyone else confirm this? Get hdaps-gl for a quick, easy visual test.

[edit] Disabling Nvidia Powermizer

It seems that the performance level of the card can be locked to 2 by appending the following to the kernel module parameters in /etc/modprobe.d/nvidia:

NVreg_RegistryDwords="PerfLevelSrc=0x2222"

Compiz seems much faster and smoother since I added this parameter. Could someone please test and confirm this?

--Revilootneg 09:52, 19 February 2008 (UTC): Will try that as soon as I'm in front of my T61. Could you please add the source you got this option from?

--Revilootneg 10:11, 19 February 2008 (UTC): Okay, found a lot of sources @ nvnews and ubuntu forums on this hack. They often mention hot gpus. Do you experience higher gpu-temperatures with your Thinkpad? Without this option I'm having gpu-temps from 52 to 56 °C.

--- I think these pages may be those where I found this trick.
I'm getting the same temperatures (52-56 °C) at idle, and 60-65 °C with some 3D processing (the Compiz Cube or glxgears, for example). This seems fine, although I didn't yet checked the temperature with Compiz running for a long time.

Revilootneg 20:10, 29 February 2008 (UTC): Just wanted to give the promised feedback. Sorry the delay, I'm a little busy atm.
The parameter gives a slight improvement but it could be categorized as "me-wanna-see-this-working". What I want to say: I'm not that satisfied. There are still glitches in rotating the cube, some animations, show desktop, rotate tapped windows. The blue-gray resize-frame now is visible for me.
BUT: The cpu has to work far too much. It burns up from 800Mhz to 2200Mhz at nearly every effect. Tested this with 169.12.

I'm quite p*ss*d about this, compiz-fusion is runnig totally smooth on two joybooks with 7400go and nvidia's drivers. It's doing far better on an old geforce 4 440mx. Even an acer laptop with intel 855gm and "intel" or "i810" xorg-driver looks nicer than my thinkpad. And recently I tested cf on an ATI Radeon Mobility U1 (IGP320M) with "radeon" xorg-driver. All these machines give a much nicer compositing experience!

--alienvenom 04:01, 15 May 2008 (UTC) Can someone please confirm that this setting is useless with nvidia-drivers-173.08? it appears that no matter what i put powermizer is always set to 0 (the lowest setting) Never mind. Bug in nvidia-drivers-173.08. /etc/modules.d/nvidia was i guess moved to /etc/modprobe.d/nvidia (not sure why) but i removed the latter and used the original config from the older drivers.
Revilootneg 13:00, 17 July 2008 (UTC):
NVS 140m performance is still bad. This might be due to powermizer-"feature". On nvnews nvidia-devs recommended inofficial InitialPixmapPlacement=2 GlyphCache=1 options for nvidia-settings to improve performance (with kde4 especially). It seems these two options are supposed to solve Geforce 8xxx-performance-issues, finally.

[edit] wireless: iwl4965

--alienvenom 03:03, 26 May 2008 (UTC) has anyone been able to resolve the issue with the wireless adapter (iwl4965) randomly disconnecting and putting itself into sleep? basically, i get a ton of messages in dmesg about mac being in deep sleep and the only way to resolve it is to reboot the laptop. a simple modprobe -r/modprobe doesn't work.

May 14 23:15:09 lapadon iwl4965: MAC is in deep sleep!
May 14 23:15:09 lapadon iwl4965: MAC is in deep sleep!
May 14 23:15:09 lapadon iwl4965: MAC is in deep sleep!
May 14 23:15:09 lapadon iwl4965: MAC is in deep sleep!
May 14 23:15:09 lapadon iwl4965: MAC is in deep sleep!
May 14 23:15:09 lapadon iwl4965: MAC is in deep sleep!
May 14 23:15:09 lapadon iwl4965: MAC is in deep sleep!
May 14 23:15:09 lapadon iwl4965: MAC is in deep sleep!
May 14 23:15:38 lapadon iwl4965: MAC is in deep sleep!
May 14 23:15:42 lapadon iwl4965: MAC is in deep sleep!


May 15 02:11:31 lapadon iwl4965: HARDWARE GONE?? INTA == 0x000000000000000000000000000000000000000000000000000000000000000000000000ffffffff
May 15 02:11:31 lapadon iwl4965: HARDWARE GONE?? INTA == 0x000000000000000000000000000000000000000000000000000000000000000000000000ffffffff
May 15 02:11:31 lapadon iwl4965: HARDWARE GONE?? INTA == 0x000000000000000000000000000000000000000000000000000000000000000000000000ffffffff
May 15 02:11:31 lapadon iwl4965: HARDWARE GONE?? INTA == 0x000000000000000000000000000000000000000000000000000000000000000000000000ffffffff
May 15 02:11:31 lapadon iwl4965: HARDWARE GONE?? INTA == 0x000000000000000000000000000000000000000000000000000000000000000000000000ffffffff

and a whole bunch of other error messages related to iwl4965...

Mastier: May you try pull out the card then put in ? Seems to be disconnecting or broken.

[edit] acpid and /proc/acpi/event

Revilootneg 06:30, 16 July 2008 (UTC):
I removed this box I put nearly 11 month ago, because I don't know a userspace client that would handle acpi-events over the netlink interface as described by in-kernel help.

FIXME: linux-2.6.23: ACPI will no longer report events through /proc/acpi/event by default so there will be major changes in September.

Searching the web I found others asking for a replacement for (or newer version of) acpid but apparantly there is none and we have to compile our kernels with deprecated /proc/acpi/event support.
Did I miss something or is acpid still state-of-the-art with acpi-event handling?
Revilootneg 11:36, 17 July 2008 (UTC): Update: acpid-ng was on 2007-12-05 but apparently nobody was interested and there is no further development.
A thread [1] on at.Linux discusses the deprecation of /proc/acpi/event.
The thinkpad-acpi.txt documentation file says:

File: /usr/src/<kernel-src>/Documentation/laptops/thinkpad-acpi.txt ll. 424-427

Make no mistake here: userspace is expected to switch to using the input
layer interface of thinkpad-acpi, together with the ACPI netlink event
interface in kernels 2.6.23 and later, or with the ACPI procfs event
interface in kernels 2.6.22 and earlier.

Personal tools