<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Andy987s</id>
	<title>ThinkWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Andy987s"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Andy987s"/>
	<updated>2026-05-01T13:13:23Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Gentoo_2007.0_on_a_ThinkPad_R61&amp;diff=38128</id>
		<title>Installing Gentoo 2007.0 on a ThinkPad R61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Gentoo_2007.0_on_a_ThinkPad_R61&amp;diff=38128"/>
		<updated>2008-07-04T16:27:38Z</updated>

		<summary type="html">&lt;p&gt;Andy987s: /* Graphics: NVIDIA Quadro NVS 140M */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Model ==&lt;br /&gt;
Lenovo Thinkpad {{R61}} 7743-Y1B&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
This installation instruction describes the steps after a Gentoo 2007.0 base installation. &lt;br /&gt;
Please read the gentoo handbook for installation instructions&lt;br /&gt;
&lt;br /&gt;
====Working:====&lt;br /&gt;
&lt;br /&gt;
* Keyboard, UltraNav input (Touchpad and NavPoint) &lt;br /&gt;
* Drives&lt;br /&gt;
* X11 with nVidia including acceleration&lt;br /&gt;
* Network, wireless network and bluetooth &lt;br /&gt;
* Sound&lt;br /&gt;
* Suspend to RAM &lt;br /&gt;
* Suspend to Disk (Hibernate)&lt;br /&gt;
* ThinkLight&lt;br /&gt;
* PCMCIA &lt;br /&gt;
* ACPI (Battery, CPU Frequency, Fan, Temperature, ...) &lt;br /&gt;
* Fingerprint scanner (includes login and screen lock) &lt;br /&gt;
* Fn Key combinations&lt;br /&gt;
* Hot swapping of optical drive (UltraBay) &lt;br /&gt;
* HDD Acceleration Meter (can be used as an input device)  &lt;br /&gt;
* Harddisk protection (kernel patched with [http://www.fuchsnet.ch/files/hdaps-2.6.24.patch this])&lt;br /&gt;
&lt;br /&gt;
====Not tested:====&lt;br /&gt;
&lt;br /&gt;
* Firewire (should work as it is recognized, no devices for testing)&lt;br /&gt;
* Express Card Slot (should work, no devices for testing) &lt;br /&gt;
* Docking Station (should work according to several sources, no devices for testing)&lt;br /&gt;
&lt;br /&gt;
== Graphics: NVIDIA Quadro NVS 140M ==&lt;br /&gt;
&lt;br /&gt;
To install and configure the nVidia driver, just emerge nvidia-driver. &lt;br /&gt;
Tested with nvidia-driver-100.14.19 up to 169.12, everything works fine, games run smooth. &lt;br /&gt;
&lt;br /&gt;
Framebuffer works fine with vga=869 which will set the resolution to 1440x900. &lt;br /&gt;
hwinfo --framebuffer  displays all supported resolutions.  &lt;br /&gt;
&lt;br /&gt;
The brightness can be changed with newer nvidia drivers (&amp;gt;=169.04)&lt;br /&gt;
Does not work with older drivers, only known workaround&lt;br /&gt;
is to either use vesa / nv driver or to change the&lt;br /&gt;
brightness on a vt.&lt;br /&gt;
&lt;br /&gt;
Using 169.12 or newer is recommended, as brightness control works there and some powermizer issues, which caused bad perfomance in applications like compiz-fusion, had been fixed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Performance of the card depends heavy on powermizer &lt;br /&gt;
and some nvidia settings. &lt;br /&gt;
&lt;br /&gt;
I recommend you read my [[Installing_Gentoo_2007.0_on_a_ThinkPad_R61#xorg.conf|Xorg.conf]],&lt;br /&gt;
put the following settings in an autostart&lt;br /&gt;
&lt;br /&gt;
nvidia-settings -a InitialPixmapPlacement=1 -a GlyphCache=1 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
and use this script: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
while true; do&lt;br /&gt;
    &lt;br /&gt;
    powerstate=`cat /proc/acpi/ac_adapter/AC/state | awk '{print $2}'`&lt;br /&gt;
    &lt;br /&gt;
    if [ $powerstate = &amp;quot;on-line&amp;quot;  ]; then&lt;br /&gt;
       nvidia-settings -q all &amp;gt; /dev/null&lt;br /&gt;
    fi&lt;br /&gt;
    sleep 25;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which forces powermizer to stay on level 2 while your thinkpad is on AC power, not battery. &lt;br /&gt;
(You can remove the if to keep it on level 2 even on battery, but this consume more power)&lt;br /&gt;
&lt;br /&gt;
== Sound: AD1984 ==&lt;br /&gt;
Did not work with older Versions of ALSA driver, works fine with ALSA 1.0.15 and should work&lt;br /&gt;
with ALSA 1.0.14 as well. The in-kernel ALSA works since 2.6.23. &lt;br /&gt;
&lt;br /&gt;
The mute button is hardwired and works, the volume up and volume down buttons &lt;br /&gt;
work as well but you need to configure them first. You can use xmodmap to bind a key to them and then either bind a amixer command to them, or set them as hotkeys in your mixer application (kmix, gnome-mixer, ...) &lt;br /&gt;
Please note that some mixer applications take the wrong mixer (the microphone) as the default, so you have to change the default / primary mixer in order to use things like kmilo. &lt;br /&gt;
&lt;br /&gt;
Note: After muting you have to press a volume up or down button to unmute, &lt;br /&gt;
and the mute status is not displayed in any mixer application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note for Kernel 2.6.24:'''&lt;br /&gt;
Due to changes in thinkpad acpi the mute button does not longer work out of the box, &lt;br /&gt;
but it does generate a key event. So you have to bind it to a script which mutes&lt;br /&gt;
the headphone and speaker via amixer toggle &amp;lt;mixer&amp;gt;. &lt;br /&gt;
This is a known problem to the thinkpad-acpi developers and probably will&lt;br /&gt;
be resolved in the near future. &lt;br /&gt;
&lt;br /&gt;
I recommend using alsa-drivers 1.0.16, as there is a new master mixer, &lt;br /&gt;
which has mute capabilities to mute headphones and speaker. &lt;br /&gt;
So you can either bind the key in a mixer application or you only have&lt;br /&gt;
to use one amixer command.&lt;br /&gt;
&lt;br /&gt;
== Network: Intel E1000 NIC, IPW4965abgn WNIC, Bluetooth== &lt;br /&gt;
&lt;br /&gt;
The integrated e1000 LAN NIC works out of the box. &lt;br /&gt;
&lt;br /&gt;
For wireless you have to unmask and emerge the iwlwifi package &lt;br /&gt;
with the ipw4965 USEFlag enabled. &lt;br /&gt;
&lt;br /&gt;
Don't forget that the interface (wlan0) has to be set as up&lt;br /&gt;
(ifconfig wlan0 up) before scanning and associating works.&lt;br /&gt;
&lt;br /&gt;
Bluetooth works out of the box with blueZ.&lt;br /&gt;
You can disable / enable bluetooth via proc, &lt;br /&gt;
with a script similar to this one: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;bash&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
bluetooth=`head -n 1 /proc/acpi/ibm/bluetooth | awk '{print $2}'`&lt;br /&gt;
case &amp;quot;$bluetooth&amp;quot; in&lt;br /&gt;
    disabled)&lt;br /&gt;
        echo &amp;quot;enable&amp;quot; &amp;gt; /proc/acpi/ibm/bluetooth&lt;br /&gt;
	;;&lt;br /&gt;
    enabled)&lt;br /&gt;
        echo &amp;quot;disable&amp;quot; &amp;gt; /proc/acpi/ibm/bluetooth&lt;br /&gt;
        ;;&lt;br /&gt;
esac&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or directly with the proc interface. This script helps you&lt;br /&gt;
to bind it to the Fn+F5 key combination. &lt;br /&gt;
&lt;br /&gt;
Note that the hardware killswitch on the front works as well, &lt;br /&gt;
but disables both bluetooth and WLAN&lt;br /&gt;
&lt;br /&gt;
If you desperately want the wireless LED to work you can use &lt;br /&gt;
[http://bughost.org/bugzilla/attachment.cgi?id=1263 this] patch for a 2.6.24 kernel. &lt;br /&gt;
Make sure to enable LED Triggers and LED groups in your kernel configuration, &lt;br /&gt;
then there is a new option in the iwlwifi submenu. Works here, however, &lt;br /&gt;
it doesn't blink on activity as it would with windows.&lt;br /&gt;
&lt;br /&gt;
== Ports: PCMCIA, USB, IEEE 1394 Firewire == &lt;br /&gt;
&lt;br /&gt;
PCMCIA port works out of the box, tested with an audigy pcmcia. &lt;br /&gt;
I have no express slot cards available for testing. &lt;br /&gt;
&lt;br /&gt;
The left hand usb ports generate an IRQ nobody cared error from time to time, &lt;br /&gt;
Try to boot with irqpoll in your kernel line as suggested. &lt;br /&gt;
&lt;br /&gt;
A BIOS Update might help as well, it is recommended to use the&lt;br /&gt;
ThinkVantage Software Updater for windows for a BIOS Update. &lt;br /&gt;
The error disappeared here and USB works fine. &lt;br /&gt;
&lt;br /&gt;
Firewire is untested but should work, as the port is &lt;br /&gt;
recognized and the module loaded.&lt;br /&gt;
&lt;br /&gt;
== Drives ==&lt;br /&gt;
&lt;br /&gt;
The optical drive and hard drive work out of the box, &lt;br /&gt;
with AHCI disabled or enabled in the BIOS. &lt;br /&gt;
&lt;br /&gt;
If you run a dualboot system with windows &amp;lt;= 5.1 (XP) you probably want to disable AHCI anyway, &lt;br /&gt;
at least until you have installed the ahci driver for Windows.&lt;br /&gt;
&lt;br /&gt;
== Input ==&lt;br /&gt;
&lt;br /&gt;
=== TouchPad ===&lt;br /&gt;
Works out of the box here, with scrolling. &lt;br /&gt;
Have a look at my Xorg.conf section at the end&lt;br /&gt;
&lt;br /&gt;
Can be disabled via synclient when using the synaptics driver, &lt;br /&gt;
a possible solution is this script: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;bash&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
touchpad=`synclient -l | grep TouchpadOff | awk '{print $3}'`&lt;br /&gt;
case &amp;quot;$touchpad&amp;quot; in&lt;br /&gt;
    1)&lt;br /&gt;
        synclient TouchpadOff=0;&lt;br /&gt;
	echo &amp;quot;Touchpad Enabled&amp;quot; | osd_cat -d 1 -c cyan --font=&amp;quot;-*-times-bold-r-*--34-240-*-*-p-*-*-*&amp;quot; -A center -p bottom&lt;br /&gt;
	;;&lt;br /&gt;
    0)&lt;br /&gt;
        synclient TouchpadOff=1;&lt;br /&gt;
	echo &amp;quot;Touchpad Disabled&amp;quot; | osd_cat -d 1 -c cyan --font=&amp;quot;-*-times-bold-r-*--34-240-*-*-p-*-*-*&amp;quot; -A center -p bottom&lt;br /&gt;
    ;;&lt;br /&gt;
esac&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which needs xosd to display the current state. &lt;br /&gt;
You can make it excecutable and map it to the fn+f8 button.&lt;br /&gt;
&lt;br /&gt;
=== Trackpoint ===&lt;br /&gt;
Works out of the box as well, with no scrolling however. &lt;br /&gt;
Can be configured via xorg.conf, I prefer using the middle button as mouse3. &lt;br /&gt;
&lt;br /&gt;
=== Keyboard ===&lt;br /&gt;
Works out of the box, most of the Fn Keys work. &lt;br /&gt;
&lt;br /&gt;
Hardwired:  Mute, Thinklight, Brightness &lt;br /&gt;
&lt;br /&gt;
Generates a keycode and can be configured: Volume Down, Volume Up, Fn+F2, Fn+F3, Fn+F4, Fn+F5, Fn+F7, Fn+F8, Fn+Arrows&lt;br /&gt;
&lt;br /&gt;
Does not generate a key event: Fn+F9, Fn+F12, Fn+Space&lt;br /&gt;
Those keys do produce an acpi event, so you can modifiy your&lt;br /&gt;
acpi configuration to bind them to commands.&lt;br /&gt;
&lt;br /&gt;
It is also possible to translate the acpi events to keyevents, have a look at the following configuration file: &lt;br /&gt;
&lt;br /&gt;
[[Installing_Gentoo_2007.0_on_a_ThinkPad_R61#default.sh_.28acpid.29|My example default.sh file for the missing keys is here]]&lt;br /&gt;
and there is a good, more complete howto&lt;br /&gt;
here: [http://gentoo-wiki.com/HARDWARE_Lenovo_Thinkpad_T61#Usage_of_acpid Gentoo Wiki]&lt;br /&gt;
&lt;br /&gt;
Try whether  echo &amp;quot;0xffffffff&amp;quot; &amp;gt; /proc/acpi/ibm/hotkey &lt;br /&gt;
enables additional fn+fx keys to produce a key event&lt;br /&gt;
instead of only an acpi event. &lt;br /&gt;
Take a look at the ibm-acpi section as well to do this on module load. &lt;br /&gt;
&lt;br /&gt;
== Suspend ==&lt;br /&gt;
Suspend to RAM worked out of the box here, echo 3 &amp;gt; /proc/acpi/sleep &lt;br /&gt;
puts the machine in suspend mode, opening it or pressing the power button wakes it up. &lt;br /&gt;
Worked with nvidia driver and in X11. All devices came back without problems, &lt;br /&gt;
wlan might have disconnected, but by using networkmanager, wicd or a good configuration&lt;br /&gt;
it should reconnect after waking up. Works here with wicd. &lt;br /&gt;
&lt;br /&gt;
Suspend to Disk is more complicated. &lt;br /&gt;
Emerge a tux on ice kernel and try the configuration file&lt;br /&gt;
linked at the end of this page. Disable intel-agp in the kernel. &lt;br /&gt;
Make sure to load the nvidia module with NVreg_NvAGP=1 option. &lt;br /&gt;
&lt;br /&gt;
This is my /etc/hibernate/common.conf  file. &lt;br /&gt;
Note that all options not mentioned here are commented (#) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verbosity 0&lt;br /&gt;
LogFile /var/log/hibernate.log&lt;br /&gt;
LogVerbosity 3&lt;br /&gt;
HibernateVT 11&lt;br /&gt;
Distribution gentoo&lt;br /&gt;
# XDisplay :0&lt;br /&gt;
&lt;br /&gt;
### clock&lt;br /&gt;
SaveClock restore-only&lt;br /&gt;
&lt;br /&gt;
### hardware_tweaks&lt;br /&gt;
IbmAcpi yes&lt;br /&gt;
FullSpeedCPU yes&lt;br /&gt;
&lt;br /&gt;
### modules&lt;br /&gt;
# UnloadBlacklistedModules yes&lt;br /&gt;
LoadModules auto&lt;br /&gt;
&lt;br /&gt;
### xhacks&lt;br /&gt;
SwitchToTextMode yes&lt;br /&gt;
UseDummyXServer yes&lt;br /&gt;
# DummyXServerConfig xorg-dummy.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the extra_pages_allowance might be too low. &lt;br /&gt;
In current TuxOnIce versions the option to raise this value&lt;br /&gt;
did not work anymore, that's why I put&lt;br /&gt;
&lt;br /&gt;
echo 1000 &amp;gt; /sys/power/tuxonice/extra_pages_allowance&lt;br /&gt;
&lt;br /&gt;
in my local.startup. &lt;br /&gt;
&lt;br /&gt;
You can get the correct value by trying to suspend&lt;br /&gt;
without it and reading /var/log/hibernate.log afterwards. &lt;br /&gt;
&lt;br /&gt;
The machine can now be suspended to disk with the hibernate command.&lt;br /&gt;
&lt;br /&gt;
== Integrated Fingerprint Reader ==&lt;br /&gt;
Emerge the thinkfinger package, add a user with the tf-tool. &lt;br /&gt;
Then you have to edit the /etc/pam.d/system-auth file by adding&lt;br /&gt;
&lt;br /&gt;
auth       sufficient   pam_thinkfinger.so&lt;br /&gt;
&lt;br /&gt;
between pam.unix and pam.env. &lt;br /&gt;
&lt;br /&gt;
Read the Gentoo-Wiki to use it with xscreensaver, &lt;br /&gt;
there is a good solution over [http://gentoo-wiki.com/HOWTO_Thinkfinger there]&lt;br /&gt;
&lt;br /&gt;
Note: kdm has problems with thinkfinger auth and might crash. &lt;br /&gt;
There are patches, but I didn't test them yet. gdm works fine here.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hard Drive Active Protection ==&lt;br /&gt;
&lt;br /&gt;
The integrated harddrive active protection&lt;br /&gt;
acceleration meter can be used as a joystick or &lt;br /&gt;
to get information about movements of your thinkpad. &lt;br /&gt;
&lt;br /&gt;
Emerge the hdapsd (which includes a kernel module&lt;br /&gt;
you have to load) which will generate a joystick&lt;br /&gt;
and an event device.&lt;br /&gt;
&lt;br /&gt;
It can be used for protecting your harddisk as well. &lt;br /&gt;
You first need to patch your kernel with [http://www.fuchsnet.ch/files/hdaps-2.6.24.patch this patch] and then rebuild it. Make sure to diable the kernel internal hdaps module, emerge hdapsd and tp_smapi with the hdaps flag enabled, rc-update add hdapsd boot and then reboot. &lt;br /&gt;
&lt;br /&gt;
When shaking your notebook you should receive a message via dmesg that the hdd head has been parked. &lt;br /&gt;
You can also use a frontend like khdaps. &lt;br /&gt;
&lt;br /&gt;
Heads will only be parked with this method. However, in some situations and with some disk there will be a full spindown, which should be avoided as this might damage your harddisk when used too much. &lt;br /&gt;
&lt;br /&gt;
== Thinklight ==&lt;br /&gt;
&lt;br /&gt;
The thinklight works out of the box with the&lt;br /&gt;
Fn+PgUp key, but it can be controlled as well via the proc interface. &lt;br /&gt;
&lt;br /&gt;
So you can write a nice script, which you can bind to events, &lt;br /&gt;
such as incoming emails, to let the light flash. &lt;br /&gt;
&lt;br /&gt;
A possible solution is this small script: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;bash&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&lt;br /&gt;
if [ -z &amp;quot;$1&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
	echo &amp;quot;IBM ThinkLight Control script.&amp;quot; &lt;br /&gt;
	echo &amp;quot;2007 by Christian \&amp;quot;Fuchs\&amp;quot; Loosli.&amp;quot;&lt;br /&gt;
	echo &amp;quot;&amp;quot;&lt;br /&gt;
	echo &amp;quot;usage: lightctl on | off | toggle | blink&amp;quot;&lt;br /&gt;
	echo &amp;quot;blink takes two arguments: times and time&amp;quot;&lt;br /&gt;
	echo &amp;quot;defaults (5 times, 0.5 seconds) are used if not specified&amp;quot;&lt;br /&gt;
&lt;br /&gt;
else &lt;br /&gt;
	if [ $1 = &amp;quot;on&amp;quot; ]&lt;br /&gt;
	then&lt;br /&gt;
    	       echo on &amp;gt; /proc/acpi/ibm/light&lt;br /&gt;
	fi&lt;br /&gt;
	if [ $1 = &amp;quot;off&amp;quot; ]&lt;br /&gt;
	then&lt;br /&gt;
   	       echo off &amp;gt; /proc/acpi/ibm/light&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
        if [ $1 = &amp;quot;toggle&amp;quot; ]&lt;br /&gt;
	then&lt;br /&gt;
		status=`cat /proc/acpi/ibm/light | grep status | awk '{print $2}'`&lt;br /&gt;
&lt;br /&gt;
		if [ $status = &amp;quot;on&amp;quot; ]&lt;br /&gt;
		then&lt;br /&gt;
			echo off &amp;gt; /proc/acpi/ibm/light&lt;br /&gt;
		else&lt;br /&gt;
			echo on &amp;gt; /proc/acpi/ibm/light&lt;br /&gt;
		fi&lt;br /&gt;
	fi&lt;br /&gt;
&lt;br /&gt;
	if [ $1 = &amp;quot;blink&amp;quot; ]&lt;br /&gt;
	then&lt;br /&gt;
&lt;br /&gt;
		times=$2&lt;br /&gt;
		time=$3&lt;br /&gt;
&lt;br /&gt;
		if [ -z &amp;quot;$2&amp;quot; ]&lt;br /&gt;
		then&lt;br /&gt;
			times=4 &lt;br /&gt;
		fi&lt;br /&gt;
&lt;br /&gt;
		if [ -z &amp;quot;$3&amp;quot; ]&lt;br /&gt;
		then&lt;br /&gt;
			time=0.5 &lt;br /&gt;
		fi&lt;br /&gt;
&lt;br /&gt;
    	        for i in `seq 1 $times`;&lt;br /&gt;
    	        do&lt;br /&gt;
    		        $0 toggle;&lt;br /&gt;
                        sleep $time;&lt;br /&gt;
                        $0 toggle;&lt;br /&gt;
                        sleep $time&lt;br /&gt;
    	        done    &lt;br /&gt;
	fi&lt;br /&gt;
fi&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/bash&amp;gt;&lt;br /&gt;
which can be called to let the light blink or switch it off or on. &lt;br /&gt;
The blink part is nice for setting to events such as incoming&lt;br /&gt;
messages or emails. &lt;br /&gt;
&lt;br /&gt;
There is a version slightly modified by a friend of mine&lt;br /&gt;
[http://www.fuchsnet.ch/files/thinklight.sh here] which has a lockfile and is slightly optimized. &lt;br /&gt;
&lt;br /&gt;
(note: the thinklight is a LED, so it should not care on &lt;br /&gt;
how fast and often you let it blink. But I am not responsible&lt;br /&gt;
if this script damages your thinklight. Use at own risk.&lt;br /&gt;
&lt;br /&gt;
== Power saving == &lt;br /&gt;
&lt;br /&gt;
First of all, turn off all things you are not using, &lt;br /&gt;
most of all bluetooth and W-LAN. &lt;br /&gt;
You can use the killswitch on the front, it works out of the box. &lt;br /&gt;
&lt;br /&gt;
You can use the application [http://www.lesswatts.org/projects/powertop/ powertop]&lt;br /&gt;
by Intel to look for processes which prevent the CPU from longer sleep states. &lt;br /&gt;
&lt;br /&gt;
It also gives you some recommendations on services to turn off. Do _not_ turn off the optical drive polling by HAL. &lt;br /&gt;
&lt;br /&gt;
Dimming the display also saves lots of power. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since 2.6.24 [[dynticks]] are available for x86_64. &lt;br /&gt;
&lt;br /&gt;
I managed to get powerconsumption down to: &lt;br /&gt;
&lt;br /&gt;
* 20W running normal with compiz, wlan &amp;amp; bluetooth enabled&lt;br /&gt;
&lt;br /&gt;
* 16.7W running a normal windowmanager&lt;br /&gt;
&lt;br /&gt;
* 14.5W with bluetooth and wlan disabled (killswitch) &lt;br /&gt;
&lt;br /&gt;
I had between 195 and 600 wakeups per second. &lt;br /&gt;
&lt;br /&gt;
Also hda-intel and s-ata power consumption was reduced in 2.6.24&lt;br /&gt;
&lt;br /&gt;
You can achieve about 2 - 3 hours of working time&lt;br /&gt;
(no compiling or other heavy CPU / GPU usage applications) &lt;br /&gt;
with the standard battery like this.&lt;br /&gt;
&lt;br /&gt;
== ibm-acpi == &lt;br /&gt;
&lt;br /&gt;
I have ibm-acpi configured as a module in my kernel, as I load it with&lt;br /&gt;
&lt;br /&gt;
options thinkpad_acpi hotkey=enable,0xffffffff brightness_enable=1 fan_control=1&lt;br /&gt;
&lt;br /&gt;
to enable brightness controll via /proc/acpi/ibm on newer kernels and fan control. &lt;br /&gt;
The hotkey=enable,&amp;lt;mask&amp;gt; option is used instead of writing to /proc/acpi/ibm/hotkey. &lt;br /&gt;
&lt;br /&gt;
The default file permissions in /proc/acpi/ibm/* do not grant write access for users. I created the group &amp;quot;ibm&amp;quot;, added my users to it and now I chown root:ibm and chmod 0774 the files in /proc/acpi/ibm/ on startup. If you don't want to do this you might use sudo sh -c &amp;quot;echo &amp;quot;foo&amp;quot; &amp;gt; /proc/acpi/ibm/whatever&amp;quot;, but you need to install sudo and modify your sudoers file.&lt;br /&gt;
&lt;br /&gt;
== Configuration Files ==&lt;br /&gt;
&lt;br /&gt;
=== xorg.conf ===&lt;br /&gt;
Note that I use the XFont Server, you might have &lt;br /&gt;
to change the font path. &lt;br /&gt;
&lt;br /&gt;
You also might want to change the keyboard layout. &lt;br /&gt;
&lt;br /&gt;
'&lt;br /&gt;
Note: in this configuration here nvidia wont read out&lt;br /&gt;
sane refresh and sync values out of your flat panel. &lt;br /&gt;
&lt;br /&gt;
In this configuration the modes given don't affect &lt;br /&gt;
the modes available and you will have all screen resolutions available,&lt;br /&gt;
but it might fail on other display devices. &lt;br /&gt;
&lt;br /&gt;
If you get a blank screen or strange refresh values, add # in front of the marked line to disable &lt;br /&gt;
this behaviour, so the nvidia driver will still read out sane resolutions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
	Identifier     &amp;quot;single head configuration&amp;quot;&lt;br /&gt;
	Screen         0 &amp;quot;Screen0&amp;quot; 0 0&lt;br /&gt;
        InputDevice    &amp;quot;Keyboard0&amp;quot; &amp;quot;CoreKeyboard&amp;quot;&lt;br /&gt;
	InputDevice    &amp;quot;Mouse0&amp;quot; &amp;quot;CorePointer&amp;quot; &lt;br /&gt;
        inputDevice    &amp;quot;Touchpad&amp;quot; &amp;quot;SendCoreEvents&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;Files&amp;quot;&lt;br /&gt;
	FontPath     &amp;quot;unix/:-1&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;Module&amp;quot;&lt;br /&gt;
	Load  &amp;quot;dbe&amp;quot;&lt;br /&gt;
	Load  &amp;quot;extmod&amp;quot;&lt;br /&gt;
	Load  &amp;quot;glx&amp;quot;&lt;br /&gt;
	Load  &amp;quot;freetype&amp;quot;&lt;br /&gt;
	Load  &amp;quot;type1&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
	Identifier  &amp;quot;Keyboard0&amp;quot;&lt;br /&gt;
	Driver      &amp;quot;kbd&amp;quot;&lt;br /&gt;
	Option	    &amp;quot;XkbModel&amp;quot; &amp;quot;pc102&amp;quot;&lt;br /&gt;
	Option	    &amp;quot;XkbLayout&amp;quot; &amp;quot;ch&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
## The following settings can be changed on the fly&lt;br /&gt;
## by using synclient. Note that shm has to be enabled for this. &lt;br /&gt;
## All options are documented in the synaptics driver documentation. &lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
    Identifier	&amp;quot;Touchpad&amp;quot;&lt;br /&gt;
    Driver	&amp;quot;synaptics&amp;quot;&lt;br /&gt;
    Option	&amp;quot;Protocol&amp;quot;	  &amp;quot;auto-dev&amp;quot;&lt;br /&gt;
    Option	&amp;quot;Device&amp;quot;	  &amp;quot;/dev/input/mouse0&amp;quot;&lt;br /&gt;
    Option	&amp;quot;Emulate3Buttons&amp;quot; &amp;quot;no&amp;quot;&lt;br /&gt;
    Option	&amp;quot;ZAxisMapping&amp;quot;	  &amp;quot;4 5&amp;quot;&lt;br /&gt;
    Option	&amp;quot;LeftEdge&amp;quot;	  &amp;quot;1700&amp;quot;&lt;br /&gt;
    Option	&amp;quot;RightEdge&amp;quot;	  &amp;quot;5300&amp;quot;&lt;br /&gt;
    Option	&amp;quot;TopEdge&amp;quot;	  &amp;quot;1700&amp;quot;&lt;br /&gt;
    Option	&amp;quot;BottomEdge&amp;quot;	  &amp;quot;4200&amp;quot;&lt;br /&gt;
    Option	&amp;quot;FingerLow&amp;quot;	  &amp;quot;25&amp;quot;&lt;br /&gt;
    Option	&amp;quot;FingerHigh&amp;quot;	  &amp;quot;30&amp;quot;&lt;br /&gt;
    Option	&amp;quot;MaxTapTime&amp;quot;	  &amp;quot;180&amp;quot;&lt;br /&gt;
    Option	&amp;quot;MaxTapMove&amp;quot;	  &amp;quot;220&amp;quot;&lt;br /&gt;
    Option	&amp;quot;VertScrollDelta&amp;quot; &amp;quot;100&amp;quot;&lt;br /&gt;
    Option	&amp;quot;MinSpeed&amp;quot;	  &amp;quot;0.02&amp;quot;&lt;br /&gt;
    Option	&amp;quot;MaxSpeed&amp;quot;	  &amp;quot;0.28&amp;quot;&lt;br /&gt;
    Option	&amp;quot;AccelFactor&amp;quot;	  &amp;quot;0.0010&amp;quot;&lt;br /&gt;
    Option	&amp;quot;SHMConfig&amp;quot;	  &amp;quot;on&amp;quot;&lt;br /&gt;
    Option	&amp;quot;UseSHM&amp;quot;	  &amp;quot;true&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
	Identifier  &amp;quot;Mouse0&amp;quot;&lt;br /&gt;
	Driver      &amp;quot;mouse&amp;quot;&lt;br /&gt;
	Option	    &amp;quot;Protocol&amp;quot; &amp;quot;ExplorerPS/2&amp;quot;&lt;br /&gt;
	Option	    &amp;quot;Device&amp;quot; &amp;quot;/dev/input/mice&amp;quot;&lt;br /&gt;
	Option	    &amp;quot;ZAxisMapping&amp;quot; &amp;quot;6 7&amp;quot;&lt;br /&gt;
	Option	    &amp;quot;buttons&amp;quot; &amp;quot;7&amp;quot;&lt;br /&gt;
	Option	    &amp;quot;Emulate3Buttons&amp;quot; &amp;quot;yes&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
	Identifier   &amp;quot;Monitor0&amp;quot;&lt;br /&gt;
	VendorName   &amp;quot;Lenovo&amp;quot;&lt;br /&gt;
	ModelName    &amp;quot;Lenovo R61 Flat Panel 1400x950&amp;quot;&lt;br /&gt;
	Option	     &amp;quot;DPMS&amp;quot;&lt;br /&gt;
	HorizSync    28.0 - 61.0&lt;br /&gt;
	VertRefresh  43.0 - 62.0&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
## Some of the following options are set by default in newer nvidia drivers&lt;br /&gt;
## are are kept for compatibility reasons. Please read the Appendix in the&lt;br /&gt;
## README of your current nvidia driver for further information&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;Device&amp;quot;&lt;br /&gt;
	Identifier  &amp;quot;Videocard0&amp;quot;&lt;br /&gt;
	Driver      &amp;quot;nvidia&amp;quot;&lt;br /&gt;
	VendorName  &amp;quot;NVIDIA&amp;quot;&lt;br /&gt;
	BoardName   &amp;quot;NVIDIA Quadro NVS 140M&amp;quot;&lt;br /&gt;
	Option 	    &amp;quot;Coolbits&amp;quot;                &amp;quot;1&amp;quot;&lt;br /&gt;
	Option      &amp;quot;AllowGLXWithComposite&amp;quot;   &amp;quot;true&amp;quot;&lt;br /&gt;
	Option      &amp;quot;RenderAccel&amp;quot;             &amp;quot;true&amp;quot;&lt;br /&gt;
	Option      &amp;quot;UseEvents&amp;quot;               &amp;quot;false&amp;quot;&lt;br /&gt;
	Option      &amp;quot;TripleBuffer&amp;quot;            &amp;quot;1&amp;quot;&lt;br /&gt;
	Option      &amp;quot;DamageEvents&amp;quot;            &amp;quot;1&amp;quot;&lt;br /&gt;
	Option      &amp;quot;BackingStore&amp;quot;            &amp;quot;1&amp;quot;&lt;br /&gt;
	Option      &amp;quot;RandRRotation&amp;quot;           &amp;quot;true&amp;quot;&lt;br /&gt;
        Option      &amp;quot;NvAGP&amp;quot;                   &amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        ## The following option enables using frequencies not specified in the EDID.&lt;br /&gt;
        ## In this case several additional screen resolutions will be possible. &lt;br /&gt;
        ## Make sure that HorizSync and VertRefresh fit to your monitor, &lt;br /&gt;
        ## As nvidia wont read out allowed values anymore &lt;br /&gt;
&lt;br /&gt;
       Option      &amp;quot;UseEdidFreqs&amp;quot;             &amp;quot;false&amp;quot;&lt;br /&gt;
&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
	Identifier   &amp;quot;Screen0&amp;quot;&lt;br /&gt;
	Device       &amp;quot;Videocard0&amp;quot;&lt;br /&gt;
	Monitor      &amp;quot;Monitor0&amp;quot;&lt;br /&gt;
	DefaultDepth  24&lt;br /&gt;
	Option       &amp;quot;AddARGBGLXVisuals&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
	Option	     &amp;quot;UseCompositeWrapper&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
	SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
		Viewport  0 0&lt;br /&gt;
		Depth     24&lt;br /&gt;
		Modes    &amp;quot;1440x900&amp;quot; &amp;quot;1024x768&amp;quot; &amp;quot;800x600&amp;quot; &lt;br /&gt;
	EndSubSection&lt;br /&gt;
	SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
		Viewport 0 0&lt;br /&gt;
		Depth 16&lt;br /&gt;
		Modes	&amp;quot;1440x900&amp;quot; &amp;quot;1024x768&amp;quot; &amp;quot;800x600&amp;quot; &lt;br /&gt;
	EndSubSection&lt;br /&gt;
	        SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
	        Viewport 0 0&lt;br /&gt;
		Depth 8&lt;br /&gt;
		Modes   &amp;quot;1440x900&amp;quot; &amp;quot;1024x768&amp;quot; &amp;quot;800x600&amp;quot; &lt;br /&gt;
	EndSubSection&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;Extensions&amp;quot;&lt;br /&gt;
    Option &amp;quot;Composite&amp;quot; &amp;quot;Enable&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;DRI&amp;quot;&lt;br /&gt;
	Group        0&lt;br /&gt;
	Mode         0666&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== xmodmap ===&lt;br /&gt;
&lt;br /&gt;
Note: you have to xmodmap /path/to/file &lt;br /&gt;
this file in your autostart. You might have different keycodes, use the application xev to display them. &lt;br /&gt;
It is highly recommended to use the XF86foobar buttons, as some applications will be preconfigured to them. &lt;br /&gt;
If you want to map them by yourself use Fxx, while xx &amp;gt; 12. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
! additional Arrow keys&lt;br /&gt;
&lt;br /&gt;
keycode 233 = XF86Forward&lt;br /&gt;
keycode 234 = XF86Back&lt;br /&gt;
&lt;br /&gt;
! Fn+arrow keys&lt;br /&gt;
&lt;br /&gt;
keycode 144 = XF86AudioPrev&lt;br /&gt;
keycode 162 = XF86AudioPlay&lt;br /&gt;
keycode 153 = XF86AudioNext&lt;br /&gt;
keycode 164 = XF86AudioStop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
! Fn+Fx keys  F2, F3, F4, F5, F7, F8, F9, F12  in this order&lt;br /&gt;
&lt;br /&gt;
keycode 146 = XF86ScreenSaver&lt;br /&gt;
keycode 241 = XF86Display&lt;br /&gt;
keycode 223 = XF86Sleep&lt;br /&gt;
keycode 243 = XF86Send&lt;br /&gt;
keycode 214 = XF86Video&lt;br /&gt;
keycode 196 = XF86iTouch&lt;br /&gt;
keycode 197 = XF86Eject&lt;br /&gt;
keycode 165 = XF86Standby&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
! Space bar&lt;br /&gt;
&lt;br /&gt;
keycode 148 = XF86ZoomIn&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
! volume control (mute is hardwired)&lt;br /&gt;
&lt;br /&gt;
keycode 174 = XF86AudioLowerVolume&lt;br /&gt;
keycode 176 = XF86AudioRaiseVolume&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== default.sh (acpid) ===&lt;br /&gt;
&lt;br /&gt;
This is my slightly modified default.sh file to handle ibm hotbutton events. &lt;br /&gt;
Of course you can add the other buttons as well, however, as they produce key events there are easier ways for configuring the actions. However, an acpi solution is window manager / X independent. &lt;br /&gt;
&lt;br /&gt;
You can read out the key events, as they might differ on your model, &lt;br /&gt;
with the acpi_listen application. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;bash&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
# /etc/acpi/default.sh&lt;br /&gt;
&lt;br /&gt;
set $*&lt;br /&gt;
&lt;br /&gt;
group=${1%%/*}&lt;br /&gt;
action=${1#*/}&lt;br /&gt;
device=$2&lt;br /&gt;
id=$3&lt;br /&gt;
value=$4&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$group&amp;quot; = &amp;quot;ibm&amp;quot; ]; then&lt;br /&gt;
	key=&amp;quot;$2&amp;quot;\ &amp;quot;$3&amp;quot;\ &amp;quot;$4&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
log_unhandled() {&lt;br /&gt;
	logger &amp;quot;ACPI event unhandled: $*&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$group&amp;quot; in&lt;br /&gt;
	button)&lt;br /&gt;
		case &amp;quot;$action&amp;quot; in&lt;br /&gt;
			power)&lt;br /&gt;
				/sbin/init 0&lt;br /&gt;
				;;&lt;br /&gt;
&lt;br /&gt;
			*)	log_unhandled $* &lt;br /&gt;
                                ;;&lt;br /&gt;
		esac&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	ibm)&lt;br /&gt;
		case &amp;quot;$action&amp;quot; in&lt;br /&gt;
			hotkey)&lt;br /&gt;
				case &amp;quot;$key&amp;quot; in&lt;br /&gt;
					&amp;quot;HKEY 00000080 00001008&amp;quot;)&lt;br /&gt;
						/usr/bin/acpi_fakekey 220	&lt;br /&gt;
						;;&lt;br /&gt;
					&amp;quot;HKEY 00000080 00001009&amp;quot;)&lt;br /&gt;
						/usr/bin/acpi_fakekey 221&lt;br /&gt;
						;;	&lt;br /&gt;
					&amp;quot;HKEY 00000080 00001014&amp;quot;)&lt;br /&gt;
						/usr/bin/acpi_fakekey 222&lt;br /&gt;
						;;		&lt;br /&gt;
					*)&lt;br /&gt;
						logger &amp;quot;acpid: $group/$action $key is not defined&amp;quot;&lt;br /&gt;
						;;&lt;br /&gt;
				&lt;br /&gt;
				esac&lt;br /&gt;
				;;&lt;br /&gt;
			*)	&lt;br /&gt;
                        ;;	&lt;br /&gt;
		esac&lt;br /&gt;
		;;&lt;br /&gt;
&lt;br /&gt;
	*)	log_unhandled $* &lt;br /&gt;
                ;;&lt;br /&gt;
esac&lt;br /&gt;
&amp;lt;/bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that I use acpi_fakekey to translate acpi to key events.&lt;br /&gt;
&lt;br /&gt;
=== ACPI Fakekey === &lt;br /&gt;
&lt;br /&gt;
With this nice app you can translate acpi events into key codes. &lt;br /&gt;
&lt;br /&gt;
I borrowed it from gentoos acpi-support, which borrowed it from Ubuntu people. &lt;br /&gt;
&lt;br /&gt;
You can it out of the sunrise overlay, I recommend only getting the&lt;br /&gt;
acpi-fakekey.c file and compile it. &lt;br /&gt;
&lt;br /&gt;
For the lazy guys: &lt;br /&gt;
&lt;br /&gt;
There is an explanation and the source code, &lt;br /&gt;
which I wont copy and paste here, on this page: &lt;br /&gt;
&lt;br /&gt;
[http://gentoo-wiki.com/HARDWARE_Asus_F3SV#ACPI_.26_Hotkeys Gentoo Wiki on Hotkeys]&lt;br /&gt;
&lt;br /&gt;
I use this in the file above to generate keycodes for Fn+F8, Fn+F9 and Fn+Space.&lt;br /&gt;
&lt;br /&gt;
=== Kernel configuration ===&lt;br /&gt;
&lt;br /&gt;
[http://www.fuchsnet.ch/files/config 2.6.24 TOI Kernel config]&lt;br /&gt;
&lt;br /&gt;
Please note: this configuration works for my setup, &lt;br /&gt;
it might not for yours.&lt;br /&gt;
&lt;br /&gt;
I use ext3 as my file system, make sure to compile in the support for the file system you are using, at least for the root partition. &lt;br /&gt;
&lt;br /&gt;
I also use external ALSA drivers. &lt;br /&gt;
But I use lots of stuff you probably will never use, such as several gamepads, &lt;br /&gt;
acl support for ext3, some ipv4 / ipv6 filters ... &lt;br /&gt;
You might want to remove those. &lt;br /&gt;
&lt;br /&gt;
This is the configuration for a 2.6.24 Kernel, it differs a little bit from the configuration of earlier kernels.&lt;br /&gt;
&lt;br /&gt;
== Unstable Kernels and updates ==&lt;br /&gt;
&lt;br /&gt;
Recently, 2.6.25-tuxonice hit portage, ~masked. &lt;br /&gt;
If you'd like to to update there are several important changes. &lt;br /&gt;
&lt;br /&gt;
1) you'll need two new hdaps patches, [http://www.fuchsnet.ch/files/tp/hdaps-2.6.25-patch-1.diff here] and [http://www.fuchsnet.ch/files/tp/hdaps-2.6.25-patch-2.diff here]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) you might want to patch iwlwifi to the newest version, with working LEDs. &lt;br /&gt;
A patch can be found [http://www.fuchsnet.ch/files/tp/linux-2.6.25-iwl-merge.patch.bz2 here], original from [http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1209 here]&lt;br /&gt;
&lt;br /&gt;
Please note: I can't guarantee that the patches above will work, &lt;br /&gt;
nor I can guarantee that they don't screw your system. &lt;br /&gt;
They work fine here, but might not on your computer. &lt;br /&gt;
I am not responsible for whatever happens when you use them. &lt;br /&gt;
&lt;br /&gt;
Those patches can be applied with patch -p1 &amp;lt; $patchname in your linux directory. &lt;br /&gt;
Please note that in kernel ALSA should be used, as 1.0.16 (which is in kernel) &lt;br /&gt;
fails to compile.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3) The nvidia drivers in portage do _not_ work with 2.6.25. &lt;br /&gt;
You either have to install 173.08 (beta at the moment) &lt;br /&gt;
or patch the older ones, as described [http://www.nvnews.net/vbulletin/showthread.php?t=110088 here]&lt;br /&gt;
&lt;br /&gt;
There will be a NVRAM warning in dmesg on x86_64, which, according to nvidia, can safely be ignored&lt;br /&gt;
or removed by using [http://www.nvnews.net/vbulletin/showpost.php?p=1639413&amp;amp;postcount=11 this patch] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
My 2.6.25 kernel config is &lt;br /&gt;
[http://www.fuchsnet.ch/files/tp/config-2.6.25-ice-wl here] (for tuxonice and wireless patched) &lt;br /&gt;
&lt;br /&gt;
Use at own risk, and note that I use ext3 as filesystem and ahci for the hdd.&lt;/div&gt;</summary>
		<author><name>Andy987s</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_R61&amp;diff=38127</id>
		<title>Installing Ubuntu 8.04 (Hardy Heron) on a ThinkPad R61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_R61&amp;diff=38127"/>
		<updated>2008-07-04T16:18:24Z</updated>

		<summary type="html">&lt;p&gt;Andy987s: /* To Disc */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Suspend with Nv140m ==&lt;br /&gt;
&lt;br /&gt;
=== To Ram ===&lt;br /&gt;
&lt;br /&gt;
Does not work by default.&lt;br /&gt;
&lt;br /&gt;
I used the information from [http://thinkwiki.org/wiki/Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_T61#Suspend_with_Nv140m here]and [http://www.thinkwiki.org/wiki/Installing_Ubuntu_7.10_(Gutsy_Gibbon)_on_a_ThinkPad_T61#How_to_Suspend_with_nVidia_140m.2F570m here].&lt;br /&gt;
&lt;br /&gt;
'''Summary:'''&lt;br /&gt;
&lt;br /&gt;
Open the file {{path|/etc/default/acpi-support}} in your favorite editor and change the following lines:&lt;br /&gt;
&lt;br /&gt;
  # Should we save and restore state using the VESA BIOS Extensions?&lt;br /&gt;
  SAVE_VBE_STATE=false&lt;br /&gt;
  ...&lt;br /&gt;
  # Should we attempt to warm-boot the video hardware on resume?&lt;br /&gt;
  POST_VIDEO=false&lt;br /&gt;
  ...&lt;br /&gt;
  # Set the following to &amp;quot;platform&amp;quot; if you want to use ACPI to shut down&lt;br /&gt;
  # your machine on hibernation&lt;br /&gt;
  HIBERNATE_MODE=platform&lt;br /&gt;
  ...&lt;br /&gt;
  # Save and restore video state?&lt;br /&gt;
  SAVE_VIDEO_PCI_STATE=true&lt;br /&gt;
&lt;br /&gt;
Create a new file {{path|/etc/hal/fdi/information/lenovo.fdi}} with the following contents:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt; &amp;lt;!-- -*- SGML -*- --&amp;gt;&lt;br /&gt;
&amp;lt;deviceinfo version=&amp;quot;0.2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;device&amp;gt;&lt;br /&gt;
    &amp;lt;match key=&amp;quot;system.hardware.vendor&amp;quot; string=&amp;quot;LENOVO&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;merge key=&amp;quot;power_management.quirk.s3_mode&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
      &amp;lt;merge key=&amp;quot;power_management.quirk.s3_bios&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;false&amp;lt;/merge&amp;gt;&lt;br /&gt;
      &amp;lt;merge key=&amp;quot;power_management.quirk.save_pci&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
    &amp;lt;/match&amp;gt;&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
&amp;lt;/deviceinfo&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== To Disc ===&lt;br /&gt;
&lt;br /&gt;
Suspend to Disk (and RAM) worked out of the box for me.&lt;br /&gt;
However when resuming, the wireless network would not reconnect automatically.&lt;br /&gt;
&lt;br /&gt;
Note: I have the iwl4965 driver. Check the driver for your host with:&lt;br /&gt;
  lsmod | grep 80211&lt;br /&gt;
&lt;br /&gt;
The following changes will ensure wifi is available after resuming:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/default/acpi-support&lt;br /&gt;
   #MODULES=&amp;quot;&amp;quot;&lt;br /&gt;
   # ACM 1-Jul-2008 Explicitly specify all the wifi modules to be shutdown&lt;br /&gt;
   MODULES=&amp;quot;iwl4965 iwlwifi_mac80211 cfg80211&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   #STOP_SERVICES=&amp;quot;&amp;quot;&lt;br /&gt;
   # ACM 1-Jul-2008 specify netapplet be restarted&lt;br /&gt;
   STOP_SERVICES=&amp;quot;netapplet&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 vi /boot/grub/menu.lst&lt;br /&gt;
   # defoptions=quiet splash acpi_sleep=s3_mode&lt;br /&gt;
&lt;br /&gt;
 update-grub&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: R61]] [[Category:  Ubuntu 8.04]]&lt;/div&gt;</summary>
		<author><name>Andy987s</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_R61&amp;diff=38109</id>
		<title>Installing Ubuntu 8.04 (Hardy Heron) on a ThinkPad R61</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_R61&amp;diff=38109"/>
		<updated>2008-07-02T14:23:16Z</updated>

		<summary type="html">&lt;p&gt;Andy987s: /* ACM updates for automatic wifi connect after resume */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Suspend with Nv140m ==&lt;br /&gt;
&lt;br /&gt;
=== To Ram ===&lt;br /&gt;
&lt;br /&gt;
Does not work by default.&lt;br /&gt;
&lt;br /&gt;
I used the information from [http://thinkwiki.org/wiki/Installing_Ubuntu_8.04_(Hardy_Heron)_on_a_ThinkPad_T61#Suspend_with_Nv140m here]and [http://www.thinkwiki.org/wiki/Installing_Ubuntu_7.10_(Gutsy_Gibbon)_on_a_ThinkPad_T61#How_to_Suspend_with_nVidia_140m.2F570m here].&lt;br /&gt;
&lt;br /&gt;
'''Summary:'''&lt;br /&gt;
&lt;br /&gt;
Open the file {{path|/etc/default/acpi-support}} in your favorite editor and change the following lines:&lt;br /&gt;
&lt;br /&gt;
  # Should we save and restore state using the VESA BIOS Extensions?&lt;br /&gt;
  SAVE_VBE_STATE=false&lt;br /&gt;
  ...&lt;br /&gt;
  # Should we attempt to warm-boot the video hardware on resume?&lt;br /&gt;
  POST_VIDEO=false&lt;br /&gt;
  ...&lt;br /&gt;
  # Set the following to &amp;quot;platform&amp;quot; if you want to use ACPI to shut down&lt;br /&gt;
  # your machine on hibernation&lt;br /&gt;
  HIBERNATE_MODE=platform&lt;br /&gt;
  ...&lt;br /&gt;
  # Save and restore video state?&lt;br /&gt;
  SAVE_VIDEO_PCI_STATE=true&lt;br /&gt;
&lt;br /&gt;
Create a new file {{path|/etc/hal/fdi/information/lenovo.fdi}} with the following contents:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;ISO-8859-1&amp;quot;?&amp;gt; &amp;lt;!-- -*- SGML -*- --&amp;gt;&lt;br /&gt;
&amp;lt;deviceinfo version=&amp;quot;0.2&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;device&amp;gt;&lt;br /&gt;
    &amp;lt;match key=&amp;quot;system.hardware.vendor&amp;quot; string=&amp;quot;LENOVO&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;merge key=&amp;quot;power_management.quirk.s3_mode&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
      &amp;lt;merge key=&amp;quot;power_management.quirk.s3_bios&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;false&amp;lt;/merge&amp;gt;&lt;br /&gt;
      &amp;lt;merge key=&amp;quot;power_management.quirk.save_pci&amp;quot; type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/merge&amp;gt;&lt;br /&gt;
    &amp;lt;/match&amp;gt;&lt;br /&gt;
  &amp;lt;/device&amp;gt;&lt;br /&gt;
&amp;lt;/deviceinfo&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== To Disc ===&lt;br /&gt;
&lt;br /&gt;
Suspend to Disk (and RAM) worked out of the box for me.&lt;br /&gt;
However when resuming, the wireless network would not reconnect automatically.&lt;br /&gt;
&lt;br /&gt;
Note: I have the iwl4965 driver - you check the driver for your host with:&lt;br /&gt;
  lsmod | grep 80211&lt;br /&gt;
&lt;br /&gt;
The following changes will ensure wifi is available after resuming:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/default/acpi-support&lt;br /&gt;
   #MODULES=&amp;quot;&amp;quot;&lt;br /&gt;
   # ACM 1-Jul-2008 Explicitly specify all the wifi modules to be shutdown&lt;br /&gt;
   MODULES=&amp;quot;iwl4965 iwlwifi_mac80211 cfg80211&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   #STOP_SERVICES=&amp;quot;&amp;quot;&lt;br /&gt;
   # ACM 1-Jul-2008 specify netapplet be restarted&lt;br /&gt;
   STOP_SERVICES=&amp;quot;netapplet&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 vi /boot/grub/menu.lst&lt;br /&gt;
   # defoptions=quiet splash acpi_sleep=s3_mode&lt;br /&gt;
&lt;br /&gt;
 update-grub&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: R61]] [[Category:  Ubuntu 8.04]]&lt;/div&gt;</summary>
		<author><name>Andy987s</name></author>
		
	</entry>
</feed>