Installing Fedora 7 on a ThinkPad X41 Tablet
Contents
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 | |
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.
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
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
Wireless Network
The wireless card works out of the box- no additional drivers necessary.
Network Manager is installed by default, but is not enabled by default. To turn it on, do as root:
# chkconfig NetworkManager on
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.
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
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
Fingerprint Reader
The fingerprint reader is supported through the BioAPI framework. The BioAPI framework and the UPEK fingerprint reader driver can be installed as follows:
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
Software
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
Java 1.5
Install Sun's JRE 1.5. This is required for the jarnal program below.
- Download the build:
$ wget http://mirrors.dotsrc.org/jpackage/1.6/generic/non-free/SRPMS/java-1.5.0-sun-1.5.0.06-1jpp.nosrc.rpm
- Create the build environment:
# rpm -Uvh java-1.5.0-sun-1.5.0.05-1jpp.nosrc.rpm
- Download the JVM from Sun's Java page and download jdk-1_5_0_06-linux-i586.bin to /usr/src/redhat/SOURCES
- Build the RPMs:
# rpmbuild -ba /usr/src/redhat/SPECS/java-1.5.0-sun.spec
- Install the JVM:
# yum localinstall /usr/src/redhat/RPMS/i586/java-1.5.0-sun-1.5.0.06-1jpp.i586.rpm
- Install the fonts:
# yum localinstall /usr/src/redhat/RPMS/i586/java-1.5.0-sun-fonts-1.5.0.06-1jpp.i586.rpm
Note: This is tailored for the latest JVM as of writing this article. Substitute the latest version numbers if this doesn't work.
Jarnal Note-Taking
Install the Jarnal note-taking application:
# wget http://www.cs.cornell.edu/~saikat/jarnal-8.14-1sg.noarch.rpm
# yum localinstall jarnal-8.14-1sg.noarch.rpm
External Sources
- This guide is listed at the TuxMobil Linux laptop and notebook installation survey (IBM/Lenovo) and the Linux on Tablet PCs and webpads survey.