Installing Fedora 11 on a ThinkPad X40
Contents
Success Chart
Item | Working | Notes | |
Installation | Local CD/DVD install | yes | |
Network Installation | yes | ||
USB Installation | yes | ||
Display | Laptop Screen | yes | Only 1 video mode available |
VGA | no | xrandr claims unknown connection, even when nothing is attached (with 1024, 800 and 640 modes). | |
Power Management | Software Suspend (hibernate) | yes | |
Suspend to Memory (ACPI sleep) | yes | See the suspend section below | |
Audio | yes | ||
Wireless | WiFi - Atheros | yes | Works fine with WEP, I haven't managed to get it to work with a WPA network yet |
WiFi - Intel | yes | ||
Bluetooth | yes | ||
Extra Buttons | Keyboard Section | partial | See ThinkPad keyboard section below |
Ports | Ethernet | yes | |
Modem | no | Requires closed-source driver | |
Serial | unknown (should work) | 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. As a result no device files are created in /dev | |
PS/2 Keyboard/Mouse | unknown (should work) | Requires dock | |
Parallel | unknown (should work) | Requires dock | |
USB | yes | ||
PCMCIA/Cardbus | yes | ||
SD slot | partial | 4GB SDHC flash card automatically detected, but gnome-mount could not mount it. Mount as root from CLI worked. Perhaps a LiveCD side-effect? | |
Harddisk Active Protection | no | ||
Ultrabay device removal | no | Does not work reliably, due to missing dock eject detection | |
TPM (security subsystem) | unknown | Not brave enough to mess around with it |
Tested and Verified on Fedora 11
Information in this section has been tested and verified using Fedora 11.
Installation
Installation is straight forward; you can follow the generic Fedora install instructions.
Configuration
Kernel
It is recommended to edit /boot/grub/grub.conf and add hpet=force
to the kernel line. This will activate HPET (High Precision Event Timer), which will allow the CPU to sleep for longer periods and save power.
It is also reccommended to add "highres=off" since suspend/resume fails intermittently with highres enabled.
X Server
Basic X server functionality should work out of the box on the ThinkPad LCD (LVDS).
Fedora 11 uses KMS (Kernel Mode Setting) by default, and this causes problems for now with external displays. VGA external displays do not work properly, and can cause severe screen distortion/corruption when an external VGA display is activated.
KMS also breaks a lot of X applications such as xterm or xfontsel.
Even when no external VGA display is attached, xrandr claims a unknown connection with 1024x768, 800x600 and 640x480 modes. When a display is attached this is replaced by the modes from the actual VGA display.
On the up side, with KMS the maximum virtual display size is now 4096x4096 (2048x2048 without KMS), which should allow extended desktop once the issues with external display support are sorted.
Adding "nomodeset" to the kernel command disables KMS and makes most things work, but will not allow glitch-free switching between different video modes.
Desktop Effects
'Desktop Effects' (compiz) seems to work
Wireless Network
Both the Intel and Atheros wireless should work out of the box.
I tested the Intel and it worked. Atheros has also been tested.
To allow Fn-F5 to bypass HAL and enable/disable Bluetooth directly, add the following to /etc/rc.local:
echo 0x008c7fef > /proc/acpi/ibm/hotkey
If you enable this, Fn-F5 will no longer affect the Atheros wireless network.
ThinkPad keys
ThinkPad keys are handled by a mixture of the thinkpad_acpi, acpi button and acpi dock drivers.
Key | Function | Handled by | HAL event | Works | Notes |
Fn-F3 | lock screen | thinkpad_acpi | yes | yes | |
Fn-F4 | suspend | acpi button | yes | partial | Key event works, suspend itself does not |
Fn-F5 | wireless | thinkpad_acpi | yes | no | See the wireless section below |
Fn-F7 | videomode | thinkpad_acpi | yes | partial | causes a brief flash of the display. Can be associated with gnome-keybinding-properties |
Fn-F9 | undock | acpi button | yes | no | causes event, but does not actually undock |
Fn-F12 | hibernate | acpi button | yes | partial | does the same as Fn-F4 (suspend), not hibernate |
Fn-Home | brightness up | - | no | yes | changing thinkpad_acpi hotkey_mask, causes HAL events. But sysfs backlight brightness value does not change, so OSD is wrong. |
Fn-End | brightness down | - | no | yes | changing thinkpad_acpi hotkey_mask, causes HAL events. But sysfs backlight brightness value does not change, so OSD is wrong. |
Fn-PgUp | thinklight | - | no | yes | changing thinkpad_acpi hotkey_mask, causes HAL events. No OSD in any case. |
Fn-Space | zoom | thinkpad_acpi | yes | no | |
VolumeUp | Volume Up | - | no | yes | changing thinkpad_acpi hotkey_mask, causes HAL events. But OSD is wrong |
VolumeDown | Volume Down | - | no | yes | changing thinkpad_acpi hotkey_mask, causes HAL events. But OSD is wrong |
Mute | Mute | - | no | yes | changing thinkpad_acpi hotkey_mask, causes HAL events and OSD. works as a on/off toggle |
Access IBM | Vendor key | thinkpad_acpi | yes | partial | No default action, but can be associated with gnome-keybinding-properties |
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 event |
Lid | Lid button | acpi button | yes | yes | |
Dock | Dock eject button | - | no | no | |
Ultrabay | Ultrabay eject switch | acpi dock | no | no | Handled by ACPI dock driver, but does not work |
Suspend/Resue
It's possible to get suspend to work by adding "highres=off" to the kernel command line. If you suspend using Fn-F4 the machine may enter suspend multiple times, use Fedora Menu->Shutdown->Suspend instead.
Closing the lid does not initiate a suspend, I don't know why yet.
Untested on Fedora 11
SDIO