305 × 206 × 20 mm, 1.3 kg
This laptop replaced my Thinkpad x120e in February 2013, mostly because the AMD E-350 processor was too slow.
Everything seems to work. I replaced the disk with a 64 GB SSD, and the stock battery with the smaller and lighter 4-cell battery. In 2015 I upgraded to a Samsung 250 GB SSD. At the end of 2018 I replaced the battery.
My x220 came with a Realtek wifi card, but I've never had much luck with Realtek so I replaced it with an Intel card. The x220 bios has a whitelist for wireless cards, in an attempt to make you buy expensive Lenovo branded cards. Previous Thinkpads could have the whitelist disabled by a simple program, but this one requires a new bios, which is hard to install without running MS Windows. I ended up finding a cheap Intel card that worked so I haven't tried the modified bios.
The iwlwifi driver stopped working with 802.11n as of the 2.6.38 kernel. I use it with 802.11b/g, which seems to work. See for example iwconfig shows high Tx excessive retries, Wireless Issues (TX Retries, Speed, Disconnections), Extremely slow network with Intel "Ultimate N WiFi Link 5300" (iwlagn) after upgrade from Fedora 14, iwlwifi driver for Centrino Wireless-N 1000 slow and unusable after upgrade to CentOS 6.3, and iwlwifi 802.11n usability resolved.
If you run VirtualBox or similar, you'll want to enable VT-x in the bios. I think this is required for 64-bit guests. I'm told the option is sometimes hidden in the "Security" menu but I had no trouble finding it.
The volume controls seems to be handled by software, not hardware as in previous Thinkpads. This may be handled by some desktop packages. I run xbindkeys:
% cat ~/.xbindkeysrc "amixer -q -c 0 set Master 4- unmute" XF86AudioLowerVolume "amixer -q -c 0 set Master 4+ unmute" XF86AudioRaiseVolume "amixer -q -c 0 set Master toggle" XF86AudioMuteJim Rees