Installing Fedora 11 on a ThinkPad X40

From ThinkWiki
Revision as of 10:55, 1 September 2009 by Tonko (Talk | contribs) (ThinkPad keys)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
NOTE!
Some functions mentioned below might rely on available Fedora updates being installed. So if your having problems with something that is supposed to work, please ensure you have all available updates installed

Success Chart - Out of the box experience

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) 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
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 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

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 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 nomodeset

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 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

'Desktop Effects' (compiz) seems to work with KMS enabled, but with KMS disabled it causes the X server to restart.

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.

NOTE!
Due to Xorg limitations, some keys that cause HAL events work with Xorg and others do not (Fn-Space). This is a known limitation that is scheduled to be fixed with XKB2 which is planned for the Xorg 1.8 release sometime in 2010.
Key Function Handled by Event Works Notes
Fn-F3 lock screen thinkpad_acpi HAL yes
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.
Fn-Space zoom thinkpad_acpi HAL 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 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

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.

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

SDIO