Installing Debian GNU/Linux on a Thinkpad X121e

Installing Debian GNU/Linux on a Thinkpad X121e

Installing Debian (testing/wheezy) on the X121e (AMD) was pretty easy, but the documentation I found online was a little contradicting and confusing. I encountered a few problems.


Update: You can skip this section if you're using a Linux kernel 3.1.0 or newer.

The Installation notes on the Debian Wiki are correct, I had to add the following code to my /etc/network/interfaces.

allow-hotplug eth0

iface eth0 inet dhcp
        pre-up modprobe atl1c
        pre-up echo "1969 1083" > /sys/bus/pci/drivers/atl1c/new_id
        post-down modprobe -r atl1c

man 5 interfaces has more details. You might want to put this code into an init script instead if you plan on using network-manager or similar tools.


Contrary to what the Debian Wiki says, my X121e didn't come with a broadcom wireless card.

$ lspci  | grep WiFi
01:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi Adapter (rev 01)

So I had to install the firmware-realtek package from the non-free repository.

You'll have to reload the kernel module for the realtek after installing the firmware. It should be rtl8192c_common and/or rtl8192ce. See man 5 modprobe or just reboot.


The X121e has a "generic" sound card, which ALSA thinks it should use by default. Unfortunately that generic card can't produce any sounds.

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Generic {HD}, device 3: HDMI 0 {HDMI}
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: SB {HDA}, device 0: CONEXANT Analog {CONEXANT}
  Subdevices: 1/1
  Subdevice #0: subdevice #0

To fix this I created /etc/asound.conf with the following content:

defaults.ctl.card 1
defaults.pcm.card 1
defaults.timer.card 1

After that alsamixer can unmute the channels and turn up the volume. I had to use F6 to switch to the correct, non-generic card. m is used to unmute the channels. If you use any other mixers keep in mind to point them to the correct mixer device /dev/mixer1. See the ALSA docs for more infos.


During the install and after the first boot I only had a 1024x768 resolution, but upgrading to testing gave me the full 1366x768 using the radeon driver. Installing firmware-linux-nonfree is also necessary.

I couldn't get mplayer to use hardware scaling, but for all videos I tried softscaling worked. Not sure though if I could play HD video.

Proprietary Video driver (3D accelelration)

The fglrx driver should provide 3D acceleration but isn't currently installable in either testing or sid. I should have done this before upgrading to testing I guess.. but I'll just wait until the dependencies are fixed.

3D acceleration is available by installing the fglrx driver. Basically you have to aptitude install fglrx-driver fglrx-glx fglrx-modules-dkms linux-headers-`uname -r`. After that you can either reboot or take care of the modules and restarting xorg yourself, see the Debian Wiki for details.

glxgears gives me approximately 2300 FPS. Here's my current /etc/X11/xorg.conf:

Section "ServerLayout"
	Identifier     "aticonfig Layout"
	Screen      0  "aticonfig-Screen{0}-0" 0 0

Section "Module"

Section "Monitor"
	Identifier   "aticonfig-Monitor{0}-0"
	Option	    "VendorName" "ATI Proprietary Driver"
	Option	    "ModelName" "Generic Autodetecting Monitor"
	Option	    "DPMS" "true"

Section "Device"
	Identifier  "aticonfig-Device{0}-0"
	Driver      "fglrx"
	BusID       "PCI:0:1:0"

Section "Screen"
	Identifier "aticonfig-Screen{0}-0"
	Device     "aticonfig-Device{0}-0"
	Monitor    "aticonfig-Monitor{0}-0"
	DefaultDepth     24
	SubSection "Display"
		Viewport   0 0
		Depth     24

# This section is used to work around an xv bug in the current xorg/fglrx packages
Section "Extensions"
       Option "XVideo" "Disable"
Unfortunately using mplayer now leads to a segfaulting X. This has apparently been fixed upstream but those fixes aren't in debian yet. A fix is to use mplayer -vo x11 -zoom but the video performance is worse than with the free radeon driver. This problem has apparently been fixed upstream, see the relevant bug report. I have switched back to the radeon driver for now as watching movies is more important than 3D graphics to me.


The built-in camera works out of the box for me. I tried a skype video chat.

$ lsusb  | grep cam
Bus 002 Device 002: ID 5986:01a6 Acer, Inc Lenovo Integrated Webcam

Pointing Stick

At some point during the install the pointing stick stopped to work. I'm not sure if it was related to xorg or kernel updates, but the full upgrade to testing fixed this problem as well.

On a personal note, I absolutely hate touchpads with built-in buttons. Fortunately Thinkpads still come with the pointing device and additional buttons.

Suspend to RAM

This works fine, but you'll need to use the correct options for s2ram:

s2ram -f -a3


Doesn't work for me yet, but I haven't really looked into it.


All in all the Thinkpad X121e is a very nice, portable and affordable Linux laptop. The only real downside I found so far is the built-in speaker, it produces a tinny sound. Having a non-glossy display is great. I'm very happy with the X121e and would even consider using it as my primary laptop if the display resolution was a little better.


  1. avatar
    wrote this comment on
    Hello Mr. Kuttler,

    I just bought the Thinkpad X121E and installed Debian 6.0.3. Right after the installation none of the networkadapter worked. With your information i could get the ethernet working, but the installation of the realtek-firmware package does not get the wireless working, altough my X121E also has the RTL8188CE WiFi Adapter. Did you change anything else, or do you have an idea how to get the adapter working as well?

    Kind regards,
    Lars Steimel
    1. avatar
      wrote this comment on
      I think you have to reload the kernel module when you install the firmware without rebooting (modprobe -r and modprobe). Not sure though which module exactly it is.
  2. avatar
    wrote this comment on
    You could mention that you are NOT using Debian 6.0(Squeeze).
    If you are trying to run Debian on your Thinkpad x121e the most steps here wont work(for me).
    Ethernet works for me (you have to add auto eth0 before the code from him)
    Audio also works for me(thanks), but I cant handle that the speakers are disabled when I am connecting a jack plug.
    Video(and driver) sucks on mine. I am using this driver, 3D does not work and video-playback sucks very much.
    Wireless doesn´t work for me. I can´t compile the official drivers and firmware-linux-nonfree does not work for me.
    I compiled compat-wireless, now modprobe gives me the ability to load the compat-wireless module, but wifi does not work.
    Btw. does the SD card reader works on your installation?
  3. avatar
    wrote this comment on
    Not sure about the wireless. Did you check if you have the same card as me? I guess it's possible that the stable kernel doesn't support the card, never checked.

    Didn't test the SD reader and am also still waiting for updated xorg packages. It's apparently possible to use an older (testing) package but I haven't tried that.
  4. avatar
    wrote this comment on
    Yeah, I have the same card. I already got the wifi-card work(Debian&&Ubuntu) but the driver is very unstable and I loose the connection afer a while.
    Still did'nt got the card reader working.
    UPDATE: It seems Iam a "honk". The one SD-card I was trying to use was broken. New one and it works :).
  5. avatar
    wrote this comment on
    Great! Glad to hear the card reader works. Never had to use it. The wireless driver works very well here afaict. But I'm normally connected to a wired network and don't use it that much.
  6. avatar
    wrote this comment on
    Hi Nicolas,

    thank you for your very helpful summary. It took me quite a while to figure out what ethernet driver to use since the Squeeze 6.0.4 installer didn't find any interface at all.

    After the installation I installed the 3.2 kernel from squeeze-backports. With that, and the firmware-realtek package, network worked right away. Probably the best idea if one doesn't want to install testing or tinker too much.
    1. avatar
      wrote this comment on
      Hi Oliver,

      yes, you always run into such problems when trying to run stable on somewhat modern hardware. Especially with notebooks. Maybe the Kmuto installer would have supported the wired card, I'm not sure which kernel is needed:

      There are also unofficial installers with firmware, the wireless card might have worked with one of them:
  7. avatar
    wrote this comment on
    Hi Nicolas,

    thanks for your post. I have one question: how can I set charge boundary for my battery? I tried to install tp_smapi, but it doesn't supported by new ThinkPad models.
    1. avatar
      wrote this comment on
      I have to admit I have absolutely no idea :-)

Start a new thread

Cancel reply
Markdown. Syntax highlighting with <code lang="php"><?php echo "Hello, world!"; ?></code> etc.