Installing Ubuntu 7.10 (Gutsy Gibbon) on a ThinkPad T61

From ThinkWiki
Revision as of 10:06, 26 January 2008 by Andrey (Talk | contribs) (Blank screen fix for intel graphics cards)
Jump to: navigation, search

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

NOTE!
If the Restricted Drivers Manager fails to install the driver you can use the Envy tool from: http://albertomilone.com/nvidia_scripts1.html. This tool is unsupported and the only supported method of installing the Nvidia drivers is via Synaptics and the 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.


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

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:

  1. Open System->Preferences->Appearance
  2. Select the "Fonts" tab
  3. Click the "Details" button (lower right)
  4. Adjust the Resolution down to 96dpi
  5. Make sure you have Subpixel (LCD) Smoothing enabled
  6. Save the preferences

If you also want small fonts on the GDM login window, you can do this:

  1. Open System->Administration->Login Window
  2. Select the 'Security' tab
  3. Click the 'Configure X-Server' button
  4. Append '-dpi 96' (without quotes) to the text in the 'Command' field
  5. 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.

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:

  1. Right-click on the volume control applet (by the clock) and select "Open Volume Control"
  2. In the "Switches" tab, make sure "Headphone" and "Speaker" are both checked.
  3. Close the Volume control.
  4. Right-click on the volume control applet again and select "Preferences".
  5. Make sure the device is set to "HDA Intel (Alsa mixer)" and highlight the "PCM" option.
  6. Close the preferences.
  7. Select System->Preferences->Sound.
  8. In the "Default Mixer Tracks" section, make sure "PCM" is highlighted.
  9. 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:

  1. Run "alsamixer" in the terminal.
  2. Arrow over to "Mic", and hit "M" to mute.
  3. Arrow over to the first "Docking", and hit "M" to mute.
  4. 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.

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.)

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"

/*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.*/

General hint: Do not install the package "hibernate" or "uswsusp" or the gnome-power-manager will fail to suspend/hibernate your computer. If you have installed the package don't forget to purge the configuration. (sudo apt-get remove hibernate --purge, uswsusp resp.)

The instructions for Intel video card recommends adding "acpi_sleep=s3_bios" to the kernel parameters in Grub configuration. According to a comment on Launchpad BUG 139089, the correct setting for Nvidia is "acpi_sleep=s3_mode". Once I changed this, Suspend to ram worked. I have the T61 6459-CTO.

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.07-Version (with 1.08 AMT). Still testing...

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