Installing Fedora 7 on a ThinkPad X41 Tablet
Page Not Accurate!
This page is not accurate; I've just copied it over from Installing Fedora Core 5 on a ThinkPad X41 Tablet in order to start editing/updating it for Fedora 7. Please feel free to help out with that if you stumble across this page while it is still a work in progress.
Success Chart
Item | Working | Notes | |
Installation | Network Installation | Yes | |
USB Installation | Yes (DVD) | ||
Display | Laptop Screen | Yes | |
CRT / Projector | Yes | ||
Screen Rotation | Yes | ||
Stylus | Yes | Requires configuration changes. | |
Power Management | Software Suspend (hibernate) | Yes | Software Suspend 2 |
Suspend to Memory (ACPI sleep) | Yes (mostly) | Software Suspend 2 | |
Audio | Yes | ||
Wireless | 802.11b/g | Yes | |
Bluetooth | Not Tested (should work) | See Bluetooth on Fedora Core 4 | |
Infrared | Yes | ||
Extra Buttons | Keyboard Section | Yes | ibm-acpi driver |
Tablet buttons | Yes | setkeycodes | |
Fingerprint Scanner | Yes | bioapi | |
Harddisk Active Protection | Yes | kernel 2.6.16, hdapsd |
Tested and Verified on Fedora 7
Information in this section has been tested and verified using Fedora 7.
Installation
Installation is straight forward; you can use the generic install instructions here.
Configuration
X Server
Basic X server functionality should work out of the box.
Desktop Effects
'Desktop Effects' work but are not enabled by default; to enable them run 'desktop-effects' and click 'enable desktop effects'. Note that these conflict with working rotation- you get either desktop effects or tablet rotation; not both.
Tablet Buttons
Activate mappings for the tablet buttons by adding the following lines to /etc/rc.d/rc.local:
# Map tablet hardware buttons setkeycodes 6e 109 6d 104 69 28 6b 1 6c 120
Enabling the Stylus
Add the following lines to /etc/rc.d/rc.local:
(Note: You will need to be root to perform these two edits)
# Map stylus to a serial port setserial /dev/ttyS0 port 0x0200 irq 5 autoconfig
Add the lines in bold font to /etc/X11/xorg.conf:
Section "ServerLayout" Identifier "default" Screen 0 "Screen0" 0 0 InputDevice "Mouse0" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" InputDevice "cursor" "SendCoreEvents" InputDevice "stylus" "SendCoreEvents" EndSection Section "InputDevice" Driver "wacom" Identifier "cursor" Option "Device" "/dev/ttyS0" Option "Type" "cursor" Option "ForceDevice" "ISDV4" Option "Mode" "Absolute" Option "TPCButton" "on" EndSection Section "InputDevice" Driver "wacom" Identifier "stylus" Option "Device" "/dev/ttyS0" Option "Type" "stylus" Option "ForceDevice" "ISDV4" EndSection
If the style stops working after a suspend/resume cycle, (as root) create the following file /usr/lib/pm-utils/sleep.d/40wacom
#!/bin/bash . /usr/lib/pm-utils/functions suspend_wacom() { } resume_wacom() { # Reset serial port for stylus setserial /dev/ttyS0 port 0x0200 irq 5 autoconfig } case "$1" in hibernate|suspend) suspend_wacom ;; thaw|resume) resume_wacom ;; *) ;; esac exit $?
Wireless Network
The wireless card works out of the box- no additional drivers necessary.
Network Manager is installed by default, but may not be enabled by default depending on your mode of installation. To turn it on, do as root:
# chkconfig NetworkManager on
tpb/on-screen display
tpb, which controls the onscreen display of thinkpad buttons, is not installed by default.
To install tpb execute:
# yum install tpb
Once installed, no configuration is necessary.
Fingerprint Reader
The fingerprint reader is supported by the thinkfinger package.
To install thinkfinger execute:
# yum install thinkfinger
Tablet Software
Xournal
Xournal is a gnome-based journaling tool for tablets; you can get packages for Fedora 7 from here.
Untested on Fedora 7
Information below this line is merely copied from the Fedora Core 5 guide and has not been tested on Fedora 7.
Enabling Screen Rotation
Download (and verify) the following script into your path:
$ wget http://www.cs.cornell.edu/~saikat/rotate
$ chmod a+x rotate
Rotate the screen using the script:
$ rotate -h
Useage:
rotate [left|right|inverted|normal]
If no option is given, rotates the screen 90 degrees to the right.
To bind the tablet's Rotate button to rotate the screen on-the-fly, add the following line to /etc/X11/Xmodmap
keycode 139 = XF86RotateWindows
Hibernation
Software suspend works using Software Suspend 2. To install:
# cd /etc/yum.repos.d
# wget http://mhensler.de/swsusp/download/suspend2.repo
# yum install userui-suspend2-fbsplash userui-suspend2-theme-fedorabubbles kernel-suspend2
Edit the appropriate kernel line in /etc/grub.conf and add the parameters vga=0x317
and acpi_sleep=s3_bios
. For example:
title Fedora Core (<kernel.version-build>.rhfc5.cubbi_suspend2) root (hd0,1) kernel /vmlinuz-<kernel.version-build>.rhfc5.cubbi_suspend2 ro root=/dev/VolGroup00/LogVol00 rhgb quiet vga=0x317 acpi_sleep=s3_bios initrd /initrd-<kernel.version-build>.rhfc5.cubbi_suspend2.img
Comment out the following line in /etc/hibernate/hibernate.conf:
# ProcSetting userui_program /sbin/suspend2ui_text
Add the following lines in /etc/hibernate/hibernate.conf:
ProcSetting userui_program /sbin/suspend2ui_fbsplash OnResume 96 setserial /dev/ttyS0 port 0x0200 irq 5 autoconfig
Add the following lines in /etc/hibernate/ram.conf:
Distribution fedora
Comment out the following lines in /etc/hibernate/ram.conf:
# EnableVbetool yes # VbetoolPost yes
Make the following changes (i.e. comment out the two vbetool lines, and add the return 0 line in the resume_video function) in /etc/pm/functions-intel:
resume_video() { ( # /usr/sbin/vbetool post # /usr/sbin/vbetool vbestate restore < /var/run/vbestate return 0 ) >/dev/null 2>&1 }
Force the use of suspend2 by editing the appropriate lines in /etc/sysconfig/pm:
HIBERNATE_METHOD="suspend2" HIBERNATE_RESUME_POST_VIDEO="no"
Problems with a black screen after resuming can sometimes be fixed by adding the following line to the device section in /etc/X11/xorg.conf:
Option "VBERestore" "true"
Add the following file /etc/pm/hooks/40wacom:
#!/bin/sh setserial /dev/ttyS0 port 0x0200 irq 5 autoconfig
wget http://www.cs.cornell.edu/~saikat/libbiometrics-1.2.2-1.sg.i386.rpm wget http://www.cs.cornell.edu/~saikat/libbiometrics-tfmess-1.0-1.sg.i386.rpm yum localinstall libbiometrics-1.2.2-1.sg.i386.rpm libbiometrics-tfmess-1.0-1.sg.i386.rpm
this support into pam (and therefore logins, gdm, screensaver etc.) is in the works. Those interested in developing biometrics applications
can install libbiometrics-devel-1.2.2-1.sg.i386.rpm. SRPMS for the above are available here.To try out enrollment and verification, run: # useraddbio
Harddrive Active Protection System (HDAPS)
Harddrive active protection system requires the hdaps kernel module (included in stock Fedora kernels), and a kernel capable of parking disks (patch included in kernel-suspend2 RPMs from the Hibernation section above). It also requires a userspace daemon to monitor the accleration sensor and park the disk head when excessive motion is detected. To install the userspace daemon, do the following:
# wget http://www.cs.cornell.edu/~saikat/hdapsd-20060326cvs-1.sg.i386.rpm
# yum localinstall hdapsd-20060326cvs-1.sg.i386.rpm
If software suspend is enabled, add the following line to /etc/hibernate/hibernate.conf
UnloadModules hdaps
To install the Gnome panel applet that monitors the state of the harddisk, install:
# wget http://www.cs.cornell.edu/~saikat/gnome-applet-hdaps-20060120cvs-1.sg.i386.rpm
# yum localinstall gnome-applet-hdaps-20060120cvs-1.sg.i386.rpm