IBM ThinkPad X41

From ArchWiki
Revision as of 12:17, 18 April 2013 by Willprice94 (Talk | contribs) (Disable NMI watchdog)

Jump to: navigation, search

The X41 and X41t (tablet) are both SATA-based machines that include a SATA-PATA bridge allowing the use of PATA HDDs, see external links for modifications to use SATA HDDs and SSDs. The laptops utilise a Pentium M processor (either 1.5GHz or 1.6GHz), the Linux-ck packages contain optimised packages for this architecture.

This article contains some useful tweaks to make the most of your machine, the tweaks are mainly powersaving biased. With vanilla Arch, around 3 hours battery life was achieved, following powersaving tweaks were applied more than 5 hours was achieved, this was with second highest screen brightness.

Useful packages

Some useful packages for your IBM/Lenovo ThinkPad X41:

System Packages

  • acpi - provides /proc/acpi, interesting things like lid state, temperatures, volume, brightness etc.
  • xf86-input-wacom - Driver supporting Wacom tablet screen.
  • xf86-video-intel - Xorg driver for the Intel 915GM graphics chip.
  • tp_smapi - Adds support for SMAPI functions (battery discharge control, battery information, hdaps acceloremeter support).
  • thinkfinger - Driver for fingerprint reader.

The IBM X41 comes with a ipw2915 wireless Centrino (A, B and G) or ipw2200 wireless Centrino (B and G) module, the ipw2200 module provides support for these too devices. netctl has been tested and works flawlessly with the ipw2915

Applications

  • powertop - Measure power usage.
  • cellwriter - (X41t) on-screen tablet keyboard.
  • thinkfanAUR - Control the utilisation of the fan.
  • gpm - Linux console mouse server.

General Tweaks

Scrolling with trackpoint

The following file can be installed for Xorg to support middle mouse button and trackpoint scrolling.

/etc/X11/xorg.conf.d/10-trackpoint.conf

Section "InputClass"
        Identifier      "Trackpoint Wheel Emulation"
        MatchProduct    "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device"
        MatchDevicePath "/dev/input/event*"
        Option          "EmulateWheel"          "true"
        Option          "EmulateWheelButton"    "2"
        Option          "Emulate3Buttons"       "false"
        Option          "XAxisMapping"          "6 7"
        Option          "YAxisMapping"          "4 5"
EndSection

Taken from Xorg#Example: Wheel emulation (for a Trackpoint)

Powersaving tweaks

Initially without any powersaving tweaks, the X41 uses quite a lot of power (this can be monitored using powertop, it also provides suggestions for reducing power consumption). Here are some modifications that I found considerable improved the battery life of the X41t.

laptop-mode (kernel)

Laptop mode is included in the kernel, it buffers disk activities to reduce utilisation of your HDD therefore saving a considerable amount of power. The effect with SSDs is less pronounced, but still saves some power.

echo "vm.laptop_mode=5" | sudo tee /etc/sysctl.conf/laptop_mode.conf"

SATA-ALPM (pm-utils)

ALPM - Aggressive Link Power Management allows the SATA host bus adapter to enter a low power state when inactive therefore reducing power consumption.

echo "SATA_ALPM_ENABLE=true" | sudo tee /etc/pm/config.d/sata_alpm
sudo chmod +x /etc/pm/config.d/sata_alpm

Powersaving on PCI devices

Powersaving isn't automatically enabled on devices as sometimes it causes issues, this saved me about 3W.

/etc/udev/rules.d/pci_powersaving.rules
ACTION=="add", SUBSYSTEM=="pci", ATTR{power/control}="auto"

i915 RC6 powersaving

The i915 chipset supports a variety of powersaving features, checkout modinfo i915 \| grep -i power for all options. The following are a good set to enable.

/etc/modprobe.d/i915.conf
options i915 i915_enable_rc6=7 i915_enable_fbc=1 lvds_downclock=1 

RC6 is a powersaving protocol, 7 enables RC6, deep RC6 and deepest RC6 (refer to Power Management#Enable RC6 Power Save Options for more information). i915_enable_fbc=1 enables framebuffer compression reducing the time taken to update the screen. lvds_downclock=1 lowers the clockrate of the screen.

Disable NMI watchdog

The NMI watchdog is a debugging feature of the linux kernel that is enabled by default. It is useless for normal operation and significantly increases the number of CPU wakeups/second.

echo "kernel.nmi_watchdog=0" | sudo tee /etc/sysctl.conf/nmi_watchdog.conf

PHC

PHC - Processor Hardware Control. intel-phcAUR supports the Mobile Centrino line of processors and hence the X41, this program allows you to undervolt your CPU.

$ yaourt -S intel-phc
$ phc-intel setup # To install drivers
$ yaourt -S linux-phc-optimize
$ sudo linux-phc-optimize # Repeat this each time the laptop crashes until you've got a full set of parameters

Once you have established stable VIDs, adding them to system startup can be accomplished modifying the intel-phc configuration file. If it doesn't exist, create it

/etc/phc-intel.conf
 VIDS=""  

You can check that this is enabled on your next reboot by {[ic|sudo intel-phc status}}

Tablet support

The X41t utilises a Wacom digitiser for input, pacman -S xf86-input-wacom provides support for it. Once installed the driver should be activated following the next reboot or modprobe xf86-input-wacom.


External links