Installing Ubuntu 7.10 (Gutsy Gibbon) on a ThinkPad T61
Contents
Introduction
This document outlines configuring Ubuntu 7.10 (Gutsy Gibbon) on your Thinkpad T61. Most items will work out of the box and a base install should provide you with a completely working system. Due to the modular nature of the T61 there are many different configuration, please read carefully and only make the changes specific to your system.
Feel free to update this Wiki with your information however please ask questions on the Talk page.
Installation Notes
- If booting with the live CD gives you a blank screen you should select the "Safe Graphics" menu choice.
Display/Video
Accelerated Video and Desktop Effects
Intel 2D and 3D accelerated video work out of the box.
Due to | bug 111257, compiz is disabled on the Intel i965 based video cards. All systems updated after 11/24/2007 should be fixed.
Nvidia 2D video works out of the box, to enable accelerated 3D support click System->Administration->Restricted Drivers Manager
Multiple Monitors
If you previously used Xinerama this is no longer a supported option, you should use one of the tools described below to configure dual displays.
Nvidia N140m:
When using the default drivers (The open source "nv" drivers) you can use Administration->"Screens and Graphics" to setup the second monitor
Using the proprietary drivers you must use the Nvidia tool located at Applications->System Tools-> Nvidia X Server Settings.
Note: Twinview 'works' but doing anything with Twinview in fullscreen mode will cause it to span both monitors instead of just being on the second. This essencially kills the functionality of Twinview.
eg 1 --> you are an office working bringing your notebook to work to show a presentation but you can't use full screen.
eg 2 --> you want take your notebook to a friends house to watch a movie on his/her projector and fullscreen mode gets half displayed on the projector and half on the notebook monitor.
To resolve the full screen issue:
After setting up Twinview with the second monitor save the configuration to your x config file, then restart x. Log in again and now when you fullscreen it will only span the one monitor that the window is in not both. The other screen will be available for other use. You can drag between windows and then fullscreen to fill only the monitor you are in. Tested on T61 using Ubuntu 7.10 with gMPlayer in full screen mode and open office impressions slide show. (Movies and Presentations)
If you experience problems getting a working Twinview setup using nvidia-settings, please see this thread
Intel GM965/GL960
If you experience a blank screen and perpetual gui reset when using heavy GLX (3D) applications such as scorched3d, try upgrading to the hardy 2.6.24-3 kernel along with the matching modules:
add these 2 lines to /etc/apt/sources.list:
deb http://us.archive.ubuntu.com/ubuntu/ hardy main restricted deb-src http://us.archive.ubuntu.com/ubuntu/ hardy restricted main multiverse universe
run:
sudo apt-get update sudo apt-get install linux-restricted-modules-2.6.24-3-generic linux-image-2.6.24-3-generic linux-ubuntu-modules-2.6.24-3-generic
Comment out the 2 new lines from sources.list (put a # in front) and run apt-get update again.
reboot.
IMPORTANT: You must comment out the lines from sources.list and run apt-get update again, or you will auto-upgrade to hardy which you do not want to do yet!
NOTE: the 2.6.24 kernel uses the new fully open iwl3945 driver for wifi, instead of the old restricted ipw3945. you may need to tweak your wifi settings after rebooting.
Intel X3100
Plugging in an external monitor works, but is a clone of the built-in LCD by default. Using the Screens and Graphics tool located under Administration you can setup the second monitor as an extension of the existing screen or a clone for presentations, but it does not let you enable a second display on a second monitor.
Setting up dual monitors via the command line
If you like doing it via the command line and are using the Intel drivers or the open-source "nv" driver you can use this example (Note all this should be possible using the Screens and Graphics tool so only make this change if you prefer the command line method):
This is an example for a 1680x1050 built-in LCD and a 1600x1200 external LCD: Add a "Virtual 3280 1200" line in the Display SubSection of the Screen Section in your xorg.conf:
Go to Applications -> Accessories -> Terminal and type the following:
# sudo /etc/init.d/gdm stop
# xrandr --output LVDS --auto
To set the built-in LCD to ouput 1680x1050
# xrandr --output VGA --right-of LVDS
To extend the desktop
To enable Compiz Fusion. refer to http://temporaryland.wordpress.com/2007/12/06/finding-the-right-distro-for-my-thinkpad-followup/ and follow the instructions as per for Linux Mint 4.0.
Fonts on High-Res Screens
On high-res screens (e.g. 15" 1680x1050), some users consider the default fonts too be too large (Launchpad bug report). You can fix this by following these steps:
- Open System->Preferences->Appearance
- Select the "Fonts" tab
- Click the "Details" button (lower right)
- Adjust the Resolution down to 96dpi
- Make sure you have Subpixel (LCD) Smoothing enabled
- Save the preferences
If you also want small fonts on the GDM login window, you can do this:
- Open System->Administration->Login Window
- Select the 'Security' tab
- Click the 'Configure X-Server' button
- Append '-dpi 96' (without quotes) to the text in the 'Command' field
- Reboot the computer.
Brightness
Intel X3100:
The brightness controls should work out of the box on a fresh install.
Nvidia Quadro N140 and 570M:
With Nvidia Driver 169.07 (2007/12/20) the brightness controls work properly on a Thinkpad T61 with Nvidia Quadro NVS 140M. Please see the section above on installing drivers with the Envy tool above.
Previous Driver: The brightness controls do not work out of the box, however you can switch to a virtual terminal (ctrl+alt+F1) increase or decrease the brightness and then switch back to X (ctrl+alt+F7) without disrupting the running applications (You should save anything open just to be safe). There is a new from nvidia that fixes the brightness-controls. To install this driver use the Envy tool described above.
If brightness buttons do not work (after installing the latest nvidia drivers) you can edit /etc/acpi/thinkpad-brightness-up.sh and /etc/acpi/thinkpad-brightness-down.sh:
Add this line before "exit" in /etc/acpi/thinkpad-brightness-up.sh
echo 4 > /proc/acpi/ibm/cmos
Also insert this line before "exit" in /etc/acpi/thinkpad-brightness-down.sh
echo 5 > /proc/acpi/ibm/cmos
Audio
Inextricably Linked to the Modem
Make sure that you have the modem enabled in the BIOS. If it is disabled, you may discover that your audio is also disabled. In this situation, your drivers may still load, but you will get an error message whenever you try to play audio.
Enabling Audio controls
By default, the sound may be disabled and the volume control buttons on the laptop (up by the ThinkVantage button) and the volume control applet (up by the clock) will not control the speaker volume (they actually control the microphone). To fix this:
- Right-click on the volume control applet (by the clock) and select "Open Volume Control"
- In the "Switches" tab, make sure "Headphone" and "Speaker" are both checked.
- Close the Volume control.
- Right-click on the volume control applet again and select "Preferences".
- Make sure the device is set to "HDA Intel (Alsa mixer)" and highlight the "PCM" option.
- Close the preferences.
- Select System->Preferences->Sound.
- In the "Default Mixer Tracks" section, make sure "PCM" is highlighted.
- Close the sound preferences.
You should now hear sound and be able to control the volume using the laptop buttons or volume applet.
A recent BIOS update [1] fixes the mute button, you can then configure it to mute/unmute audio in Keyboard Shortcuts.
Microphone
The internal microphone is considered a generic capture source and is muted by default. To unmute the microphone:
- Right Click on the volume icon next to the clock and click on "Open Volume Control"
- Click Edit -> Preferences. A list of devices will be displayed, you should check the following (Do not uncheck any existing items):
Internal Mic Input Source Capture
- Click Close and there should be two additional tabs "Recording" and "Options". -
- Click Recording and click on the microphone under the Capture slider so that it no longer has a red line through it.
- Click Options and under capture source select internal mic (This step may not be necessary).
To test your mic using Sound Recorder select Capture as the sound source.
This solution has been tested with Sound Recorder, Akiga, Skype, and OpenWengo.
Sound Cracking
There have been intermittent reports of users experiencing cracking when listening to audio. Here are a few possible solutions:
- Try to switch to the OSS driver in system => preference => sound => devices => Music and movies, select OSS - Open sound system (instead of ALSA)
- If this issue is only occurring for Rhythmbox go to Edit > Preferences > Playback > and Check "Use Crossfading Backend". Restart Rhythmbox and you should have better audio quality.
- Check that the microphone is muted and modify your mixer settings by moving items like PCM down halfway and see if the cracking goes away.
Hissing
Some users experience hissing during playback, and even when idle. To solve this mute the microphone when it is not in use:
- Run "alsamixer" in the terminal.
- Arrow over to "Mic", and hit "M" to mute.
- Arrow over to the first "Docking", and hit "M" to mute.
- Arrow to the first "Internal", and hit "M" to mute.
Now, make sure that "Headphone" and/or "Speaker" are _not_ muted, and that "PCM" is at a reasonable level (say ~70) so you don't make your ears bleed, and try playing something back. (<Esc> will exit alsamixer)
Modem
The modem works with the Linuxant drivers available at http://www.linuxant.com
Bluetooth
Bluetooth works out of the box. Pressing Fn-F5 once will enable bluetooth, disable wireless, pressing again, enable both and pressing one more time will disable bluetooth.
If you would like to set bluetooth state independently the script below determines the current bluetooth state and toggles the device on or off.
First create a new file named bluetooth-toggle:
# sudo touch /usr/sbin/bluetooth-toggle
Now open a editor:
# sudo gedit /usr/sbin/bluetooth-toggle
Paste the following script:
#!/bin/bash cat /proc/acpi/ibm/bluetooth | awk '{ print $2 }' | while read line; do if [ $line == "enabled" ]; then echo disable > /proc/acpi/ibm/bluetooth else echo enable > /proc/acpi/ibm/bluetooth fi break done
Now set the execute permissions:
# sudo chmod +x /usr/sbin/bluetooth-toggle
You can invoke the script out of the console by typing sudo bluetooth-toggle or create a menu icon by using the menu editor under preferences using gksudo bluetooth-toggle as command line.
<thinkwiki></thinkwiki>
Fingerprint Reader
The reader works with ThinkFinger. General instructions available here and here. Instructions in French available at http://doc.ubuntu-fr.org/materiel/thinkfinger
Note that ThinkFinger in it's current version does not work with KDE and Kubuntu in any way (it crashes KDM and is not integrated at all).
Prebuilt packages are available from jldugger using Launchpad's PPA:
Add the thinkfinger package repository by creating /etc/apt/sources.list.d/thinkfinger.list with these two lines:
deb http://ppa.launchpad.net/jldugger/ubuntu gutsy main restricted universe multiverse deb-src http://ppa.launchpad.net/jldugger/ubuntu gutsy main restricted universe multiverse
Then update the package database and install packages:
$ sudo apt-get update
$ sudo apt-get install libpam-thinkfinger libthinkfinger-dev libthinkfinger-doc libthinkfinger0 thinkfinger-tools
After the package is installed edit /etc/pam.d/common-auth and replace the line
auth required pam_unix.so nullok_secure
with
auth sufficient pam_thinkfinger.so auth required pam_unix.so try_first_pass nullok_secure
Edit /etc/modules and add the following line:
uinput
Load the module manually for this session:
$ sudo modprobe uinput
Summary:
- Recording fingerprints works
- Login works
- The password must be entered to unlock a locked screensaver
- sudo works
- gksu and gksudo hang : for example it is necessary to run synaptic twice and enter your password upon failure. To be able to use the Finger print reader in the session subsequently, kill the hanging gksu/gksudo process. A workaround is editing the Gnome System Menu (alacarte) to specify sudo instead of gksu/gksudo for the launching command and choose type "Application in Terminal" : this opens an extra terminal window for each superuser application you want to use though.
Trackpad scrolling
Trackpad scrolling works out of the box in the standard thinkpad way: Slide your finger up and down the very right edge of the trackpad. Note that /etc/X11/xorg.conf will be changed and the edge scrolling will be disabled after running nvidia-xconfig , copy the trackpad section from the backup of xorg.conf
To enable using the middle mouse button to scroll, add the following lines to the "Configured Mouse" section in /etc/X11/xorg.conf:
Option "EmulateWheel" "true" Option "EmulateWheelButton" "2"
Hibernate/Suspend
Blank screen fix for intel graphics cards
This fix is for Intel Graphics Cards only.
When resuming from suspend or hibernate, the screen will be black until you switch to a console (ex: Ctrl-Alt-F1) and then back to X (Ctrl-Alt-F7). (Launchpad bug report). To fix this, open (as sudo) /etc/default/acpi-support and find the line:
# DOUBLE_CONSOLE_SWITCH=true
uncomment it so that it says:
DOUBLE_CONSOLE_SWITCH=true
and then save and close the file. You may then reboot or just restart ACPI:
sudo /etc/init.d/acpi-support restart sudo /etc/init.d/acpid restart
afterward, the screen should come back properly on resume.
This seem to enable painless suspend/resume for T61 with Intel graphics for most people, but on my newer (April 08) ThinkPad T61 suspend/resume continues to be somewhat unstable: resuming sometimes takes very long time, and I am unable to switch to text console after resume with Ctrl+Alt+F1. To fix that, I had to add acpi_sleep=s2_bios kernel parameter to /boot/grub/menu.lst
How to Suspend with nVidia 140m/570m
The suspend to RAM will work with the nVidia card and the proprietary drivers, but it requires some file editing. It did not work for me out of the box. Using the package manager, download and install the latest nVidia drivers (100.14.19+2.6.2.4-12.4 at time of writing). I also had to use the 2.6.22-12-generic kernel image (the 2.6.22-13 image did not work with this driver --- I'm assuming it has to match wit the nVidia version, but I am not an expert).
Once you have it installed and working, you have to make a change to /etc/default/acpi-support. Open the file in your favorite editor and change the following lines:
$ sudo nano /etc/default/acpi-support
/etc/default/acpi-support
# Should we save and restore state using the VESA BIOS Extensions? SAVE_VBE_STATE=false ... # Should we attempt to warm-boot the video hardware on resume? POST_VIDEO=false ... # Set the following to "platform" if you want to use ACPI to shut down # your machine on hibernation HIBERNATE_MODE=platform
This allowed me to suspend and resume, but after two suspends the wireless wouldn't work anymore. Theoretically, ACPI unloads the network drivers before suspending, but it doesn't seem to work correctly so I added these to the blacklist modules manually (in the same file as above:
/etc/default/acpi-support
# Add modules to this list to have them removed before suspend and reloaded # on resume. An example would be MODULES="em8300 yenta_socket" # # Note that network cards and USB controllers will automatically be unloaded # unless they're listed in MODULES_WHITELIST MODULES="iwl4965 iwlwifi_mac80211 cfg80211"
Your wifi modules may be different. (I have the intel AGN wireless card -- I don't know if these modules are different for other cards.)
Add the s3_mode option to kernel boot parameters (according to Launchpad BUG 139089)
/boot/grub/menu.lst
## Add acpi_sleep=s3_mode to kernel boot parameters # defoptions=quiet splash acpi_sleep=s3_mode
Rebuild menu.lst using
$ sudo update-grub
Remove hibernate and uswsusp packages in case they are installed
$ sudo apt-get remove hibernate uswsusp --purge
This allows me to suspend to ram; I haven't had any problems with it so far. I haven't gotten hibernate (suspend to disk) working, so there may be additional things you need to do for that. (I think part of my problem is that I don't have enough swap, but I don't care enough to actually fix it.)
If the system has been left in suspend off for a while, wireless might not reconnect at all (Thinkpad T61 8892-02U). Restarting netapplet solves the problem.
/etc/default/acpi-support
# Add services to this list to stop them before suspend and restart them in # the resume process. STOP_SERVICES="netapplet"
Running both the ACPI daemon and the APM daemon may also cause problems. You may disable the APM daemon by going to the System->Administration->Services. Enter your password if prompted then uncheck "Power Management (apmd)". The service will be disabled the next time you boot your computer.
You may also stop the service manually:
$ sudo /etc/init.d/apmd stop
The fix does not work for me
I have a T61 7664-17U(NVS 140m, 4965agn). The computers suspend, but when it wakes up it hangs up and I have to pull out the battery to restart it. -- also not with s3_mode?
If your screen is black but you can still reboot with ctrl+alt+delete your system resumes but the nvidia graphics chip does not. In this case the following may help (At least for me with T61 6460):
/etc/default/acpi-support
SAVE_VIDEO_PCI_STATE=true
Items that work out of the box
Intel Video: 2D and 3D acceleration works
Nvidia: 2D works, 3D requires the installation of the proprietary drivers
Wireless: Atheros and Intel cards both tested.
Bluetooth: Tested with both a bluetooth headset and an HTC 8525
Network Card Intel 10/100/1000 tested
Firewire Tested with hard drive
Wireless switch
4-in-1 card reader
Webcam
Headphones You may need to enable Headphone out: Right-click on the volume control and select open volume control. Click the switches tab and then check the headphones box.
Keyboard Shortcuts:
- Fn-PgUp activates/deactivates the thinklight
- Fn-Up will trigger stop on a media player
- Fn-Down will toggle pause and play on a media player
- Fn-Left/Right go to prev/next tracks on a media player
- Fn-F2 properly locks the screen
- Fn-F3 shows remaining battery >>does not work on all machines<<
- Fn-F4 suspends (to ram)
- Fn-F12 hibernates (to disk)
- PrtSc opens the screenshot dialog
Docking Stations:
All docking station models should work and the following features have been tested:
- DVI or Analog video: You can switch to it using "Administration->Screens and Graphics", if you are using the proprietary Nvidia drivers you must use the Nvidia Control Panel.
- Network Pass-through
- Modem Pass-through
- USB ports: Connected upon docking
- PS/2 Ports
Items that don't work
Interrupt problem (PROBABLY SOLVED)
This bug is supposed to be solved by updating the system BIOS to the 2.09-Version (with 1.08 AMT). Still testing...
- https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.22/+bug/126369
- USB ports can end up temporarily disabled
- Wifi can break
- integrated cardreader can be disabled
- bluetooth can be disabled
- Setting IRQ's to "Auto" from factory default of "11" in the BIOS seems to help some people.
- The two USB ports on the left side of the computer may fail to connect storage devices during a session but will load them at boot up. (SOLVED! with BIOS update 2.09)
- booting with the "irqpoll" option seems to work for some people against the problem that usb-ports stop working.
- GLX (3d graphics) on intel 965 video card is broken: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/120834 (SOLVED! - see section above)
Wireless activity LED
The LED is not implemented in either the IWL4965 or Atheros drivers.
patch posted in this thread works for me on R61 with IWL4965 card.
Power consumption
Gutsy is the first version of Ubuntu to feature a tickless kernel (i386 only, not in AMD64 yet). Power consumption can be monitored using the powertop tool under Ubuntu and using Lenovo battery monitor under Windows.
$ sudo apt-get install powertop $ sudo powertop
I couldn't find any difference in power consumption between the i386 tickless kernel (even with 70ms average sleep in C4) and AMD64 kernel (2ms average sleep in C4). It would be expected that considerably less power would be consumed for the i386 tickless kernel.
There is also a graph available by Right-clicking on the battery icon and selecting Power History.
These are the figures measured on a T61 15.4" 1680x1050 screen 7300 processor (2GHz) 2GB RAM, Intel X3100 graphics with 4965 wifi, Bluetooth and UWB.
12.3W | Windows XP Pro, all radios on, about 50% brightness |
16.7W | Gutsy, all radios on, 50% brightness |
19.6W | Gutsy, all radios on, 100% brightness |
14.2W | Gutsy, all radios on, 10% brightness |
-1.0W | Turning the physical radio switch to off on the front reduces power consumption by 1 watt. |
Adding the Nvidia card increases the laptops power requirements.
These are the figures measured on a T61 14" 1440x900 screen 2.2ghz Core2Duo 2GB RAM, Nvidia 140m video, IWL4965 wifi and Bluetooth (Disabled):
18.3W | Gutsy, all radios on, 50% brightness |
19.4W | Gutsy, all radios on, 100% brightness |
16.0W | Gutsy, all radios on, 10% brightness |