blog @

Login Register

Lenovo Thinkpad Edge S430 on Linux - First impressions

by: tom

A few days ago I received my new Thinkpad Edge S430, and so far I'm satisfied with it. I've upgraded to 16GB memory, and changed to a 128GB ssd from Samsung (830 series 2.5"). If you plan on buying one of these laptops and install a ssd, you should know that it needs to have a maximum height of 7mm to fit. And remember to enable TRIM with the "discard" mount option in /etc/fstab. This was not done automaticalle by the Ubuntu installer. The system seems really fast and responsive with Ubuntu. (This is with 16GB memory and the Samsung ssd; I never ran Ubuntu with the original configuration.)


  • Low weight. (1.8kg)
  • Good screen resolution (1600x900)
  • Low price.
  • Anti Glare
  • Comfortable keyboard
  • Aesthetics


  • Battery won't last more that 3½ - 4 hours with max backlight, general browsing and writing code in vim. And you will want to use max backlight in daylight. According to Lenovo the screen brightness is 250 nits.
  • TN LCD means low viewing angles. But what can you expect at this price?
  • The lid is a bit flexible.

Ubuntu 12.04

Installation of Ubuntu 12.04 went smoothly. Everything works; most notably WiFi, suspend and keyboard keys for backlight brightness, the thinklight, volume and media keys. However, I have not tested the dvd drive, fingerprint reader, thunderbolt, nor the hdmi port. There have been some stability issues where the system freezes completely every few hours, and there is nothing else to do than force a cold reboot using the power button. This seems to be an issue with Ivy Bridge: [IVB]12.04 64 bit System freezes (mouse, keyboard). A new kernel is in "proposed" which purportedly solves the freezes, and should be released within the next week. However I'm not patient enough to wait for that, so I've compiled and installed the latest stable release from (3.4.6). This version is rock solid.

nVidia Optimus

This laptop has a graphics chip from nVidia in addition to the integrated chip in the Intel Core i5 CPU. nVidia Optimus technology is used on Windows to switch this chip on and off automatically to save battery. nVidia has not supported this functionality on Linux, something everybody should know by now after a Finnish student asked Linus Torvalds about his views on nVidias lack of support to open source developers for this crucial functionality which doesn't exist in their binary drivers, and he replied that nVidia was the singel worst company they had ever worked with. Se Phoronix article and nVidias response. The BIOS has a choice between integrated graphics and nVidia Optimus. Since I don't want the nVidia chip to be switched on and draw battery, and because of the lack of Linux support I disabled the nVidia Optimus chip in BIOS before installing Ubuntu. There is of course the Bumblebee project:
Image of bios display options.

Output from lscpi

tom@edge:~$ lspci
00:00.0 Host bridge: Intel Corporation Ivy Bridge DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation Ivy Bridge Graphics Controller (rev 09)
00:14.0 USB controller: Intel Corporation Panther Point USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation Panther Point MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation Panther Point USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation Panther Point High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation Panther Point PCI Express Root Port 1 (rev c4)
00:1c.1 PCI bridge: Intel Corporation Panther Point PCI Express Root Port 2 (rev c4)
00:1c.3 PCI bridge: Intel Corporation Panther Point PCI Express Root Port 4 (rev c4)
00:1c.4 PCI bridge: Intel Corporation Panther Point PCI Express Root Port 5 (rev c4)
00:1d.0 USB controller: Intel Corporation Panther Point USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation Panther Point LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation Panther Point 6 port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation Panther Point SMBus Controller (rev 04)
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5229 (rev 01)
03:00.0 Network controller: Intel Corporation Centrino Wireless-N 2230 (rev c4)
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 07)

Configuring trackpoint and trackpad

Relevant man pages are xinput, evdev and synaptics. I used xinput --list to find the names of the trackpad and trackpoint:

tom@edge:~$ xinput --list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad              	id=11	[slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                   	id=12	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Video Bus                               	id=7	[slave  keyboard (3)]
    ↳ Power Button                            	id=8	[slave  keyboard (3)]
    ↳ Integrated Camera                       	id=9	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=10	[slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                  	id=13	[slave  keyboard (3)]

As can be seen, the relevant names are SynPS/2 Synaptics TouchPad and TPPS/2 IBM TrackPoint To turn the trackpad off, issue this command:
xinput --set-prop --type=int "SynPS/2 Synaptics TouchPad" "Synaptics Off" 1
By default the middle button of the trackpoint has a wheel emulation timeout of 200 milliseconds. This means that the driver issues a click event if the time between press and release is less than this value. If the time is larger, it issues scrolling events when used in combination with the trackpoint. This is really nice, but 200ms is too short for me, and I find it really difficult to issue clicks with this timeout. To increase this, issue the following command (on a single line):
xinput --set-prop --type=int "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Timeout" 300
This sets the timeout to 300ms. Of course whenever the X server is restarted these commands must be issued again. One way to do this is to put these commands in ~/.xsessionrc. Se man Xsession.

Another thing you may want to change is the sensitivity and speed of the trackpoint. In order to do this you need to change the contents of two files in the /sys virtual file system:
This can be done as root this way:
echo -n 200 >/sys/devices/platform/i8042/serio1/serio2/sensitivity
echo -n 150 >/sys/devices/platform/i8042/serio1/serio2/speed
You may experiment with different numbers between 0 and 255. If you reboot you need to issue these commands again. I used to put these commands in /etc/rc.local, but this doesn't work any more. I've also written udev rules, but that didn't work either. What worked was to put these commands in an upstart script. I put the following upstart file in /etc/init:

description "Trackpoint settings."

env TPDIR=/sys/devices/platform/i8042/serio1/serio2

start on virtual-filesystems


    while [ ! -f $TPDIR/sensitivity ]; do
        sleep 1
    echo -n 200 > $TPDIR/sensitivity
    echo -n 150 > $TPDIR/speed
end script

Update 2012-07-25

I can confirm that with 3.4.6, the instabilities of the stock Ubuntu kernel are gone. A patched 3.2 kernel is released from Ubuntu, but I haven't tested it. However, if you use nfs, you are likely to hit this bug in the nfs idmap code. A temporary solution is to use the new idmap code as described in the mailing list. Also, if you use Compiz (which is the default on Ubuntu) and suspend, you are likely to run across this bug. The temporary solution is to choose Unity 2D from the login manager. But then you will likely experience tearing while watching videos. If you still want to use Compiz, it is a good idea to save any open files before going to suspend.

created: 2012-07-18 18:05:00. Permalink
Firefox 2