Installing Fedora 11 on a ThinkPad X40

From ThinkWiki
Revision as of 09:49, 4 August 2009 by Tonko (Talk | contribs) (Success Chart)
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

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
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 reccommended to add "highres=off" since suspend/resume fails intermittently with highres enabled.

Finally, add "nomodeset", without this the screen will become corrupted by some programs, and the display backlight will not come on after a resume.

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.

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 should be fixed with the next major Xorg (v1.7) release.
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, suspend itself does not
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