Installing Fedora 11 on a ThinkPad X40
Success Chart - Out of the box experience
|Installation||Local CD/DVD install||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)||no||Display is off after resume. See below for workaround.|
|Suspend to Memory (ACPI sleep)||no||Display is off after resume. See below for workaround.|
|Audio||yes||Occasional choppy sound, especially during login|
|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|
|Extra Buttons||Keyboard Section||partial||See ThinkPad keyboard section below|
|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|
|SD slot||yes||4GB SDHC flash card automatically detected.|
|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 is straight forward; you can follow the generic Fedora install instructions.
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 recommended to add
highres=off since suspend/resume fails intermittently with highres enabled.
Finally as is mentioned below in the X Server section, you should disable KMS for now by adding
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 a variety of problems for now
- Only one display mode (highest resolution) on ThinkPad LCD (LVDS)
- External displays do not work, or cause screen corruption
- black screen on resume
- ghost modes on external VGA connector when no display is attached (unknown connection)
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.
For now the best solution is to add
nomodeset to the kernel line which will deactivate KMS, and returns you to the mode that was used in previous Fedora distributions.
'Desktop Effects' (compiz) seems to work with KMS enabled, but with KMS disabled it causes the X server to restart.
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 are handled by a mixture of the thinkpad_acpi, acpi button and acpi dock drivers.
|Fn-F4||suspend||acpi button||HAL||partial||Key event works, but can cause a double or triple suspend cycle|
|Fn-F5||wireless||thinkpad_acpi||HAL||no||See the wireless section below|
|Fn-F7||videomode||thinkpad_acpi||HAL||partial||causes a brief flash of the display. Can be associated with gnome-keybinding-properties|
|Fn-F9||undock||acpi button||HAL||no||causes event, but does not actually undock|
|Fn-F12||hibernate||acpi button||HAL||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.|
|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||HAL||partial||No default action, but can be associated with gnome-keybinding-properties|
|NextTab||Browser Next tab||standard keyboard driver||HAL||yes|
|PreviousTab||Browser Previous tab||standard keyboard driver||HAL||yes|
|Power||Power button||acpi button||HAL||yes||Need to press button for ~1 second to trigger event|
|Lid||Lid button||acpi button||HAL||yes|
|Dock||Dock eject button||-||no||no||Does not cause any event|
|Ultrabay||Ultrabay eject switch||acpi dock||udev||no||Causes udev event, but missing handler|
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.
Without "nomodeset", resume will technically work, but the display backligt never comes on again, so it is kind of useless for desktop use. You can verify that the kernel is alive by switching to a text console with Ctrl-Alt-F2 and then pressing Ctrl-Alt-Del to reboot; that works, so everything but the display seems to be alive.
Closing the lid does not initiate a suspend, I don't know why yet.
Untested on Fedora 11