Installing Fedora 11 on a ThinkPad X40

From ThinkWiki
Revision as of 20:34, 14 July 2009 by Wingel (Talk | contribs) (Suspend/Resue)
Jump to: navigation, search
NOTE!
This is based on the LiveCD (running from USB with persistent storage) pre-release version of Fedora 11. Which means some functions could not be tested. But should give a good indication of what to expect of the final release

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.

NOTE!
Due to Xorg limitations, some keys that cause HAL events work with Xorg (Access IBM and Fn-F7) and others do not. This is a known limitation that should be fixed with the next major Xorg (v1.7) release.
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.

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