Lenovo ThinkPad X120e

From ArchWiki
Revision as of 21:08, 30 April 2012 by Markuman (talk | contribs)
Jump to: navigation, search

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary end

Install Notes

Video Drivers

Users have the choice between the open source ATI video driver or the closed source Catalyst video driver.

In order to use the open source driver you must have at least kernel 2.6.38.

The open source ATI driver has flawless performance (including suspend). Gnome 3 works well with the open source ATI driver.

The Catalyst drivers do offer better 3D performance but usually have various minor issues (such as suspend support). As of kernel, suspend appears to work fine with this computer while using the catalyst drivers.


The Thinkpad X120e can come with one of two wireless cards.

  • The Realtek BGN Wifi card currently is supported by rtl8192ce from AUR.
    • The 2.6.38 kernel includes support for this card, but suffers from intermittent hard locks when associating with an access point. The AUR driver linked here does not suffer from this problem. (The Ubuntu folks seem to have the same issue with the x120e and the module included in the kernel.)
    • The rtl8192ce package is no longer in the AUR. The driver can be downloaded from Realtek here.
  • The Broadcom ABGN Wifi card is currently supported by broadcom-wl from AUR. See the Broadcom wireless wiki page for more info.


The kernel modules work, but the HDMI audio is the primary device (not the speaker). You can swap that:

$ cat ~/.asoundrc
pcm.!default {
type hw
card 1
ctl.!default {
type hw           
card 1

Note: Alternatively, you can accomplish the same thing by configuring the snd-hda-intel module:

$ grep snd-hda-intel /etc/modprobe.d/modprobe.conf
options snd-hda-intel index=1

By specifying index you no longer have to specify the default in .asoundrc


TrackPoint Scrolling (wheel emulation)

To enable scrolling with the TrackPoint while holding down the middle mouse button, create a new file /etc/X11/xorg.conf.d/20-thinkpad.conf with the following content:

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"

There are more details about how this works on the Xorg page.

Disabling the TrackPad

If you try to use your x120e lying down you will notice its very easy to hit the TrackPad buttons and invert the functionality of the other inputs(fun).

To disable the buttons and pad add the following to /etc/X11/xorg.conf.d/10-synaptic.conf:

Section "InputClass"
        Identifier      "Synaptics Touchpad"
        Driver          "synaptics"
        Option          "SendCoreEvents"        "true"
        Option          "Device"                "/dev/psaux"
        Option          "Protocol"              "auto-dev"
        Option          "HorizScrollDelta"      "0"
        Option          "SHMConfig"             "on"

And install the synaptics driver from extra:

# pacman -S xf86-input-synaptics

You can now toggle the TrackPads functionality using the synclient utility:

$ synclient TouchpadOff=0 ; enables
$ synclient TouchpadOff=1 ; disables

If you want this to be permanent add the option to your Xorg config:

        Option          "TouchpadOff"             "1"

Power Management

Enable Thinkpad ACPI

To have the thinkpad_acpi module load everytime at bootup add it to MODULES=() in /etc/rc.conf

This module allows you to see and control various aspects of your Thinkpad from /proc/acpi/ibm

Disable Bluetooth

Note: You must first have the thinkpad_acpi kernel module loaded

To save some power you can disable Bluetooth:

echo "disable" > /proc/acpi/ibm/bluetooth

If you want to disable Bluetooth at every boot just add that line to /etc/rc.local

CPU Scaling

To enable dynamic CPU Frequency Scaling first add powernow-k8 to MODULES=() in /etc/rc.conf Next add the following to /etc/rc.local:

echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo ondemand > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor

If you wish to have the ondemand governor ignore niced (background) processes when deciding whether to increase CPU speed:

echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/ignore_nice_load

ATI Video card Powersaving

Under the opensource ATI video card driver you can control the clockspeed of the GPU. The recommended setting is:

echo dynpm > /sys/class/drm/card0/device/power_method

This enables dynamic frequency switching based off of GPU load. Further information on this topic can be found in ATI#Powersaving.

SATA Power Policy

echo min_power > /sys/class/scsi_host/host0/link_power_management_policy

Will tell hard drive to minimize power use.

Sound card Powersaving

Because the sound card in the X120e isn't actually an Intel card (even though it uses the Intel HDA driver) I'm not sure if this actually does anything. Doesn't seem to cause any problems though.

echo 1 > /sys/module/snd_hda_intel/parameters/power_save

CPU Undervolting

Warning: Undervolting can lead to instability and consequently data loss, only you are responsible if you break something

The Fusion Processor can be undervolted with the PHC-K8 tool. See PHC for usage information. For the AMD Fusion you'll want to download phc-k8 from AUR.

Note: In order to lower CPU power usage you must actually raise the PHC values. (somewhat counter-intuitive)

"24 26 52" is what I have my E-350 set to. The three numbers represent 1600mhz, 1200mhz and 800mhz.

Warning: The three values listed above are stable on MY processor. Due to variables during production, you're chip may be able to be undervolted more or LESS. Feel free to post the stable values that you reach to this wiki.

Fan Control

The X120e's fan spins constantly but luckily can be controlled by the user.

Warning: Modify fan settings at your own risk, only you are responsible if you toast your laptop or your lap.
Note: Even with undervolting the APU produces enough heat to have to occasionally run the fan even at idle.

To enable manual fan control place the following into /etc/modprobe.d/modprobe.conf

options thinkpad_acpi fan_control=1

Now you have to reload thinkpad_acpi module or reboot your Netbook.

# rmmod thinkpad_acpi && modprobe thinkpad_acpi

Now it should look like that:

# cat /proc/acpi/ibm/fan 
status:		disabled
speed:		0
level:		0
commands:	level <level> (<level> is 0-7, auto, disengaged, full-speed)
commands:	enable, disable
commands:	watchdog <timeout> (<timeout> is 0 (off), 1-120 (seconds))

At this point the fan will still be safely under the system's control. You can either directly modify the values in /proc/acpi/ibm (NOT RECOMMENDED. e.g. 'echo level 1 > /proc/acpi/ibm/fan') or install a fan control daemon such as [thinkfan].

External Resources

X120e on ThinkWiki

Undervolting the AMD Fusion with PHC-tool