Install Slackware 12.2 on a Thinkpad T400
This guide is based on Slackware 12.2 using the stock kernel 2.6.27.7 starting from a Windows Vista installation.
Contents
Installation
- Before beginning, I suggest creating a set of Rescue and Recovery disks just in case something accidentally happens during the installation process. Also, I suggest creating a set of Vista recovery disks.
- There are no extra procedures to install Slackware 12.2 to the T400. The installation process goes smoothly. There are many guides on how to install Slackware so please use them if you're having troubles.
- Note If you have switchable graphics, make sure to toggle the setting in the BIOS to use either your Internal or Discrete card. See Switchable Graphics
- If you choose to install LILO to the MBR, the Vista recovery disk will allow you to revert back to the windows boot loader if you ever choose to do so. Instructions can be found here.
Initial Setup
There are many guides to get you started with Slackware. I suggest Dugan's guide.
Console Resolution
The console resolution options given in the Slackware setup are mostly incorrect. To fix this, edit /etc/lilo.conf and replace the existing vga=XXX with one of the below numbers, then re-run lilo.
Modes:
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* |
*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
Xorg - Video Settings
The following settings should be used for the Monitor and Device sections in /etc/X11/xorg.conf. This is a base configuration. If you have external displays, projectors, etc. you will have to look elsewhere to learn how to set these up.
# ********************************************************************** # Monitor section # ********************************************************************** # Any number of monitor sections may be present Section "Monitor" Identifier "T400 LCD TFT" DisplaySize 380 238 HorizSync 31.5 - 50.0 VertRefresh 49-61 EndSection # ********************************************************************** # Graphics device section # ********************************************************************** # Any number of graphics device sections may be present Section "Device" Identifier "ATI" Driver "fglrx" EndSection Section "Device" Identifier "Intel" Driver "intel" EndSection # ********************************************************************** # Screen sections # ********************************************************************** Section "Screen" Identifier "T400 Internal LCD" Device "Intel" Monitor "T400 LCD TFT" DefaultDepth 24 Subsection "Display" Depth 24 Modes "1440x900" ViewPort 0 0 EndSubsection EndSection
X Resolution
Given the size (14.1") and resolution (1440x900) the correct dpi is 120.4.
This dpi setting generally makes things look larger than they should. To fix this, edit /usr/bin/startx and change defaultserverargs="" to defaultserverargs="-dpi 96"
To verify the setting run xdpyinfo | grep resolution
resolution: 96x96 dots per inch
Advanced Trackpad and Trackpoint Scrolling
The default settings don't utilize the trackpad's advanced functions (vertical/horizontal scrolling, etc) in X and the trackpoint scrolling does not work.
Trackpad:
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.
Currently there is no available pre-compiled package for the Synaptics TouchPad driver for Slackware 12.2. However the 12.1 SlackBuild functions properly. The Synaptics TouchPad driver is available at SlackBuilds.org.
Trackpoint + Trackpad: Modify the InputDevices section of your /etc/X11/xorg.conf as below:
# ********************************************************************** # Input devices # ********************************************************************** # ********************************************************************** # Core keyboard's InputDevice section # ********************************************************************** Section "InputDevice" Identifier "T400kbd" Driver "kbd" Option "AutoRepeat" "500 30" Option "XkbRules" "xorg" Option "XkbModel" "thinkpad60" #Option "XkbLayout" "us_intl" 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
Xorg Server Layout
If you have used the above settings in your /etc/X11/xorg.conf file, then make sure that your Server Layout calls the proper identifiers:
# ********************************************************************** # ServerLayout sections. # ********************************************************************** Section "ServerLayout" Identifier "T400" Screen "T400 Internal LCD" InputDevice "UltraNav Trackpoint" "CorePointer" #InputDevice "Synaptics" "CorePointer" InputDevice "T400kbd" "CoreKeyboard" EndSection Section "DRI" Mode 0666 EndSection
Enabling Fn + F# Keys
Follow Cherife Li's guide. These add some basic functionality to the keys. For more advanced functionality you will have to create your own scripts.
In order for the X commands to function properly you will need to add:
xhost +local:root
To your windows manager startup file. For fluxbox this file is /home/user/.fluxbox/startup. I don't use KDE, but for KDE you would find its startup file and add the same line.
CPU Frequency Scaling
Functions properly. Install cpufreqd and cpufrequtils.
For information on how to use these tools, consult How to make use of Dynamic Frequency Scaling and How to configure cpufreqd.
Problems/Issues
- 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