Search:  
Gentoo Wiki

IBM_ThinkPad_T60

This article is part of the Hardware series.
Laptops TV Tuner Cards Wireless Servers Storage Other Hardware Motherboards Related

Contents

Overview

Specifications

Intel Core Duo T2600 (2 x 2.16GHz)
ATI Graphics Card X1400
1024 MB RAM
14" SXGA+ Screen (1400x1050)
PCI-Express bus
UltraBay DVD multiburner
IntelPro Gigabit Ethernet
Intel HD Audio chipset
Intel PRO/Wireless 3945ABG wifi
Bluetooth (via internal USB-port)
Fingerprint reader

lspci output:

# lspci
00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express PCI Express Root Port (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02)
00:1f.2 SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller AHCI (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility X1400
02:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller
03:00.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)
15:00.0 CardBus bridge: Texas Instruments PCI1510 PC card Cardbus Controller

Installation

Please see ThinkWiki's page on installation instructions for the T60p for additional information.

Warning: Some T60s are 32-bit machines, with a Core Duo (not Core 2 Duo) processor.
amd64 will not work on those machines.

make.conf

File: /etc/make.conf
 CHOST="i686-pc-linux-gnu"
 CFLAGS="-march=prescott -O2 -pipe -msse3 -fomit-frame-pointer"
 CXXFLAGS="${CFLAGS}"
 MAKEOPTS="-j3"

 INPUT_DEVICES="keyboard mouse synaptics"
 VIDEO_CARDS="fglrx vesa"
 

Kernel Configuration

You may want to use the suspend2-sources instead of the gentoo-sources kernel source package. The suspend2-sources package has better support for suspending and hibernation, but the stable version breaks ati-drivers (needed for hardware graphics acceleration). If you want to use it, be sure to add sys-kernel/suspend2-sources to /etc/portage/package.keywords , then visit HOWTO Software Suspend v2.

CPU

In order for the kernel to recognize the dual-core processor, you must enable SMP. Also set the correct processor family:

Linux Kernel Configuration:
Processor type and features  --->
  [*] Symmetric multi-processing support
  Processor family  --->
    (X) Pentium-4/Celeron(P4-based)/Pentium-4 M/Xeon
  [*] Multi-core scheduler support

Hard Drive

You will not be able to boot unless you enable the following options for the SATA hard drive:

Linux Kernel Configuration:
Device Drivers  --->
  SCSI device support  --->
    SCSI low-level drivers  --->
      <*> Serial ATA (SATA) support
      <*>   AHCI SATA support

In the case of the kernel-2.6.20-gentoo-r8

Linux Kernel Configuration:
Device Drivers  --->
  Serial ATA (prod) and Parallel ATA (experimental) drivers  ---> 
      <*> ATA device support
      <*> AHCI SATA support
      <*> Intel PIIX/ICH SATA support 
      <*> Generic ATA support

Since I had gentoo installed inside an extended partition (sda9 for / and sda8 for /boot inside of the extended block /dev/sda3) I had to include also: (for kernel-2.6.20-gentoo-r8)

Linux Kernel Configuration:
File systems --->
  Partition Types --->
     [*]   SGI partition support
     [*]   EFI GUID Partition support 

Just in case you still have problems to boot into your HD, see Booting SCSI HDs in Gentoo Forums.

Sound Card

The sound card is an Intel High Definition Audio Controller. You also need to set the proper ALSA settings.

Linux Kernel Configuration:
Device Drivers  --->
  Sound  --->
    <M> Sound card support                                      
      Advanced Linux Sound Architecture  --->
        <M> Advanced Linux Sound Architecture
        <M>   Sequencer support
        <M>   OSS Mixer API
        <M>   OSS PCM (digital audio) API
        [*]     OSS PCM (digital audio) API - Include plugin system (NEW)
            PCI devices  --->
              <M> Intel HD Audio
      Open Sound System  --->
        < > Open Sound System (DEPRECATED)

Hardware Setup

Wireless

Atheros AR5212

See the Atheros 5xxx article.

Intel PRO/Wireless 3945

See this guide.

Sound

Sound is easy to get working in the 2.6.18+ kernels. First make sure that BIOS modem-support is enable by default since it shares resources with the sound card and can cause problems if disabled. Then run genkernel, enable it under Sound Cards as Intel HD Audio, and disable the other sound cards. After compiling the kernel with built-in kernel ALSA support and OSS legacy support as modules, you should get sound at boot. Some people prefer to let the BIOS to take care of the volume change/mute buttons, but you will have to lower the master channel a bit via the alsamixer command to stop any distortion.

See the Gentoo Linux ALSA Guide for more information.

Fingerprint reader

See this guide.

Hardware graphics acceleration

Get the graphics driver

# echo "~x11-drivers/ati-drivers-8.33.6" >> /etc/portage/package.keywords
# emerge ati-drivers

N.B. You may be able to use 8.32.5 (x86) or 8.34.8 (~x86), but this is the one I got it working with.

You may need to rebuild your kernel modules to get this working. Don't worry, this doesn't take very long:

# cd /usr/src/linux
# make modules && make modules_install

Configure xorg.conf

You should have the following options set in your xorg.conf file:

Section "Module"
        Load    "dri"
        Load    "GLcore"
        Load    "glx"
EndSection

Section "Device"
        Identifier      "ATI Technologies, Inc. ATI Default Card"
        Driver          "fglrx"
        # You may be able to leave these options out.  Then again, maybe not.
        # \/ \/ \/ \/
        Option          "ForceMonitors" "lvds,crt1"
        Option          "Centermode" "off"
        Option          "VideoOverlay" "on"
        Option          "OpenGLOverlay" "off"
        Option          "OverlayOnCRTC2" "0"
        Option          "PseudoColorVisuals" "off"
        Option          "HSync2" "31-64"
        Option          "VRefresh2" "56-75"
        Option          "UseFastTLS" "off"
        Option          "Mode2" "1280x1024,1024x768,800x600,640x480"
        BusID           "PCI:1:0:0"
        Option          "XAANoOffscreenPixmaps" "true"
        # /\ /\ /\ /\
        # Don't leave this one out, though!
        Option          "DRI"   "true"
EndSection

Section "Monitor"
        Identifier      "Generic Monitor"
        # Not sure if this is part of the graphics setup or not.  Leaving it for completeness.
        Option          "DPMS"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Device          "ATI Technologies, Inc. ATI Default Card"
        Monitor         "Generic Monitor"
        DefaultDepth    24
EndSection

Section "ServerLayout"
        Identifier      "Default Layout"
        Screen          "Default Screen"
        Option          "AIGLX" "false"  # This is probably just for XGL/Beryl.
EndSection

Section "DRI"
        Mode    0666
EndSection

Section "Extensions"
        Option          "Composite"     "Disable"  # Fear not, Beryl hopefuls!  Read on, read on!
EndSection

Why not enable compositing here? Because this card, for whatever reason, won't do 3D acceleration if compositing is on. We want that, so we do compositing via XGL. Hang on, though, let's make sure our setup so far is working

Configuring OpenGL

Tell OpenGL to use the ATI interface:

# eselect opengl set ati

Now test to make sure that your configuration is working:

$ glxgears

This will print out a framerate every 5 seconds. You should be getting ~5000 FPS.

If you haven't enabled XGL yet, you can also run:

$ glxinfo | grep direct

which should produce:

direct rendering: Yes

If you're only seeing ~1000 FPS on glxgears, or glxinfo says "direct rendering: No", you've missed something. It might not be in this guide, so check elsewhere (and fix it here!).

--212.143.216.136 19:28, 27 May 2008 (UTC)Bold text=== Installing XGL === Before you go any further, be sure to run the test above. It's better to discover now that something was wrong with what you did earlier.

Follow these instructions.

If you're using Gnome, make this change:

[servers]
0=Xgl

becomes

[servers]
1=Xgl

and select the Xgl server the next time you log in. (Set it as default.) Why 0=Xgl doesn't work for me, I don't know.

Restart X so that you're in the Xgl server. Test to make sure you did it right:

$ glxgears

Framerate should be ~5000 FPS, as before. It might have gone down a little, but it'll still be well above 1000 FPS.

$ glxinfo | grep direct

will say:

direct rendering: No

since we're now running through XGL, not directly on the card.

Installing Beryl

Again, before you go any further, be sure to run the test above. It's (still) better to discover now that something was wrong with what you did earlier.

Follow the emerge instructions (and nothing else) from the Xeffects guide.

Now set Beryl up:

beryl-manager --no-force-window-manager

IMPORTANT: Do not run Select Window Manager -> Beryl yet! You will get a white cube that's wholly useless.

Go to the red gem in the system tray and select Advanced Beryl options -> Rendering path -> Copy.

Now, open the Beryl Settings Manager, go to Window Management -> Resize Window -> Behavior and set Resize Display Mode to Stretch. (The default will crash Beryl as soon as you try to resize a window.) While you're in here, you might want to select some of the optional effects. Your graphics card will handle almost any of them smoothly.http://thomasgersdorf.com/linux/index.php/Gentoo_Linux_on_IBM_ThinkPad_T60

If you want to keep your current theme, now's the time to set that up. Go to Select Window Decorator and pick Heliodor (Gnome) or aquamarine (KDE).

Finally, it's time for the moment of truth. Go to Select Window Manager -> Beryl. If all goes well, you should get your first chance to experience your shiny new desktop. If not, check out XGL/Troubleshooting or search Google.

Once you're sure that Beryl is working, pull the Xeffects guide back up and configure Beryl to start when Gnome/KDE does. After that, you're done. Sit back and spin the cube a bit in celebration.


See also

Retrieved from "http://www.gentoo-wiki.info/IBM_ThinkPad_T60"

Last modified: Fri, 29 Aug 2008 20:32:00 +0000 Hits: 15,279