Lenovo Thinkpad T61p

Information
The configuration below has been tested with a Lenovo ThinkPad T61p Type: 6460 Model: D8G using BIOS version 2.29-1.08 and using Gentoo Linux 2010.0-r1 - Kernel 2.6.39-gentoo-r3 on the amd64 (x86_64) architecture. Update: 25-09-2011 Updated version information and the system was tested with a new BIOS and kernel and removed the warning regarding the requirement of using the ~arch version of cpufreqd. Update: 22-08-2010 Updated version information and the system was tested with a new BIOS and kernel. Update: 11-04-2010 Extensively tested with an updated kernel and added the UPEK Fingerprint Reader Device test results. Update: 16-08-2009 Added a solution to get the TouchPad and TrackPoint working properly on xorg-x11-1.5 or later. Update: 16-08-2009 Added a solution for the long delays some people were experiencing while starting xorg-x11. Update: 16-08-2009 Added a way to configure xorg-x11 with custom resolutions without using a custom EDID file.

Unable to get the desired resolutions with the Lenovo ThinkPad LCD Panel
After examining the EDID, it appears that Lenovo shipped some of the ThinkPad R and T TFT Screens with an incorrect EDID. The problem seems to occur when using ThinkPads from the R61 or T61 serie with a WSXGA screen or better (screens that support resolutions higher than 1280x800; e.g. 1440x900 1680x1050 and 1920x1200) screen. So this is a Laptop (and not a graphical) related bug. To be able to get the desired resolutions you need to supply a custom EDID file to the NVIDIA driver This can be done by adding the following line to the "Device" section in the: /etc/X11.xorg.conf file: Option   "CustomEDID"    "DFP-0:/etc/X11/LEN0.edid"

Now all you need is a custom EDID. This can done using an EDID designer, or by using the following EDID. The EDID below should give you access to most common widescreen resolutions (1920x1200, 1680x1050, 1440x900 and 1280x800).

You can get the custom EDID (for a LG-Philips LP154WU1 15.4" WUXGA (1920x1200) TFT LCD Panel) by clicking here (use right-click -> "Save Link As...")

Update:The EDID on this page is made for the LG-Philips LP154WU1 15.4" WUXGA (1920x1200) TFT LCD Panel. It is NOT recommended to use this EDID on Laptops that have another TFT screen!

Update 2 (11-04-2010):Using an updated nvidia-driver the driver adds a few default resolutions (640x480, 800x600, 1024x768 and 1280x1024)

Unable to get the desired resolutions with the Lenovo ThinkPad LCD Panel
Next to altering the EDID you can also edit your xorg-x11 configuration file and tell xorg-x11 to ignore the values being read from EDID. To do so you will need to add some lines to your /etc/X11/xorg.conf file (Tested with xorg-server-1.5.3-r6).

First of all you will need to add the lines with the desired resolutions to the "Monitor" section. See the example lines below (use gtf on the cli to calculate your desired resolutions).

Secondly you will need to tell xorg-x11 to ignore the EDID values and mode validation used by xorg-x11. Do so by adding the following lines to your screen section:

Finally you need to tell xorg-x11 on which depths the resolutions should be used. Do so by adding the following line to each of the the SubSection "Display" (Using your own custom resolutions ofcourse ;-)):

Suspending to RAM works, but waking up doesn't work and only shows a black / blank screen
This seems to be a bug related to the HAL configuration. To fix this issue you need to edit:

Change:

to:

for your specific laptop type (use the search function to find it).

The Lenovo UltraNav (IBM TrackPoint and Synaptics TouchPad) don't get along in X.org < 1.5
To solve this issue you need to make some changes to your file:

First off you need to add some InputDevices to the InputDevice section: xorg.conf

The next step is to tell Xorg what pointers to use for your default screen This can be done by telling the Xorg server that you've got two core pointers. This can be done by editing the "ServerLayout" section: xorg.conf

Scrolling does not work with Lenovo UltraNav (IBM TrackPoint and Synaptics TouchPad) in X.org >= 1.5
In x.org versions >= 1.5 they deprecated the old style configuration and switched to HAL for the autodetection of hardware. Unfortunately this does not fully work with the The Lenovo UltraNav. To solve this issue you need to create 2 configuration files and place them in /etc/hal/fdi/policy. One for the IBM TrackPoint and one for the Synaptics TouchPad

The following configuration will make your TouchPad function properly again: 10-input-touchpad.fdi

The following configuration will make your TrackPoint function properly again: 10-input-trackpoint.fdi

Getting xorg-server working with version >= 1.8
The xorg-server file still isn't working out of the box in xorg-server-1.10. There is still some minor configuration that needs to be done to get it working properly. See the code below to get it working properly. (The reason this code has been posted is because it isn't documented in the Gentoo NVIDIA configuration guide.).

/etc/X11/xorg.conf

The Lenovo UltraNav (IBM TrackPoint and Synaptics TouchPad) don't fully work in X.org >= 1.8
In xorg-x11 1.8 xorg.conf has moved to /usr/share/X11/xorg/conf.d/

Scrolling with the TouchPad works out of the box in xorg-x11 1.10. But to get scrolling to work with the IBM TrackPoint some minor configuration is needed. This can be done by creating a new file 00-lenovo-quirks.conf and adding the following configuration to the top of the file specified in the next code section:

/usr/share/X11/xorg/conf.d/00-lenovo-quirks.conf

The mouse is constantly centered in X.org >= 1.8
This is caused by the Lenovo ThinkPad HDAPS Accelerometer device being detected as an input device. Add the following configuration to the top of "/usr/share/X11/xorg/conf.d/00-lenovo-quirks.conf".

/usr/share/X11/xorg/conf.d/00-lenovo-quirks.conf

This basically tells Xorg to ignore the ThinkPad HDAPS device, this way the mouse won't be constantly centered anymore.

Restarting xorg-x11 takes a very long time
This issue is resolved by updating to the latest firmware (2.26-1.08), using xorg-x11 >= 1.50 and nvidia-drivers >= 180.60

Characters and fonts are huge.
This issue is because the EDID also misdetects and miscalculates the DPI. To solve this issue add the following lines to your "Screen" section in :