Difference between revisions of "Installing Ubuntu 8.10 (Intrepid Ibex) on a ThinkPad T61"

From ThinkWiki
Jump to: navigation, search
m (Suspend/Hibernate)
(Nvidia performance (Firefox is very slow) and Xorg memory consumption problem)
 
(23 intermediate revisions by 6 users not shown)
Line 1: Line 1:
NOTE: I copied the 8.04 document and created this one with the information. Please help to update it so it accurately reflects 8.10.
+
NOTE: I copied the 8.04 document for the {{T61}} and created this one with the information. Please help to update it so it accurately reflects Ubuntu 8.10.
  
 
== Items that work out of the box ==
 
== Items that work out of the box ==
Line 5: Line 5:
 
'''Intel Video:''' 2D and 3D acceleration works
 
'''Intel Video:''' 2D and 3D acceleration works
  
'''Nvidia Video:''' 2D and 3D acceleration works
+
'''Nvidia Video:''' 2D and 3D acceleration works . 64-bit Ubuntu 8.10 requires updated Nvidia driver 180.29 .
  
 
'''Wireless:''' Intel cards tested. Atheros cards also works.
 
'''Wireless:''' Intel cards tested. Atheros cards also works.
Line 26: Line 26:
  
 
== Items that need (some) tweaking to obtain full functionality ==
 
== Items that need (some) tweaking to obtain full functionality ==
=== Sound (too quiet) ===
+
=== Sound (too quiet, no sound after resume) ===
 
{{NOTE|Note: This seems to have been fixed in a recent update. Following these instructions will actually dampen sound if your sound is already at the appropriate volume. Only apply if necessary.}}
 
{{NOTE|Note: This seems to have been fixed in a recent update. Following these instructions will actually dampen sound if your sound is already at the appropriate volume. Only apply if necessary.}}
 
Sound works "out of the box", but is too quiet for many people. To fix this you need to do the following:
 
Sound works "out of the box", but is too quiet for many people. To fix this you need to do the following:
Line 34: Line 34:
 
and add
 
and add
 
<pre>
 
<pre>
options snd-hda-intel model=thinkpad
+
options snd-hda-intel model=thinkpad power_save_controller=Y power_save=10
 
</pre>
 
</pre>
 
to the very end of the file ({{path|/etc/modprobe.d/alsa-base}}).
 
to the very end of the file ({{path|/etc/modprobe.d/alsa-base}}).
  
=== Open Source Intel Wifi Driver ===
+
Note: power_save_controller=Y option fixes the problem with no sound after resuming from suspend.
 +
 
 +
=== Open Source Intel Wi-Fi Driver ===
 
The following information is important if you are upgrading from a previous version (2007 or earlier) of Ubuntu to 8.10.
 
The following information is important if you are upgrading from a previous version (2007 or earlier) of Ubuntu to 8.10.
  
Intel has created a new Linux Wifi driver project for Intel Wireless cards, "[[Iwlwifi]]".  This driver is Open Source and no longer requires the Intel daemon to run in addition.  This project will support the [[:Category:T61 | T61]]'s Wifi [[Intel PRO/Wireless 3945ABG Mini-PCI Express Adapter | Intel 3945ABG network adapter]] and [[Intel PRO/Wireless 4965AGN Mini-PCI Express Adapter| Intel 4965AGN network adapter]].
+
Intel has created a new Linux Wi-Fi driver project for Intel Wireless cards, "[[Iwlwifi]]".  This driver is Open Source and no longer requires the Intel daemon to run in addition.  This project will support the [[:Category:T61 | T61]]'s Wi-Fi [[Intel PRO/Wireless 3945ABG Mini-PCI Express Adapter | Intel 3945ABG network adapter]] and [[Intel PRO/Wireless 4965AGN Mini-PCI Express Adapter| Intel 4965AGN network adapter]].
  
 
An automatic migration will occur when upgrading from [[Installing Ubuntu 7.10 (Gutsy Gibbon) on a ThinkPad T61|Ubuntu 7.10]] to Ubuntu 8.04.  However, there is a caveat to be aware of:
 
An automatic migration will occur when upgrading from [[Installing Ubuntu 7.10 (Gutsy Gibbon) on a ThinkPad T61|Ubuntu 7.10]] to Ubuntu 8.04.  However, there is a caveat to be aware of:
Line 49: Line 51:
 
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:1b:77:a4:0e:2f", NAME="eth1"
 
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:1b:77:a4:0e:2f", NAME="eth1"
 
</pre>
 
</pre>
 
  
 
If you need to perform a manual migration, the Ubuntu Help Community has written some [https://help.ubuntu.com/community/WifiDocs/Driver/iwlwifi_Intel_3945_4965/gutsy documentation] that will make this very easy to do.
 
If you need to perform a manual migration, the Ubuntu Help Community has written some [https://help.ubuntu.com/community/WifiDocs/Driver/iwlwifi_Intel_3945_4965/gutsy documentation] that will make this very easy to do.
Line 59: Line 60:
 
http://www.ubuntu.com/getubuntu/releasenotes/810
 
http://www.ubuntu.com/getubuntu/releasenotes/810
  
==== To enable the Wifi LED with the Atheros cards ====
+
==== To enable the Wi-Fi LED with the Atheros cards ====
  
 
First check if this solution works on your computer. Open a terminal and run this commands:  
 
First check if this solution works on your computer. Open a terminal and run this commands:  
Line 66: Line 67:
 
  sysctl dev.wifi0.softled=3
 
  sysctl dev.wifi0.softled=3
  
Now connect to a wireless network and the LED should start working. If so and you want to make the changes permanent then:
+
Now connect to a wireless network and the LED should start working. If so and you want to make the changes permanent then, on a Debian-based system, add
 +
<pre>
 +
dev.wifi0.ledpin=1
 +
dev.wifi0.softled=1
 +
</pre>
 +
to the file /etc/sysctl.conf.  If your distribution doesn't have a sysctl.conf file then you can add the two sysctl commands to an initscript.
 +
 
 +
==== To enable the Wi-Fi LED with the Atheros cards and Ath5K driver ====
 +
 
 +
If you want to use Ath5k driver for your adapter, which I think provides better signal quality, then open a terminal and run these commands:  
 +
<pre>
 +
sudo su
 +
</pre>
 +
 
 +
Install necessary build packages:
 +
<pre>
 +
apt-get install build-essential
 +
</pre>
 +
 
 +
Then close Madwifi if you have it installed before:
 +
<pre>
 +
rmmod ath_pci; rmmod ath_hal
 +
</pre>
 +
 
 +
Download the most recent source code for Ath5k: 
 +
<pre>
 +
wget http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2009-03-30.tar.bz2
 +
tar xvf compat-wireless-2009-03-30.tar.bz2
 +
cd compat-wireless-2009-03-30
 +
</pre>
  
1) Create a file ~/wifiLED and copy/paste the following into it:  
+
Before compiling, you need to modify the file compat-wireless-2009-03-30/drivers/net/wireless/ath5k/led.c
 +
from:
 +
<pre>
 +
/* IBM-specific AR5212 */
 +
{ PCI_VDEVICE(ATHEROS, PCI_DEVICE_ID_ATHEROS_AR5212_IBM), ATH_LED(0, 0) },
 +
</pre>
 +
to:
 +
<pre>
 +
/* IBM-specific AR5212 */
 +
{ PCI_VDEVICE(ATHEROS, PCI_DEVICE_ID_ATHEROS_AR5212_IBM), ATH_LED(1, 1) },
 +
</pre>
  
  #!/bin/bash
+
Save and then move on to compiling the driver, make sure you execute this command in the directory of compat-wireless-2009-03-30/
#
+
<pre>
# Commands to enable the wireless LED
+
make
  sysctl dev.wifi0.ledpin=1
+
</pre>
sysctl dev.wifi0.softled=3
+
   
 +
Then confirm that all other drivers are unloaded:
 +
<pre>
 +
make unload
 +
</pre>
 +
 
 +
Install:
 +
<pre>
 +
make install
 +
</pre>
 +
 
 +
Load the module:
 +
<pre>
 +
modprobe ath5k
 +
</pre>
 +
 
 +
Check the wireless network
 +
<pre>
 +
ifconfig wlan0 up; iwconfig  
 +
</pre>
 +
 
 +
Your Wi-Fi LED should be blinking happily ever after...
 +
 
 +
Now we add Madwifi to blacklist to completely forbid it:
 +
<pre>
 +
echo "blacklist ath_pci" >> /etc/modprobe.d/blacklist; echo "blacklist ath_hal" >> /etc/modprobe.d/blacklist
 +
</pre>
 +
 
 +
 
 +
Load ath5k automatically everytime the system starts:
  
2) sudo cp ~/wifiLED /etc/init.d
+
<pre>
 +
echo "ath5k" >> /etc/modules
 +
</pre>
  
3) sudo chmod 755 /etc/init.d/wifiLED
+
Then the whole process should be done. Happy wifi~
  
4) sudo update-rc.d wifiLED defaults 90
+
If you want to remove ath5k, change directory to the directory compat-wireless-2009-03-30/
 +
<pre>
 +
sudo make uninstall
 +
</pre>
  
After you reboot your wireless led should be working.
+
Unload ath5k:
  
--[[User:Lunatico|Lunatico]] 22:44, 18 December 2008 (CET)
+
<pre>
 +
sudo rmmod ath5k
 +
</pre>
  
 +
remove ath5k from /etc/modules and restart.
  
 
=== Network connection after suspend/resume ===
 
=== Network connection after suspend/resume ===
Line 128: Line 205:
 
</pre>
 
</pre>
 
There is [http://psung.blogspot.com/2008/09/scrolling-with-thinkpads-trackpoint-in.html another method] to get horizontal scrolling as well, but I don't think it worked for me.
 
There is [http://psung.blogspot.com/2008/09/scrolling-with-thinkpads-trackpoint-in.html another method] to get horizontal scrolling as well, but I don't think it worked for me.
 +
 +
=== Enabling touchpad on/off key (fn-f8) ===
 +
The procedure shown  [[Install_Ubuntu_8.10_(Intrepid_Ibex)_on_a_ThinkPad_T500#Enabling_Touchpad_on.2Foff_key|here]] for T500 also works for T61.
  
 
=== Suspend/Hibernate ===
 
=== Suspend/Hibernate ===
 
==== Nvidia drivers ====
 
==== Nvidia drivers ====
One of the many problems associated with the Thinkpad *61 series and '''nvidia''' is the suspend/hibernate feature being broken.
+
One of the many problems associated with the ThinkPad *61 series and '''nvidia''' is the suspend/hibernate feature being broken.
  
 
If you have such a problem then try this fix.
 
If you have such a problem then try this fix.
Line 155: Line 235:
 
Reboot and check suspend and hibernation.
 
Reboot and check suspend and hibernation.
  
[[Category: Ubuntu 8.10]]
+
'''Update and success 1 March 2009'''
[[Category: T61]]
+
I didn't have success with above alone. After editing loads of hal files I cam across a suggestion that early versions of the nvidia 180 drivers dont do suspend/resume. It was also said that from 180.25 on they worked. So I manually upgraded to the using the documentation on the Ubuntu wiki - but basically it's a matter of removing anything that was installed by ubuntu (like getting rid of  /lib/modules/2.6.27-11-generic/updates/dkms/nvidia.ko) and then running the nvidia installer, rebooting and you have the newer version - in my case 180.29. Now suspend to ram works!
 +
 
 +
 
 +
===== Nvidia driver upgrade to latest version (180.29 currently) =====
 +
 
 +
If you want to upgrade to latest version, follow these instructions: http://adammichaelroach.com/blog/021809/installing-nvidia-18029-drivers-intrepid
 +
 
 +
===== GDM Startup problem with Nvidia 177 or 180 driver versions =====
 +
 
 +
There's a bug in the driver so that the driver hangs for 30 seconds after logout (in restart X server):
 +
http://www.nvnews.net/vbulletin/showthread.php?t=125286
 +
 
 +
Workaround: increase GdmXserverTimeout to 60. Modify /etc/gdm/gdm.conf
 +
<pre>
 +
line 232: GdmXserverTimeout=60
 +
</pre>
 +
 
 +
More information in the Ubuntu bug report: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-177/+bug/258357
 +
 
 +
===== Nvidia performance (Firefox is very slow) and Xorg memory consumption problem =====
 +
 
 +
Firefox and X.org will stall with these error messages in the log file:
 +
<pre>
 +
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
 +
[mi] mieqEnequeue: out-of-order valuator event; dropping.
 +
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
 +
[mi] mieqEnequeue: out-of-order valuator event; dropping.
 +
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
 +
[mi] mieqEnequeue: out-of-order valuator event; dropping.
 +
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
 +
[mi] mieqEnequeue: out-of-order valuator event; dropping.
 +
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
 +
[mi] mieqEnequeue: out-of-order valuator event; dropping.
 +
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
 +
[mi] mieqEnequeue: out-of-order valuator event; dropping.
 +
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
 +
[mi] mieqEnequeue: out-of-order valuator event; dropping.
 +
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
 +
[mi] mieqEnequeue: out-of-order valuator event; dropping.
 +
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
 +
[mi] mieqEnequeue: out-of-order valuator event; dropping.
 +
</pre>
 +
For example http://grails.org website stalls Firefox and X.org.
 +
 
 +
I've added these settings to xorg.conf. The GDM Startup problem went away too.
 +
<pre>
 +
Section "ServerFlags"
 +
        Option  "Xinerama" "0"
 +
        Option "PixmapCacheSize" "1000000"
 +
        Option "AllowSHMPixmaps" "0"
 +
        Option "PixmapCache" "1"
 +
        Option "PixmapCacheRoundSizeKB" "1024"
 +
        Option "InitialPixmapPlacement" "2"
 +
        Option "GlyphCache" "1"
 +
EndSection
 +
</pre>
 +
 
 +
I added did this from the command line:
 +
<pre>
 +
nvidia-settings -a InitialPixmapPlacement=2 -a GlyphCache=1
 +
</pre>
 +
 
 +
more information:
 +
http://www.nvnews.net/vbulletin/showthread.php?t=118088
 +
https://bugs.launchpad.net/ubuntu/+source/firefox-3.0/+bug/223238
 +
https://bugs.launchpad.net/ubuntu/+source/firefox-3.0/+bug/190228
 +
https://bugs.launchpad.net/firefox/+bug/207454
 +
 
 +
===== /etc/X11/xorg.conf settings with support for beamer =====
 +
 
 +
<pre>
 +
Section "Monitor"
 +
        Identifier      "Configured Monitor"
 +
EndSection
 +
 
 +
Section "Screen"
 +
        Identifier      "Default Screen"
 +
        Monitor        "Configured Monitor"
 +
        Device          "Configured Video Device"
 +
        Option "ConnectedMonitor" "DFP-0,CRT-0"
 +
        Option "UseDisplayDevice" "DFP-0,CRT-0"
 +
        Option "TwinView" "true"
 +
        Option "TwinViewOrientation" "Clone"
 +
        Option "TwinViewXineramaInfoOrder" "DFP-0,CRT-0"
 +
        Option "MonitorLayout" "LFP,LFP+CRT"
 +
        Option "metamodes" "DFP-0: 1680x1050 +0+0, CRT-0: NULL; DFP-0: 1024x768 +0+0, CRT-0: 1024x768 +0+0; DFP-0: 1280x1024 +0+0, CRT-0: 1280x1024 +0+0; DFP-0: 1024x768 +0+0, CRT-0: NULL"
 +
        Option "SecondMonitorHorizSync" "31-82" # 15,75-91,1
 +
        Option "SecondMonitorVertRefresh" "56-76" # 43-85
 +
        DefaultDepth    24
 +
EndSection
 +
 
 +
Section "Module"
 +
        Load    "glx"
 +
EndSection
 +
 
 +
Section "Device"
 +
        Identifier      "Configured Video Device"
 +
        Option  "ModeValidation"        "CRT-0: NoEdidModes, NoHorizSyncCheck, NoVertRefreshCheck"
 +
        Driver  "nvidia"
 +
        Option  "NoLogo"        "True"
 +
EndSection
 +
 
 +
Section "ServerFlags"
 +
        Option  "Xinerama" "0"
 +
        Option "PixmapCacheSize" "1000000"
 +
        Option "AllowSHMPixmaps" "0"
 +
        Option "PixmapCache" "1"
 +
        Option "PixmapCacheRoundSizeKB" "1024"
 +
        Option "InitialPixmapPlacement" "2"
 +
        Option "GlyphCache" "1"
 +
EndSection
 +
</pre>
 +
 
 +
Use "NVidia X Server Settings" (nvidia-settings) application to configure the external monitor (refresh rate & resolution). xrandr will stall, don't use it.
 +
Remove possible "        Option  "AllowEmptyInput" "false"" line. In Ubuntu 9.04 Jaunty Jackalope it will cause duplicate/triple key events when you press a key once.

Latest revision as of 14:59, 22 April 2009

NOTE: I copied the 8.04 document for the T61 and created this one with the information. Please help to update it so it accurately reflects Ubuntu 8.10.

Items that work out of the box

Intel Video: 2D and 3D acceleration works

Nvidia Video: 2D and 3D acceleration works . 64-bit Ubuntu 8.10 requires updated Nvidia driver 180.29 .

Wireless: Intel cards tested. Atheros cards also works.

Wireless WAN: Cingular/AT&T card tested.

Network Card: Intel 10/100/1000 tested

Wireless switch: Tested (Only has an effect over the bluetooth, wifi is unaffected)

Webcam: Tested with cheese and skype.

Headphones: Works out of the box

Microphone: Just needs to be activated, see section below

Keyboard Shortcuts: Most of them work out of the box, some need to be activated, see section below

Fingerprint Reader: With ThinkFinger, not as functional after upgrade (need to hit 'Enter'), see below

Items that need (some) tweaking to obtain full functionality

Sound (too quiet, no sound after resume)

NOTE!
Note: This seems to have been fixed in a recent update. Following these instructions will actually dampen sound if your sound is already at the appropriate volume. Only apply if necessary.

Sound works "out of the box", but is too quiet for many people. To fix this you need to do the following:

gksudo gedit /etc/modprobe.d/alsa-base

and add

options snd-hda-intel model=thinkpad power_save_controller=Y power_save=10

to the very end of the file (/etc/modprobe.d/alsa-base).

Note: power_save_controller=Y option fixes the problem with no sound after resuming from suspend.

Open Source Intel Wi-Fi Driver

The following information is important if you are upgrading from a previous version (2007 or earlier) of Ubuntu to 8.10.

Intel has created a new Linux Wi-Fi driver project for Intel Wireless cards, "Iwlwifi". This driver is Open Source and no longer requires the Intel daemon to run in addition. This project will support the T61's Wi-Fi Intel 3945ABG network adapter and Intel 4965AGN network adapter.

An automatic migration will occur when upgrading from Ubuntu 7.10 to Ubuntu 8.04. However, there is a caveat to be aware of:

  • The new driver wants to name the interface wlan0 (by default -- you can rename it to anything you want), and requires a different entry in /etc/udev/rules.d/70-persistent-net.rules, which handles the naming of interfaces. Simply edit this file and delete your old entry for the ipw3945 driver, then unload/reload the new driver, or simply reboot. A new entry will automatically be created that is appropriate for the new driver. Here's an example of the lines to delete:
# PCI device 0x8086:0x4227 (ipw3945)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:1b:77:a4:0e:2f", NAME="eth1"

If you need to perform a manual migration, the Ubuntu Help Community has written some documentation that will make this very easy to do.

An additional note System lock-ups with Intel 4965 wireless

The version of the iwlagn wireless driver for Intel 4965 wireless chipsets included in Linux kernel version 2.6.27 causes kernel panics when used with 802.11n or 802.11g networks. Users affected by this issue can install the linux-backports-modules-intrepid package, to install a newer version of this driver that corrects the bug. (Because the known fix requires a new version of the driver, it is not expected to be possible to include this fix in the main kernel package.) http://www.ubuntu.com/getubuntu/releasenotes/810

To enable the Wi-Fi LED with the Atheros cards

First check if this solution works on your computer. Open a terminal and run this commands:

sysctl dev.wifi0.ledpin=1
sysctl dev.wifi0.softled=3

Now connect to a wireless network and the LED should start working. If so and you want to make the changes permanent then, on a Debian-based system, add

dev.wifi0.ledpin=1
dev.wifi0.softled=1

to the file /etc/sysctl.conf. If your distribution doesn't have a sysctl.conf file then you can add the two sysctl commands to an initscript.

To enable the Wi-Fi LED with the Atheros cards and Ath5K driver

If you want to use Ath5k driver for your adapter, which I think provides better signal quality, then open a terminal and run these commands:

sudo su 

Install necessary build packages:

apt-get install build-essential 

Then close Madwifi if you have it installed before:

rmmod ath_pci; rmmod ath_hal

Download the most recent source code for Ath5k:

 
wget http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2009-03-30.tar.bz2
tar xvf compat-wireless-2009-03-30.tar.bz2
cd compat-wireless-2009-03-30

Before compiling, you need to modify the file compat-wireless-2009-03-30/drivers/net/wireless/ath5k/led.c from:

/* IBM-specific AR5212 */
	{ PCI_VDEVICE(ATHEROS, PCI_DEVICE_ID_ATHEROS_AR5212_IBM), ATH_LED(0, 0) },

to:

/* IBM-specific AR5212 */
	{ PCI_VDEVICE(ATHEROS, PCI_DEVICE_ID_ATHEROS_AR5212_IBM), ATH_LED(1, 1) },

Save and then move on to compiling the driver, make sure you execute this command in the directory of compat-wireless-2009-03-30/

make

Then confirm that all other drivers are unloaded:

make unload 

Install:

make install 

Load the module:

modprobe ath5k 

Check the wireless network

ifconfig wlan0 up; iwconfig  

Your Wi-Fi LED should be blinking happily ever after...

Now we add Madwifi to blacklist to completely forbid it:

echo "blacklist ath_pci" >> /etc/modprobe.d/blacklist; echo "blacklist ath_hal" >> /etc/modprobe.d/blacklist 


Load ath5k automatically everytime the system starts:

echo "ath5k" >> /etc/modules 

Then the whole process should be done. Happy wifi~

If you want to remove ath5k, change directory to the directory compat-wireless-2009-03-30/

sudo make uninstall 

Unload ath5k:

sudo rmmod ath5k 

remove ath5k from /etc/modules and restart.

Network connection after suspend/resume

Networking may not work after a suspend or resume operation, this is because of the ath_pci driver and can be worked around by creating the file /etc/pm/config.d/madwifi and adding the single line

SUSPEND_MODULES=ath_pci

which causes the driver to be unloaded on suspend and reloaded on resume.

Fingerprint Reader with ThinkFinger

Here are the general instruction on how to enable the fingerprint reader with ThinkFinger Add the PPA repositories to your source.list (/etc/apt/source.list):

deb http://ppa.launchpad.net/jon-oberheide/ubuntu intrepid main
deb-src http://ppa.launchpad.net/jon-oberheide/ubuntu intrepid main

Update installer:

$ sudo apt-get update

And install:

$ sudo apt-get install thinkfinger-tools

From: Ubuntu 8.10 Intrepid Ibex - ThinkFinger Fingerprint Reader

NOTE: Just the above didn't worked for me. This did worked like a charm. --Lunatico 22:53, 18 December 2008 (CET)

Emulate Wheel (Middle-click scrolling)

Michael Vogt described how to get middle-click scrolling to work again in Intrepid. Xorg.conf is not used to configure mice and keyboards anymore, but evdev is. This makes the configuration of middle-click scrolling a little bit different than previous versions of Ubuntu. In terminal:

sudo gedit /etc/hal/fdi/policy/mouse-wheel.fdi

Past and save the following code, which will give vertical wheel emulation only:

<match key="info.product" string="TPPS/2 IBM TrackPoint">
 <merge key="input.x11_options.EmulateWheel" type="string">true</merge>
 <merge key="input.x11_options.EmulateWheelButton" type="string">2</merge>
 <merge key="input.x11_options.ZAxsisMapping" type="string">4 5</merge>
 <merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>
</match>

There is another method to get horizontal scrolling as well, but I don't think it worked for me.

Enabling touchpad on/off key (fn-f8)

The procedure shown here for T500 also works for T61.

Suspend/Hibernate

Nvidia drivers

One of the many problems associated with the ThinkPad *61 series and nvidia is the suspend/hibernate feature being broken.

If you have such a problem then try this fix.

First of all make sure that you use nvidia drivers. System -> Administration -> Hardware drivers and there the activate the latest one.

Then create file /etc/hal/fdi/information/lenovo.fdi

With contents:

<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
  <device>
    <match key="system.hardware.vendor" string="LENOVO">
      <!-- Ubuntu default settings: good for nvidia driver -->
      <merge key="power_management.quirk.s3_mode" type="bool">true</merge>
      <merge key="power_management.quirk.s3_bios" type="bool">false</merge>
      <merge key="power_management.quirk.save_pci" type="bool">true</merge>
    </match>
  </device>
</deviceinfo>

Reboot and check suspend and hibernation.

Update and success 1 March 2009 I didn't have success with above alone. After editing loads of hal files I cam across a suggestion that early versions of the nvidia 180 drivers dont do suspend/resume. It was also said that from 180.25 on they worked. So I manually upgraded to the using the documentation on the Ubuntu wiki - but basically it's a matter of removing anything that was installed by ubuntu (like getting rid of /lib/modules/2.6.27-11-generic/updates/dkms/nvidia.ko) and then running the nvidia installer, rebooting and you have the newer version - in my case 180.29. Now suspend to ram works!


Nvidia driver upgrade to latest version (180.29 currently)

If you want to upgrade to latest version, follow these instructions: http://adammichaelroach.com/blog/021809/installing-nvidia-18029-drivers-intrepid

GDM Startup problem with Nvidia 177 or 180 driver versions

There's a bug in the driver so that the driver hangs for 30 seconds after logout (in restart X server): http://www.nvnews.net/vbulletin/showthread.php?t=125286

Workaround: increase GdmXserverTimeout to 60. Modify /etc/gdm/gdm.conf

line 232: GdmXserverTimeout=60

More information in the Ubuntu bug report: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-177/+bug/258357

Nvidia performance (Firefox is very slow) and Xorg memory consumption problem

Firefox and X.org will stall with these error messages in the log file:

[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
[mi] mieqEnequeue: out-of-order valuator event; dropping.

For example http://grails.org website stalls Firefox and X.org.

I've added these settings to xorg.conf. The GDM Startup problem went away too.

Section "ServerFlags"
        Option  "Xinerama" "0"
        Option "PixmapCacheSize" "1000000"
        Option "AllowSHMPixmaps" "0"
        Option "PixmapCache" "1"
        Option "PixmapCacheRoundSizeKB" "1024"
        Option "InitialPixmapPlacement" "2" 
        Option "GlyphCache" "1"
EndSection

I added did this from the command line:

nvidia-settings -a InitialPixmapPlacement=2 -a GlyphCache=1

more information: http://www.nvnews.net/vbulletin/showthread.php?t=118088 https://bugs.launchpad.net/ubuntu/+source/firefox-3.0/+bug/223238 https://bugs.launchpad.net/ubuntu/+source/firefox-3.0/+bug/190228 https://bugs.launchpad.net/firefox/+bug/207454

/etc/X11/xorg.conf settings with support for beamer
Section "Monitor"
        Identifier      "Configured Monitor"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Monitor         "Configured Monitor"
        Device          "Configured Video Device"
        Option "ConnectedMonitor" "DFP-0,CRT-0"
        Option "UseDisplayDevice" "DFP-0,CRT-0"
        Option "TwinView" "true"
        Option "TwinViewOrientation" "Clone"
        Option "TwinViewXineramaInfoOrder" "DFP-0,CRT-0"
        Option "MonitorLayout" "LFP,LFP+CRT"
        Option "metamodes" "DFP-0: 1680x1050 +0+0, CRT-0: NULL; DFP-0: 1024x768 +0+0, CRT-0: 1024x768 +0+0; DFP-0: 1280x1024 +0+0, CRT-0: 1280x1024 +0+0; DFP-0: 1024x768 +0+0, CRT-0: NULL"
        Option "SecondMonitorHorizSync" "31-82" # 15,75-91,1
        Option "SecondMonitorVertRefresh" "56-76" # 43-85
        DefaultDepth    24
EndSection

Section "Module"
        Load    "glx"
EndSection

Section "Device"
        Identifier      "Configured Video Device"
        Option  "ModeValidation"        "CRT-0: NoEdidModes, NoHorizSyncCheck, NoVertRefreshCheck"
        Driver  "nvidia"
        Option  "NoLogo"        "True"
EndSection

Section "ServerFlags"
        Option  "Xinerama" "0"
        Option "PixmapCacheSize" "1000000"
        Option "AllowSHMPixmaps" "0"
        Option "PixmapCache" "1"
        Option "PixmapCacheRoundSizeKB" "1024"
        Option "InitialPixmapPlacement" "2" 
        Option "GlyphCache" "1"
EndSection

Use "NVidia X Server Settings" (nvidia-settings) application to configure the external monitor (refresh rate & resolution). xrandr will stall, don't use it. Remove possible " Option "AllowEmptyInput" "false"" line. In Ubuntu 9.04 Jaunty Jackalope it will cause duplicate/triple key events when you press a key once.