Difference between revisions of "Lenovo ThinkPad X120e"

From ArchWiki
Jump to: navigation, search
(Audio: that .asoundrc was obese; fixed)
(Video drivers: Remove out of date info.)
(33 intermediate revisions by 6 users not shown)
Line 8: Line 8:
 
{{Article summary end}}
 
{{Article summary end}}
  
=Install Notes=
+
== CPU ==
 
+
==CPU==
+
  
 
The AMD CPU used on the X120e is microcode-upgradeable. To enable this functionality install the ''amd-ucode'' packages (available on extra) and add ''microcode'' to the MODULE list on /etc/rc.conf.
 
The AMD CPU used on the X120e is microcode-upgradeable. To enable this functionality install the ''amd-ucode'' packages (available on extra) and add ''microcode'' to the MODULE list on /etc/rc.conf.
  
==Video Drivers==
+
== Video drivers ==
{{Accuracy|There is no such thing as "kernel 3.2.6.2"}}
+
 
 
Users have the choice between the open source [[ATI]] video driver or the closed source [[Catalyst]] video driver.
 
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.
+
== Wireless ==
  
The open source ATI driver has flawless performance (including suspend). [[Gnome 3]] works well with the open source ATI driver.  
+
The Thinkpad x120e is available with one of two wireless cards.
 +
*The Realtek BGN Wifi card is currently supported out of the box by the rtl8192ce driver, which was integrated into the Linux kernel as of version 3.2. This card, however, suffers from access point association and connection stability problems, especially in meshed wireless networks due to poor wireless radius detection. Since driver development by Realtek effectively stopped as of January 2012, the general consensus among many owners online has been to swap out this wireless card for a different better supported half-mini PCI card such as the Intel 6230. This however requires a BIOS patch to remove Lenovo's hardware restriction on which wireless cards can be used in the computer. More information in regards to that can be found in [http://forums.mydigitallife.info/threads/20223-Remove-whitelist-check-add-ID-s-to-break-hardware-restrictions-mod-requests/page175 this] thread.
  
The Catalyst drivers do offer better 3D performance but usually have various minor issues (such as suspend support). As of kernel 3.2.6.2, suspend appears to work fine with this computer while using the catalyst drivers.
+
* The Broadcom ABGN Wifi card is currently supported by the b43 driver. This driver is recommended over the broadcom-wl.
  
==Wireless==
+
== Audio ==
{{Out of date|rtl8192ce no longer exists in aur}}
+
The Thinkpad X120e can come with one of two wireless cards.
+
*The Realtek BGN Wifi card currently is supported by {{AUR|rtl8192ce}}..
+
**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 [https://bugs.launchpad.net/ubuntu/+source/linux/+bug/769812 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 [http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=48&PFid=48&Level=5&Conn=4&DownTypeID=3&GetDown=false&Downloads=true#RTL8188CE here].
+
*The Broadcom ABGN Wifi card is currently supported by [https://aur.archlinux.org/packages.php?ID=19514 broadcom-wl] from AUR. See the [https://wiki.archlinux.org/index.php/Broadcom_wireless Broadcom wireless] wiki page for more info.
+
  
==Audio==
 
 
The kernel modules work, but the HDMI audio is the primary device (not the speaker). You can swap that:
 
The kernel modules work, but the HDMI audio is the primary device (not the speaker). You can swap that:
  
Line 43: Line 35:
 
Note: Alternatively, you can accomplish the same thing by configuring the snd-hda-intel module:
 
Note: Alternatively, you can accomplish the same thing by configuring the snd-hda-intel module:
  
{{hc|$ grep snd-hda-intel /etc/modprobe.d/modprobe.conf|2=options snd-hda-intel index=1}}
+
{{hc|$ grep snd-hda-intel /etc/modprobe.d/snd-hda-intel.conf|2=options snd-hda-intel index=1}}
  
By specifying index you no longer have to specify the default in .asoundrc
+
By specifying index you should no longer specify the default in {{ic|~/.asoundrc}}.
 +
 
 +
== Input ==
 +
 
 +
=== TrackPoint scrolling (wheel emulation) ===
  
==Input==
 
===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:
 
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:
  
Line 63: Line 57:
  
 
There are more details about how this works on the [[Xorg#InputClasses|Xorg]] page.
 
There are more details about how this works on the [[Xorg#InputClasses|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:
+
=== Disabling the TrackPad ===
Section "InputClass"
+
        Identifier      "Synaptics Touchpad"
+
        Driver          "synaptics"
+
        Option          "SendCoreEvents"        "true"
+
        Option          "Device"                "/dev/psaux"
+
        Option          "Protocol"              "auto-dev"
+
        Option          "HorizScrollDelta"      "0"
+
        Option          "SHMConfig"            "on"
+
EndSection
+
  
And install the synaptics driver from extra:
+
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).
# pacman -S xf86-input-synaptics
+
 
 +
Install {{Pkg|xf86-input-synaptics}} from the [[official repositories]].
  
 
You can now toggle the TrackPads functionality using the synclient utility:
 
You can now toggle the TrackPads functionality using the synclient utility:
Line 84: Line 68:
 
  $ synclient TouchpadOff=1 ; disables
 
  $ synclient TouchpadOff=1 ; disables
  
If you want this to be permanent add the option to your Xorg config:
+
If you want this to be permanent add the option to your /etc/X11/xorg.conf.d/10-synaptics.conf:
 
         Option          "TouchpadOff"            "1"
 
         Option          "TouchpadOff"            "1"
  
==Power Management==
+
Also, you can use this script for change touchpad status:
===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
+
  #!/bin/sh
 +
  tstat=$(xinput list-props "SynPS/2 Synaptics TouchPad" | awk '/Synaptics Off/ { print $NF }')
 +
  if [ $tstat = 0 ]; then
 +
      synclient TouchpadOff=1
 +
  else
 +
      synclient TouchpadOff=0
 +
  fi
 +
 
 +
=== TrackPoint speed and sensitivity ===
 +
 
 +
You can up your trackpoint speed with next command:
 +
 
 +
$ xinput --set-prop 13 'Device Accel Profile' 6
 +
 
 +
If you want this to be permanent speed up add the option to your /etc/X11/xorg.conf.d/20-thinkpad.conf (if this is your X11 trackpoint config,
 +
of course):
 +
 
 +
Option "AccelerationProfile"  "6"
 +
 
 +
To more acceleration profile read man "xorf.conf.d"
 +
 
 +
== Power saving ==
 +
 
 +
See [[power saving]].
 +
 
 +
=== Disable Bluetooth ===
 +
 
 +
{{Accuracy|Using rfkill is the correct way to do this.}}
 +
{{Note|You must first have the thinkpad_acpi kernel module loaded.}}
  
===Disable Bluetooth===
 
{{Note| You must first have the thinkpad_acpi kernel module loaded}}
 
 
To save some power you can disable Bluetooth:
 
To save some power you can disable Bluetooth:
  echo "disable" > /proc/acpi/ibm/bluetooth
+
 
 +
  # tee <<< disable /proc/acpi/ibm/bluetooth
 +
 
 
If you want to disable Bluetooth at every boot just add that line to /etc/rc.local
 
If you want to disable Bluetooth at every boot just add that line to /etc/rc.local
  
===CPU Scaling===
+
===ATI video card powersaving===
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.
 
Under the opensource ATI video card driver you can control the clockspeed of the GPU.
 
The recommended setting is:
 
The recommended setting is:
Line 114: Line 117:
 
Further information on this topic can be found in [[ATI#Powersaving]].
 
Further information on this topic can be found in [[ATI#Powersaving]].
  
===SATA Power Policy===
+
=== CPU undervolting ===
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}}  
 
{{Warning|Undervolting can lead to instability and consequently data loss, only you are responsible if you break something}}  
  
 
==== Using PHC ====
 
==== Using PHC ====
  
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 [https://aur.archlinux.org/packages.php?ID=22953 phc-k8] from AUR.
+
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 {{AUR|phc-k8}} from the AUR.
 
{{Note|In order to lower CPU power usage you must actually raise the PHC values. (somewhat counter-intuitive)}}
 
{{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.
 
"24 26 52" is what I have my E-350 set to. The three numbers represent 1600mhz, 1200mhz and 800mhz.
Line 138: Line 134:
 
Information output available cores and current frequencies and voltage:
 
Information output available cores and current frequencies and voltage:
  
  sudo tpc -l
+
  # tpc -l
  
Example how to use
+
Example how to use:
 
{{Warning|DO THIS AT YOUR OWN RISK!!!! DON'T USE THIS VALUES!!! Approach yourself to values whitch are working for you! This is just an example how to use tpc}}
 
{{Warning|DO THIS AT YOUR OWN RISK!!!! DON'T USE THIS VALUES!!! Approach yourself to values whitch are working for you! This is just an example how to use tpc}}
  tpc -set core all pstate 2 frequency 825 vcore 0.825   
+
  # tpc -set core all pstate 2 frequency 825 vcore 0.825   
  tpc -set core all pstate 1 frequency 1320 vcore 1.2250
+
  # tpc -set core all pstate 1 frequency 1320 vcore 1.2250
  tpc -set core all pstate 0 frequency 1650 vcore 1.3000
+
  # tpc -set core all pstate 0 frequency 1650 vcore 1.3000
 +
 
 +
=== Fan control ===
  
===Fan Control===
 
 
The X120e's fan spins constantly but luckily can be controlled by the user.
 
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.}}
 
{{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.}}
 
{{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
+
To enable manual fan control place the following into {{ic|/etc/modprobe.d/modprobe.conf}}:
 
  options thinkpad_acpi fan_control=1
 
  options thinkpad_acpi fan_control=1
Now you have to reload thinkpad_acpi module or reboot your Netbook.
+
Now you have to reload thinkpad_acpi module or reboot your netbook.
 
  # rmmod thinkpad_acpi && modprobe thinkpad_acpi
 
  # rmmod thinkpad_acpi && modprobe thinkpad_acpi
 
Now it should look like that:
 
Now it should look like that:
Line 165: Line 162:
  
  
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 [[https://aur.archlinux.org/packages.php?ID=24359 thinkfan]].
+
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 {{AUR|thinkfan}} from the AUR.
 +
 
 +
== Suspend and hibernation ==
  
==Suspend and hibernation==
 
 
Suspend works out of the box, but hibernate may fail - the system usually hangs with a black screen and a blinking power button led. To fix this we need to modify the hibernation mode; using pm-utils is just a matter of creaing a file /etc/pm/config.d/hibernate_mode containing a single line:
 
Suspend works out of the box, but hibernate may fail - the system usually hangs with a black screen and a blinking power button led. To fix this we need to modify the hibernation mode; using pm-utils is just a matter of creaing a file /etc/pm/config.d/hibernate_mode containing a single line:
  
 
  HIBERNATE_MODE="shutdown"
 
  HIBERNATE_MODE="shutdown"
  
==External Resources==
+
== See also ==
[http://www.thinkwiki.org/wiki/Category:X120e X120e on ThinkWiki]
+
  
 +
[http://www.thinkwiki.org/wiki/Category:X120e X120e on ThinkWiki]
 
[http://www.linux-phc.org/forum/viewtopic.php?f=7&t=269 Undervolting the AMD Fusion with PHC-tool]
 
[http://www.linux-phc.org/forum/viewtopic.php?f=7&t=269 Undervolting the AMD Fusion with PHC-tool]

Revision as of 13:09, 7 November 2013

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

CPU

The AMD CPU used on the X120e is microcode-upgradeable. To enable this functionality install the amd-ucode packages (available on extra) and add microcode to the MODULE list on /etc/rc.conf.

Video drivers

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

Wireless

The Thinkpad x120e is available with one of two wireless cards.

  • The Realtek BGN Wifi card is currently supported out of the box by the rtl8192ce driver, which was integrated into the Linux kernel as of version 3.2. This card, however, suffers from access point association and connection stability problems, especially in meshed wireless networks due to poor wireless radius detection. Since driver development by Realtek effectively stopped as of January 2012, the general consensus among many owners online has been to swap out this wireless card for a different better supported half-mini PCI card such as the Intel 6230. This however requires a BIOS patch to remove Lenovo's hardware restriction on which wireless cards can be used in the computer. More information in regards to that can be found in this thread.
  • The Broadcom ABGN Wifi card is currently supported by the b43 driver. This driver is recommended over the broadcom-wl.

Audio

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

$ vim ~/.asoundrc
defaults.pcm.card 1
defaults.pcm.device 0
defaults.ctl.card 1

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

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

By specifying index you should no longer specify the default in ~/.asoundrc.

Input

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

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

Install xf86-input-synaptics from the official repositories.

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 /etc/X11/xorg.conf.d/10-synaptics.conf:

        Option          "TouchpadOff"             "1"

Also, you can use this script for change touchpad status:

 #!/bin/sh
 tstat=$(xinput list-props "SynPS/2 Synaptics TouchPad" | awk '/Synaptics Off/ { print $NF }')
 if [ $tstat = 0 ]; then
     synclient TouchpadOff=1
 else
     synclient TouchpadOff=0
 fi

TrackPoint speed and sensitivity

You can up your trackpoint speed with next command:

$ xinput --set-prop 13 'Device Accel Profile' 6

If you want this to be permanent speed up add the option to your /etc/X11/xorg.conf.d/20-thinkpad.conf (if this is your X11 trackpoint config, of course):

Option		"AccelerationProfile"   "6"

To more acceleration profile read man "xorf.conf.d"

Power saving

See power saving.

Disable Bluetooth

Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Reason: Using rfkill is the correct way to do this. (Discuss in Talk:Lenovo ThinkPad X120e#)
Note: You must first have the thinkpad_acpi kernel module loaded.

To save some power you can disable Bluetooth:

# tee <<< disable /proc/acpi/ibm/bluetooth

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

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.

CPU undervolting

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

Using PHC

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-k8AUR from the 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.

Using tpc

Another method for undervolting is tpcAUR. It is more intuitive then PHC tool and needs Kernelmodule cpuid and msr.

Information output available cores and current frequencies and voltage:

# tpc -l

Example how to use:

Warning: DO THIS AT YOUR OWN RISK!!!! DON'T USE THIS VALUES!!! Approach yourself to values whitch are working for you! This is just an example how to use tpc
# tpc -set core all pstate 2 frequency 825 vcore 0.825   
# tpc -set core all pstate 1 frequency 1320 vcore 1.2250
# tpc -set core all pstate 0 frequency 1650 vcore 1.3000

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 thinkfanAUR from the AUR.

Suspend and hibernation

Suspend works out of the box, but hibernate may fail - the system usually hangs with a black screen and a blinking power button led. To fix this we need to modify the hibernation mode; using pm-utils is just a matter of creaing a file /etc/pm/config.d/hibernate_mode containing a single line:

HIBERNATE_MODE="shutdown"

See also

X120e on ThinkWiki Undervolting the AMD Fusion with PHC-tool