Slackware 12.1 on a Thinkpad T61

From ThinkWiki
Jump to: navigation, search

This guide is based on Slackware 12.1 upgraded to kernel 2.6.25.5. Mostly random notes, hopefully will be shaping up soon.

Specs

Installation

  • Create a set of Rescue and Recovery discs before proceeding, it'll save your bacon when/if (probably when) things go bad.
  • Used a Ubuntu boot CD (8.04) and Gparted to split off a new Linux partition from the main Windows partition. This is probably possible with fdisk/cfdisk but Gparted graphical, simple, and straightforward. Leave the rescue partition (~8 GB) alone, newer (early-2008?) T61s ship with Rescue and Recovery version 4 which vastly improves the boot options.
  • Insert and boot from the Slackware 12.1 DVD, no key presses are necessary as the drive is set as the first boot device from the factory.
  • Start cfdisk and verify that that:
    • The Linux partition is flagged as bootable
    • The NTFS partition is not bootable
  • Run setup
    • Disk space shouldn't be a problem, choose the full option
  • Install LILO to the Linux partition. This leaves the MBR untouched and retains the ability to boot into the rescue partition.

Sound (or lack of it)

The speaker is not activated at boot. Edit the /etc/asound.state file and change false to true:

name 'Speaker Playback Switch'
value.0 false
value.1 false

Run alsactl store after saving to preserve the changes through restarts.

Temporary fixes are running amixer sset Speaker toggle or activating the speaker through Kmix's Switches tab.

Console Resolution

At least for the T61, the Wikipedia VESA BIOS Extensions page lists incorrect modes. vbetest (requires lrmi) outputs:

[352] 768x480 (256 color palette)
[353] 768x480 (5:6:5)
[354] 768x480 (8:8:8)
[355] 960x600 (256 color palette)
[356] 960x600 (5:6:5)
[357] 960x600 (8:8:8)
[358] 1280x800 (256 color palette)
[359] 1280x800 (5:6:5)
[360] 1280x800 (8:8:8)
[361] 1440x900 (256 color palette)
[362] 1440x900 (5:6:5)
[363] 1440x900 (8:8:8)
[261] 1024x768 (256 color palette)
[279] 1024x768 (5:6:5)
[280] 1024x768 (8:8:8)
[274] 640x480 (8:8:8)
[276] 800x600 (5:6:5)
[277] 800x600 (8:8:8)
[257] 640x480 (256 color palette)
[259] 800x600 (256 color palette)
[273] 640x480 (5:6:5)

Adding 512 to the bracketed number gives the correct Linux video mode:

640×480 768x480 800×600 960×600 1024×768 1280×800 1440×900
256 color palette 769 864 771 867 773 870 873
16-bit (5:6:5) 785 865 788 868 791 871 874
32-bit (8:8:8) 786 866 789 869 792 872 875*

Replace the existing vga=XXX with one of the above numbers in /etc/lilo.conf then re-run lilo.

*Doesn't work, screen is distorted and unusable. Other 32-bit resolutions are ok.

To verify the setting run dmesg | grep vesafb:

vesafb: framebuffer at 0xe0000000, mapped to 0xf8880000, using 5062k, total 7616k
vesafb: mode is 1440x900x16, linelength=2880, pages=1
vesafb: scrolling: redraw
vesafb: Truecolor: size=0:5:6:5, shift=0:11:5:0

X Resolution

Given the size (14.1") and resolution (1440x900) the correct dpi is 120.4.

xdpyinfo | grep dots should display resolution: 121x120 dots per inch. Visit Cowyn Li's guide for a xorg.conf with the correct screen and device sections.

Font sizing can be a headache. In xfce changing the font DPI to 96 will resolve the "fonts too big" issue. The setting is located in Settings - User Interface Settings

Advanced Trackpad

The default settings don't utilize the trackpad's advanced functions (vertical/horizontal scrolling, etc) in X.

Comment out the options line in /etc/modprobe.d/psmouse/ to recognize the trackpad as a SynPS/2 Synaptics TouchPad instead of a PS/2 Synaptics TouchPad in /proc/bus/input/devices.

The Synaptics TouchPad driver is available as a SlackBuild.

The InputDevices section of xorg.conf:

# **********************************************************************
# Input devices
# **********************************************************************

# **********************************************************************
# Core keyboard's InputDevice section
# **********************************************************************

Section "InputDevice"

    Identifier	"Keyboard0"
    Driver	"kbd"

EndSection

# **********************************************************************
# Core Pointer's InputDevice section
# **********************************************************************

Section "InputDevice"
	Identifier  "Synaptics Touchpad"
	Driver      "synaptics"
	Option	    "SendCoreEvents"	        "true"
	Option      "Device"			"/dev/psaux"
	Option      "Protocol"			"auto-dev"
	Option	    "HorizEdgeScroll"	        "0"
	Option      "LeftEdge"			"1700"
	Option      "RightEdge"			"5300"
	Option      "TopEdge"			"1700"
	Option      "BottomEdge"		"4200"
	Option      "FingerLow"			"25"
	Option      "FingerHigh"		"30"
	Option      "MaxTapTime"		"180"
	Option      "MaxTapMove"		"220"
	Option      "VertScrollDelta"	        "100"
	Option      "HorizScrollDelta"	        "100"
	Option      "MinSpeed"			"0.09"
	Option      "MaxSpeed"			"0.18"
	Option	    "AccelFactor"		"0.0015"
	Option	    "SHMConfig"			"on"
	Option	    "TapButton1"		"1"
	Option	    "TapButton2"		"2"
	Option	    "TapButton3"		"3"    
EndSection

Section "InputDevice"
	Identifier  "UltraNav Trackpoint"
	Driver      "mouse"
	Option      "CorePointer1"
	Option      "Device"              "/dev/input/mice"
	Option      "Protocol"            "ImPS/2"
	Option      "Emulate3Buttons"     "on"
	Option	    "Emulate3Timeout"	  "50"
	Option      "EmulateWheel"        "on"
	Option      "EmulateWheelTimeOut" "200"
	Option      "EmulateWheelButton"  "2"
	Option      "YAxisMapping"        "4 5"
	Option      "XAxisMapping"        "6 7"
	Option      "ZAxisMapping"        "4 5"
EndSection

Problems/Issues

  • Running AC-only will restrict the CPU speed to 800Mhz or 1.2Ghz. See Problem_with_CPU_frequency_scaling for more details, the fix (until a post-2.6.25 kernel adds a patch) is adding append=processor.ignore_pcc=1 to lilo.conf.
  • Suspend-to-RAM from console - Won't restore, screen remains blank. Problems_with_ACPI_suspend-to-ram lists all sorts of woes.

Boot Hot Keys

  • F1 = BIOS
  • F11 = Boot recovery partition
  • F12 = Select boot device