Installing Fedora 16 on a ThinkPad X40
New in this release
Fixed or new in this Fedora release, with regards to this model ThinkPad is the following;
Success Chart - Out of the box experience
This machines SMOLT profile is available here.
|Installation||Local CD/DVD install||yes|
|Display||Laptop Screen (LVDS)||yes|
|Power Management||Software Suspend (hibernate)||yes|
|Suspend to Memory (ACPI sleep)||yes|
|Wireless||WiFi - Atheros||yes|
|WiFi - Intel 2200BG||yes|
|Extra keys||partial||see ThinkPad Extra keys section below|
|Modem||no||Requires closed-source driver. May work by installing the slmodem rpm from the rpmfusion-nonfree repository, edit /etc/sysconfig/slmodem and set INTERFACE=alsa and ALSA_DEVICE=modem:1 and optionally the country. Then run "chkconfig slmodem on; service slmodem start" and point your dialer to /dev/ttySL0|
|IrDA||no||It seems the device is detected, but then it tries to register a second device and fails with "nsc_ircc_open(). can't get iobase of 0x2f8".|
|PS/2 Keyboard/Mouse||yes||Requires dock. Mouse works, but disables Trackpoint.|
|Parallel||unknown (should work)||Requires dock|
|SD slot||yes||4GB SDHC flash card automatically detected.|
|Harddisk Active Protection||partial||There is a hdapsd rpm, but it is not installed by default, and neither is the hdaps kernel module getting automatically loaded. And even after install it is not started automatically. Starting it manually (modprobe hdaps; hdapsd -d sda), does seem to cause the HDD heads to get parked, but it gives lots of warnings that seem to indicate it does not yet work as intended.|
|Ultrabay device removal||partial||Eject switch causes udev event, but no default udev script to handle the event to unmount filesystems in time. ata_piix does handle the removal and insertion of ATA devices.|
|TPM (security subsystem)||yes||Enable security chip in BIOS, then "yum install tpm-tools", then "modprobe tpm_atmel; service tcsd start; tpm_version" works.|
Tested and Verified on Fedora 16
Information in this section has been tested and verified using Fedora.
Installation is straight forward; you can follow the generic Fedora install instructions.
It is recommended to edit /etc/default/grub and add
hpet=force to the GRUB_CMDLINE_LINUX line, and running
# grub2-mkconfig. This will activate HPET (High Precision Event Timer), which will allow the CPU to sleep for longer periods and save power.
X Server - Intel 855GM
Both LVDS and VGA displays work in mirror and extended desktop mode, although extended desktop is rather limited as the Intel graphics chip is limited to just a 2048x2048 desktop size.
- Unknown physical LVDS display size (reported as 0mm x 0mm)
- Cycling through external display modes with Fn-F7 only works, if the combined horizontal resolutions of the LVDS and external display combined does not exceed 2048 pixels. Since the LVDS (ThinkPad LCD) is 1024 pixels horizontal on a X40, that means the external display cannot have more then 1024 pixels either or otherwise Fn-F7 will fail.
- Xv (Xvideo) when in mirror mode works on the external display, but not the LVDS
ThinkPad Extra keys
ThinkPad keys are handled by a mixture of the thinkpad_acpi, acpi button and acpi dock drivers.
|wireless||thinkpad_acpi||yes||partial||Switches WiFi on and off, has no effect on Bluetooth|
|videomode||thinkpad_acpi||yes||partial||Fails if external monitor >1024 horizontal|
|undock||acpi button||yes||no||causes event, but does not actually undock|
|brightness up||-||no||yes||no OSD|
|brightness down||-||no||yes||no OSD|
|zoom||thinkpad_acpi||yes||no||Known Xorg limitation, scheduled to be fixed with the new XKB2 extension, whenever that may be.|
|VolumeUp||Volume Up||thinkpad_acpi||no||yes||no OSD. Hardware and Software volume controls are independent from each other.|
|VolumeDown||Volume Down||thinkpad_acpi||no||yes||no OSD. Hardware and Software volume controls are independent from each other.|
|Mute||Mute||thinkpad_acpi||no||yes||no OSD. Hardware and Software mute controls are independent from each other.|
|Access IBM||Vendor key||thinkpad_acpi||yes||partial||No default action, but can be associated in the Gnome3 keyboard settings|
|NextTab||Browser Next tab||standard keyboard driver||yes||yes|
|PreviousTab||Browser Previous tab||standard keyboard driver||yes||yes|
|Power||Power button||acpi button||yes||yes||Need to press button for ~1 second to trigger a suspend event.|
|Lid||Lid button||acpi button||yes||yes||Triggers a suspend event|
|Dock||Dock eject button||acpi dock||udev||yes|
|Ultrabay||Ultrabay eject switch||acpi dock||udev||no||Causes udev event, but missing handler. See below.|
Ultrabay eject is not handled properly by default. Since there is no undock udev handler. This udev rule and eject script works for me: How to hotswap Ultrabay devices
- Parallel port