IBM/Lenovo ThinkPad X41¶
A few notes on using Debian GNU/Linux (and Ubuntu).
Hardware¶
update-pciids && lspci:
00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (rev 03) 00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03) 00:02.1 Display controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03) 00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 03) 00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 03) 00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 03) 00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 03) 00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 03) 00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 03) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d3) 00:1e.2 Multimedia audio controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (rev 03) 00:1e.3 Modem: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (rev 03) 00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 03) 00:1f.2 IDE interface: Intel Corporation 82801FBM (ICH6M) SATA Controller (rev 03) 00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 03) 02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5751M Gigabit Ethernet PCI Express (rev 11) 04:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev 8d) 04:00.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 13) 04:02.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)
update-usbids && lsusb:
Bus 005 Device 001: ID 0000:0000 Bus 004 Device 003: ID 0a5c:201e Broadcom Corp. Bus 004 Device 002: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader Bus 004 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 002 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000
Keyboard¶
In KDE: Keyboard model = IBM Thinkpad 560Z/600/600E/A22E, Intl.
In ~/.Xmodmap:
! from http://stefan.desire.ch/howto/x41debian/ keycode 77 = Num_Lock keycode 233 = XF86Forward keycode 234 = XF86Back ! from the Internet: use right control key as Windoze-Key remove Control = Control_R keycode 109 = Super_R
And in ~/.Xsession:
#!/bin/sh xmodmap ~/.Xmodmap
For some unknow reason, kdm/KDE does not execute ~/.Xsession, therefore:
cd ~/.kde/Autostart && ln -s ~/.Xsession dot.Xsession
I use the Super_R key (a.k.a. Windoze key) amongst other things as follows (see KDE Keyboard Shortcuts):
- Win-X = Maximise window
- Win-H = Maxmimise horizontally
- Win-V = Maxmimise vertically
- Win-Z = Minimise window
Real men don’t click..
See also:
- http://www.paganini.net/index.cgi/linux/nocaps.html
- http://www.in-ulm.de/~mascheck/X11/xmodmap.html
- xkeycaps(1), xmodmap(1)
X11 (xorg)¶
In /etc/X11/xorg.conf:
# /etc/X11/xorg.conf (xorg X Window System server configuration file)
#
# handgestrickt & mundgeblasen
Section "Files"
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/share/fonts/X11/cyrillic"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
# path to defoma fonts
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection
Section "Module"
Load "bitmap"
Load "dbe"
Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "record"
Load "type1"
Load "vbe"
Load "i2c"
EndSection
Section "InputDevice"
Identifier "klavier"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "ch"
Option "XkbVariant" "de"
EndSection
Section "InputDevice"
Identifier "nippel"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
#Option "Protocol" "ImPS/2"
#Option "Emulate3Buttons" "true"
Option "Protocol" "ExplorerPS/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
Section "Device"
Identifier "grafiktschipp"
Driver "i810"
BusID "PCI:0:2:0"
VideoRam 131072
EndSection
Section "Monitor"
Identifier "bildschirm"
Option "DPMS"
HorizSync 28-49
VertRefresh 43-72
DisplaySize 245 184
EndSection
Section "Screen"
Identifier "leinwand"
Device "grafiktschipp"
Monitor "bildschirm"
DefaultDepth 24
SubSection "Display"
Depth 1
Modes "1024x768" "800x600" "648x480"
EndSubSection
SubSection "Display"
Depth 4
Modes "1024x768" "800x600" "648x480"
EndSubSection
SubSection "Display"
Depth 8
Modes "1024x768" "800x600" "648x480"
EndSubSection
SubSection "Display"
Depth 15
Modes "1024x768" "800x600" "648x480"
EndSubSection
SubSection "Display"
Depth 16
Modes "1024x768" "800x600" "648x480"
EndSubSection
SubSection "Display"
Depth 24
Modes "1024x768" "800x600" "648x480"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "layout"
Screen "leinwand"
InputDevice "klavier"
InputDevice "nippel"
EndSection
Section "DRI"
Mode 0666
EndSection
Section "Extensions"
Option "Composite" "Enable"
EndSection
# eof
See also:
- http://opseast.wordpress.com/2007/11/05/getting-the-thinkpad-scroll-button-to-work-in-linux/
- http://www.mozilla.org/unix/dpi.html
3d Acceleration¶
If you want 3d acceleration working well (e.g. for Google Earth), you’ll need the new Intel driver (http://www.intellinuxgraphics.org). Fortunately, ''Jö'' provides updated packages for etch:
In /etc/apt/sources.list:
{{{deb http://jorrit.de/debian etch main}}}
And in /etc/X11/xorg.conf:
Section "Device"
Identifier "grafiktschipp"
Driver "intel"
EndSection
apt keys for 3rd party repositories¶
~/bin/apt-add-key:
#!/bin/sh for X in $*; do gpg --keyserver wwwkeys.eu.pgp.net --recv-key $K; gpg -a --export $K | apt-key add done
Credits¶
This page is loosely based upon the following pages (thanks for the hints):
- http://stefan.desire.ch/howto/x41debian
- http://demod.org/linux/thinkpad_x41
- http://linux.spiney.org/debian_gnu_linux_on_an_ibm_thinkpad_t43p_fingerprint_reader
- http://www.thinkwiki.org/wiki/Category:X41
- (https://www.net-track.ch/opensource/articles/x41.php)
Ubuntu¶
Scrolling in Lucid Lynx (10.4)¶
/usr/lib/X11/xorg.conf.d/20-thinkpad.conf:
Section "InputClass"
Identifier "Trackpoint Wheel Emulation"
MatchProduct "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint"
MatchDevicePath "/dev/input/event*"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "2"
Option "Emulate3Buttons" "false"
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
EndSection