Installing Kubuntu 6.10 on a ThinkPad X60s

From ThinkWiki
Jump to: navigation, search

Installation of Kubuntu 6.10 on a ThinkPad X60s (model 1704-56G)

Summary

What works out of the box

  • Everything not listed below :)

What needs to be fixed

  • CPU frequency scaling
  • Suspend to RAM (works partially)
  • Integrated fingerprint reader
  • VGA out

What has not yet been tested

  • Modem
  • TPM
  • PCMCIA

Installation

The X60s lacks an optical drive, so installation was done using an IDE DVD-ROM drive installed into an USB HDD case. The laptop was first booted into Windows so the FAT32 partition would get converted into NTFS. The Kubuntu live environment was then booted from the DVD-ROM drive and the installation process was started from the desktop icon. During the installation, the Windows partition was resized from 70 GB to 20 GB and Linux partitions (1 GB swap, 20 GB /, the rest in /home) were created in the free space. The installation process then completed without errors.

Fixes after installation

CPU frequency scaling

In Kubuntu the first core was correctly scaled down into 1,0 GHz but the second core stubbornly stayed at 1,67 GHz. I found out the second core was using the "performance" governor instead of "ondemand". The governor could be changed manually as follows:

echo ondemand | sudo tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo ondemand | sudo tee /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor

I also installed the package "sysfsutils" and added the following lines into /etc/sysfs.conf:

devices/system/cpu/cpu0/cpufreq/scaling_governor=ondemand
devices/system/cpu/cpu1/cpufreq/scaling_governor=ondemand

This way the correct governor is selected at boot-time. Because I was using in-kernel frequency selection (ondemand governor), I removed the "powernowd" package and added the following lines into /etc/modules so that the cpufreq modules would still get loaded at startup:

freq_table
speedstep_centrino
cpufreq_ondemand

Settings from sysfs.conf are not forced after suspend or hibernate, though, so I added the following short script as /etc/acpi/resume.d/99-cpufreq-ondemand:

#!/bin/bash
#Activate the ondemand governor on each CPU
for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do
        echo ondemand > $i
done

Remember to make the script executable.

Suspending

Getting suspending to memory work requires altering the bootloader configuration to add acpi_sleep=s3_bios to the bootloader configuration. In /boot/grub/menu.lst find the line that says

# kopt_2_6=root=/dev/sda1 ro

and change it to

# kopt_2_6=root=/dev/sda1 acpi_sleep=s3_bios ro

and run update-grub.

Note that the comment character (#) is intentional - this instruction is parsed by update-grub, not by GRUB itself.

Hibernate (suspend to disk, swsusp) works.

Integrated fingerprint reader

Kubuntu Edgy does not contain out-of-the-box support for the integrated fingerprint reader of the X60s.

VGA out

Add Option "Clone" on the Section "Device" will make the Xorg clone the LCD output to VGA output.

Section "Device"
    Identifier     "Intel GMA 950"
    Driver         "i810"
    BusID          "PCI:0:2:0"
    Option         "AccelMethod"    "EXA"
    Option         "Clone"          "true"
    Option         "MonitorLayout"  "CRT,LFP"
EndSection

External Sources