Installing Fedora 16 on a ThinkPad X40

From ThinkWiki
Jump to: navigation, search
This is based on Fedora 16 with the default GNOME desktop. Your experience with KDE may be different. Since the video adapter in this ThinkPad is rather dated, Gnome 3 will run in Fallback/Classic mode.
Help needed
Not all models of this ThinkPad are equal, you may have a different WiFi adapter, or some options I did not have. If you tested them, please add their status down below.

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.

Item Working Notes
Installation Local CD/DVD install yes
Network Installation yes
USB Installation yes
Display Laptop Screen (LVDS) yes
VGA yes
Power Management Software Suspend (hibernate) yes
Suspend to Memory (ACPI sleep) yes
Audio yes
Wireless WiFi - Atheros yes
WiFi - Intel 2200BG yes
Bluetooth yes
Input Keyboard yes
TrackPoint yes
Extra keys partial see ThinkPad Extra keys section below
Ports Ethernet yes
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
Serial yes Requires dock
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
USB yes
PCMCIA/Cardbus yes
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.
Dock removal yes

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.

Key Function Handled by Event Works Notes
FnF3 lock screen thinkpad_acpi yes yes
FnF4 suspend acpi button yes yes
FnF5 wireless thinkpad_acpi yes partial Switches WiFi on and off, has no effect on Bluetooth
FnF7 videomode thinkpad_acpi yes partial Fails if external monitor >1024 horizontal
FnF9 undock acpi button yes no causes event, but does not actually undock
FnF12 hibernate acpi button yes yes
FnHome brightness up - no yes no OSD
FnEnd brightness down - no yes no OSD
FnPgUp thinklight - no yes no OSD
FnSpace 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