Installing Ubuntu 7.10 (Gutsy Gibbon) on a ThinkPad T61

From ThinkWiki
Revision as of 11:07, 10 October 2007 by T mow (Talk | contribs) (Bluetooth)
Jump to: navigation, search

Installation Notes

  • If booting with the default options gives you a blank screen you should select the "Safe Graphics" menu choice when booting from the live CD.

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. To fix it, download this file[1], unzip it, and follow the instructions in "description and README."

Note: If you enable Compiz on an Intel card there will be issues with viewing media files, please see the bug report above for details

Nvidia 2D video works out of the box, to enable accelerated 3D support click System->Administration->Restricted Drivers Manager

Installing Nvidia drivers manually

ATTENTION!
Installing the drivers via Synaptic or the Restricted Drivers Manager are the only supported methods of installing the Nvidia driver, the method below (while it works for most people) is not supported

Download the drivers from http://www.nvidia.com/object/linux_display_ia32_100.14.19.html and save it to your Desktop. Exit to a virtual terminal by pressing [CTRL]+[ALT]+[F2]

Stop the X server:

$ sudo /etc/init.d/gdm stop (stopping the X server)

Remove nvidia-glx-new

$ sudo apt-get remove nvidia-glx-new

Install the drivers:

$ sudo sh NVIDIA-Linux-x86-100.14.19-pkg1.run (depending on the version that will be online)

Follow instructions in the installer, when complete restart the X-Server with:

$ sudo /etc/init.d/gdm restart (restarting the X server)

Multiple Monitors

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.

It has been reported that the NVIDIA drivers tend to crash with xinerama enabled. 2 displays with xinerama off has been stable.


Twinview works but a movie will span both the laptop screen and second monitor or projector. Has anyone found a fix for this? Does the Ubuntu wiki <https://help.ubuntu.com/community/NvidiaTVOut> work? What adjustments are needed for Gutsy and NVIDIA Quadro NVS 140M

Is it possible to do set up Twinview with movies that don't span screens in the Applications->System Tools->Nvidia Settings?


Intel X3100:

Plugging in an external monitor works, but is a clone of the built-in LCD by default. Following the instructions on this page to extend your desktop to the second monitor does *not* work; it results in the crash described here. According to this post and this bug report, the problem is a new Xinerama implementation and an old config file.

To extend your desktop to the second monitor, you'll want to do what this page suggests (under "Dual-Head config breakage with xserver-xorg-video-intel").

Below 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:

FIXME
If someone could include an example of the change described above it would be greatly appreciated

Exit to a virtual terminal (press: ctrl-alt-F1), login 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), the default fonts are too big (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 do not work out of the box, but they should work once you apply all of the system updates.

However, there now appears to be a bug where the brightness controls stop working after you resume from a suspend.

Until the brightness bugs are finally worked out, you can install "xbacklight" (Applications -> Accessories -> Terminal, type "sudo apt-get install xbacklight" without the quotation marks and hit enter), which allows you to set the brightness from the command line and provides a greater range of brightness values.

To set brightness, go back to the terminal and type "xbacklight =VALUE" where VALUE is a number from 0 to 100 for how bright you want your display to be.

Creating brightness shortcuts

If you don't want to use the terminal you can set up shortcuts to pre-defined brightness levels:

1) Right-click on the desktop and select Create Launcher...

2) Make it look like this:
XBacklight launcher 50.png
The 50 means that the backlight will be at 50% brightness. If you want your shortcut to set the brightness to 100% then simply replace 50 with 100 when you create your launcher (Shortcuts in Windows are analogous to Launchers in Ubuntu). Many people use at least two brightness levels (for example, 100% when on AC power, 50% when on battery power) so it's a good idea to make a launcher for each commonly used brightness level. I also suggest adding them to the upper panel (Linux for menu bar) so that they're easily accessible. If you want, you can use your own custom icons by right-clicking the launcher, selecting Properties, and then clicking on the picture in the Properties window and browsing for your own.

Nvidia Quadro N140 and 570M:

The brightness controls do not work, 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

switching back to X (ctrl+alt+7) may freeze your computer with a black screen.

Audio

Inextricably Linked to the Modem

Make sure that you have the modem enabled in the BIOS. If it is disabled, you may discover (with much consternation) 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.

After trying all of the ALSA related fixes for this machine, with no love, I remembered what a colleague had said about his T60, and tried this on a hunch. Blammo, it worked!

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!). https://bugs.launchpad.net/ubuntu/+bug/136287 this bug report links to a fixed version from an Ubuntu dev a fixed version is available 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.

The mute button on the laptop does not work.

Microphone

Microphone may not work with applications (like sound recorder and skype) even though sound can be heard through the speakers or headphones. If you have success in using the built in microphone please update this section.


It worked for me after i followed the instructions in this thread for ALSA http://ubuntuforums.org/showthread.php?p=2635174#post2635174

I had to tick the following tracks to make my mic work in Sound Recorder PCM, Microphone, Capture, Capture1, Input Source, Input Source, Internal Mic, Speaker.

For those that find the above instructions vague:

The whole 'Volume Control Center' could be better labelled but here is what i believe to be true: the microphone will work but only through the OSS mixer. the ALSA mixer is what causes the listed problem (not working with applications like skype) but the sound quality of alsa mixer is far better than the OSS mixer and it would be much more convenient to control so it would be hugely beneficial to get it working. Nonetheless here are more detailed instructions for getting sound working.

In the Playback tab you should have PCM, which is the only important one. If you have anything else there you should mute them.

In the 'recording' tab should be 'Capture' and 'Capture 1'(if they aren't you have to check them in Edit-->Preferences) 'Capture' controls the volume for the ALSA mic input and 'Capture 1' controls the volume for the OSS mic input. Mute 'Capture' and increase the volume of 'Capture 1'

The 'switches' tab should be as you set it up in the audio section of this wiki. headphones [check] and speakers [check].

The options tab (which i haven't quite figured out) should have a list of two 'Input Sources' I have mine set to 'Internal Mic' on the top and 'Mic' on the bottom. i don't know if that is correct but it is working for me.

Now go to File-->Change Device--> Analog Devices (OSS Mixer) You should see a 'Playback' tab with 'Microphone', 'PCM-2' and 'In-gain'. If you do not see these then open Edit-->Preferences and select them. Place your microphone volume at your desired level (mine is at about 7/8ths) and mute it when you are not using it, otherwise you get the crackle. The 'PCM-2' seems to only go fully up or fully down, i leave it fully up. I haven't figured out what effect the 'In-gain' has yet. (you'll be the first to know when i do)

This should give you the ability to record sound or skype but it is tedious as you will have to mute and unmute the microphone in the Analog Devices OSS area. Maybe there is a way to simplfy this method but i haven't found it. Hopefully soon recording with the ALSA mixer will work.

Sound Cracking

The sound may be cracking if ALSA is used, try to switch to the OSS driver in system => preference => sound => devices => Music and movies, select OSS - Open sound system (instead of ALSA)

The above does not appear to work for everyone.

Another thing to check is to see if this issue is only occurring for Rhythmbox (which is where i noticed this issue). If this is the case, go to Edit > Preferences > Playback > and Check "Use Crossfading Backend" Restart Rhythmbox and you should have better audio quality.

Hissing

Once sound started working, it produced a lot of hissing during playback, and even when idle. Here's how I fixed it:

  1. Run "alsamixer".
  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 "Headphon" 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

Note: As of the 7.10 Beta ISOs, bluetooth works for me out-of-the-box. No configuration given below is required (unless you would like shortcuts to shutdown/startup this feature). --jlp

To enable bluetooth you must have the thinkpad-acpi modules loaded:

# sudo modprobe thinkpad-acpi

Then su to root (sudo doesn't work unless you put these commands into a script) to enable the root account so you can use su see [This link].

# su

To enable bluetooth:

# echo enable > /proc/acpi/ibm/bluetooth

To disable bluetooth:

# echo disable > /proc/acpi/ibm/bluetooth


If you would like to create shortcuts to enable/disable Bluetooth put those commands into scripts such as:

# sudo gedit /usr/bin/enablebt

Enter the following:

echo enable > /proc/acpi/ibm/bluetooth

Close/Save the file and mark it executable # sudo chmod +x /usr/bin/enablebt

# sudo gedit /usr/bin/disablebt

enter the following

echo disable > /proc/acpi/ibm/bluetooth

Close/Save the file and mark it executable # sudo chmod +x /usr/bin/disablebt

Then create shortcuts so you can enable/disable bluetooth from a menu or panel. Click System->Preferences-> Main Menu and create two shortcuts like the following: Disable bt.png Enable bt.png


Based on the previously described commands I developed a simple script which determienes the current blootooth 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:

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 permissions like that: # sudo chmod +x /usr/sbin/bluetooth-toggle

You can invoke the script out of the console by typing sudo bluetooth-toggle or crate a starter like described earlier in this section. Use gksudo bluetooth-toggle as command line.

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

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 add the following two lines to /etc/pam.d/common-auth

auth    sufficient      pam_thinkfinger.so
auth    required        pam_unix.so try_first_pass

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.

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

This fix is for Intel Graphics Cards only. As of yet their is no way to suspend/hibernate with the Nvidia card.

You may get a blank screen when resuming from suspend or hibernate (Launchpad bug report). If so, try editing /boot/grub/menu.lst, adding "acpi_sleep=s3_bios" (no quotes) to the "defoptions" list so that it looks something like this:

 ## additional options to use with the default boot option, but not with the
 ## alternatives
 ## e.g. defoptions=vga=791 resume=/dev/hda5
 # defoptions=quiet splash acpi_sleep=s3_bios

Once you have edited the line and added the acpi_sleep parameter, you need to run

 $ sudo update-grub

Note that if you get the blank screen upon resume, a quick-fix is to switch to a console (Ctrl-Alt-F1) and then back to X (Ctrl-Alt-F7). This will usually bring the display back to life. However, the long-term fix is to add the acpi_sleep parameter as shown above.

How to Suspend with nVidia 140m/570m

  • it works for 140m too

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

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

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: http://www.thinkwiki.org/index.php?title=Installing_Ubuntu_7.10_%28Gutsy_Gibbon%29_Tribe_5_on_a_ThinkPad_T61&action=edit&section=8

  • 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

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