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.
Ethernet
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.
Wireless
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.
Audio
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 Wiki for more infos.
Video
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
EndSection
Section "Module"
EndSection
Section "Monitor"
Identifier "aticonfig-Monitor{0}-0"
Option "VendorName" "ATI Proprietary Driver"
Option "ModelName" "Generic Autodetecting Monitor"
Option "DPMS" "true"
EndSection
Section "Device"
Identifier "aticonfig-Device{0}-0"
Driver "fglrx"
BusID "PCI:0:1:0"
EndSection
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
EndSubSection
EndSection
# This section is used to work around an xv bug in the current xorg/fglrx packages
Section "Extensions"
Option "XVideo" "Disable"
EndSection
Camera
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
Hibernation
Doesn't work for me yet, but I haven't really looked into it.
Conclusion
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.
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
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 http://support.amd.com/de/gpudownload/linux/Pages/radeon_linux.aspx?type=2.4.1&product=2.4.1.3.42&lang=English 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?
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.
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 :).
http://forum.ubuntuusers.de/topic/thinkpad-x121e-support-frage-thread/#post-3804367
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.
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:
http://kmuto.jp/debian/d-i/
There are also unofficial installers with firmware, the wireless card might have worked with one of them:
http://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/current/