I recently got myself a new machine, a Lenovo ThinkPad X1 Carbon 3rd generation (model 20BS
) without touchscreen, but with a WAN card for non-WiFi connectivity.
These are my notes on how I use it, how it works etc. It will be updated as I move along and learn. Newer stuff at the bottom.
Update: There’s a new thread on AskUbuntu which seems promising in bringing together how to get the most out of this machine (via Ubuntu/Linux).
Update 2016-06-25: I’ve used this for a year now, and it’s a great product. There was some early Linux-y hardware support issues, but this is now all gone.
I will replace my 3rd gen Carbon with a 4th gen Carbon after the summer. I expect the same noise-less (completely silent = fan not moving) mode of operations for most developmnt activities (PyCharm from JetBrains, occational maven and gradle builds), excellent build and feel (keyboard), fast SSD (PCIe NVM). Reasons to upgrade: 2K resolution; left-hand side USB port no longer works; I chipped one of the corners of the display lid.
Session 1
Running from USB stick with Ubuntu 14.10. Lots of things works out of the box, but not everything. I expected everything to actually work out of the box: it’s all Intel chipsets through out. That used be a safe sign of “yes, you’ll NOT spend time fiddling with hardware.
General
The BIOS should probably be updated.
It’s lighter than the MacBook Air I’ve been dragging around for two-three years, just a little wider and in general feels nice.
Keyboard
Initially, I got really annoyed with this. I’ve been a TXXX user for many years, except for the past three years where I’ve mainly used a MacBook Air 5.2. The keyboard on the MacBook was different, but pleasant to me. This keyboard is a move back towards the legendardy ThinkPad laptop keyboards. The keyboard on this is NOT the same as the old ones, and I initially didn’t like the feeling. But as I’m typing away right now, I have to say that it actually feels a lot better than expected. I won’t miss the MacBook Air keyboard. Not yet.
Some details
- The spacebar is a bit firmer/stiffer than the rest of the keys. I forgot this the moment I started typing though. I should mention I have a “correct” finger position when typing, although I use qwerty layout.
- The G key squeaks and will either start to work really soon or I’ll make a complaint and have it replaced. (Having typed away and tried more, I’ll make a phone call tomorrow to have this fixed.
- The backspace key “clicks” if pressed close to the right. I don’t reach that far when typing, so I didn’t notice until I started my “key investigation around the G key” …
Disk Drive
This is where the NSA, Chinese governement etc put their stuff, I presume? Starting gparted to see what can be done with the disk. I’d like to keep the Windows license and use that in a VirtualBox machine. I notice there’s no “Windows license” sticker on the machine, although there should be one according to the documentation that came with the machine. (My box was marked “No Acc” and the acc adapter came in a plastic bag that weren’t as new as the other bags. The documentation said that the Windows license sticker may be attached to the adapter!)
The driver descriptor says the physical block size is 2048 bytes, but Linux says it is 512 bytes.
(parted) print
Model: ATA SAMSUNG MZHPV256 (scsi)
Disk /dev/sda: 500118192s
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 2048s 2050047s 2048000s ntfs hidden, diag
2 2050048s 2582527s 532480s fat32 EFI system partition boot, esp
3 2582528s 2844671s 262144s Microsoft reserved partition msftres
4 2844672s 446922751s 444078080s ntfs Basic data partition msftdata
5 446922752s 485437439s 38514688s ntfs hidden, diag
6 485437440s 500117503s 14680064s Basic data partition hidden, irst
Overall
I really like the feel of the machine, now that I’ve used it for some time. Will dig into real coding soon. For now, it’s been vim, Chromium and some Docker.
Works
- Suspend
- Volume buttons
- Scrolling
- Headphones
- Speakers
- Screen (apart from dimming)
- Wifi
- Touchpad, including two finger scrolling (see Issues)
- Trackpad
- Bluetooth
- Fn+Spacebar to toggle keyboard backlight level
- Fn+Esc, or FnLk - whether the Fn key needs pressing for F1 through F12 to record F* or special keycode
- 3G modem, Ericsson Business Mobile Networks BV
- HDMI port
Doesn’t work
These are things that doesn’t work, at least out of the box with Ubuntu 14.10 run from USB stick.
- Left, right and middle click buttons (above the mousepad) - left/right scrolls up/down
- Brightness up and down buttons
- Mic mute button
- Wireless radios off button (workaround is to use
rfkill
)
Issues
- Touchpad gets triggered from resting my left hand (base of my thumb) while typing this text, the pointer moves around …
- The PrtSc button, positioned to the right of AltGr, I’ve accidentally triggered at least 6 times while typing (mostly when reaching for AltGr + 2 for @ on a Swedish layout).
- The machine beeps when booting. I’m pretty sure this can be turned off.
Not tested
- External adapters for VGA (via miniDP), e1000e adapter
- Hibernate - supposedly doesn’t work according to Canonical’s tests
- Camera for video conferencing
- Finger print reader (won’t test this, it worked really well back in 2005 but I didn’t find it useful …)
Other
I’ve heard the fan twice after three hours of light usage.
I’m mostly interested in the WAN adapter as Wifi has been … not unstable, but far from stellar … on the MacBook Air. While it seems to run really fine on the X1, I still expect to use the data modem from time to time. From lsusb
:
idVendor 0x0bdb Ericsson Business Mobile Networks BV
idProduct 0x193e
bcdDevice 0.00
iManufacturer 1 Lenovo
iProduct 2 N5321 gw
iInterface 5 Integrated Camera
iInterface 5 N5321 gw Mobile Broadband Device
iInterface 6 N5321 gw Mobile Broadband Modem
iInterface 7 N5321 gw Mobile Broadband Modem
iInterface 8 N5321 gw Mobile Broadband Data Modem
iInterface 9 N5321 gw Mobile Broadband Data Modem
iInterface 10 N5321 gw Mobile Broadband Device Management
iInterface 11 Ericsson N5321 gw
iInterface 14 Ericsson N5321 gw
iInterface 15 Ericsson N5321 gw
iInterface 16 N5321 gw Mobile Broadband USIM Port
iInterface 17 N5321 gw Mobile Broadband GPS Port
iInterface 18 N5321 gw Mobile Broadband GPS Port
Lacking, Cons
- I’ve used SD cards quite a lot, mainly to boot Raspberry Pis off, and occasionally to read and clear images and videos from a camera. This laptop/ultrabook doesn’t have a SD card reader.
- I would really like to have more RAM. I knew this when I bought it, and I don’t expect to use this machine very long - I expect a 16 GB ultrabook to appear soon, and I’ll replace this one for whatever comes.
This ends session 1 with this laptop. So far it’s a nice experience with a few issues: the G key, keypad triggering when writing, screen brightness dimming.
Session 2
2015-03-03
I’ve now used the computer for some real work and have made a fix installation.
I started out saving the partition layout using sgdisk
and then used dd
to copy the Windows related partitions off to an external SSD drive. I used the USB 3 connector and I copied 19 GB of data in what felt like no time at all. Just over 230 MB/s was the speed reported by pv
.
After that, I installed Ubuntu 14.10 and used all the disk wiping whatever (spyware) was on there. An aptitude update && aptitude -y upgrade
pulled in some 100 new packages and after a reboot, this is the “new” current situation: all the issues (under Doesn’t work) are still there.
Battery wise I’ve not used powertop
yet, and get around 5 hours of light usage work on a single charge. That’s with Wifi turned on. Light usage for me is editing HTML, gimping some graphics, running a nginx in Docker and Chromium for inspecting the result (I was editing dockerclass.com).
New issues
- rather severe X issues
- keyboard keys suck up every piece of dirt they can find
The keyboard, which is to be replaced tomorrow, is made of a more plastic material than what you’ll find on T440 and other ThinkPads. The finish and texture is not matte, but “blank” and this makes your fingers leave “trails” of where you’ve been. It doesn’t look very inviting, which isn’t the typical ThinkPad keyboard experience. The left mouse button, I’ve discovered, easily gets stuck. To release the button, I have to give the surounding carbon case a gentle “nudge”.
Just this morning, I got an e-mail from an Alex Conway who provided two fixes:
I was able to find a fix for the latter two that makes them work as expected:
sudo apt-get install tp-smapi-dkms
sudo modprobe thinkpad_acpi force_load=1
But I still can’t change the screen brightness (The buttons do make the brightness indicator change, but the actual brightness stays somewhere around full and even the System Settings brightness slider does nothing), and the physical buttons don’t work.
There’s a thread on Reddis on mouse buttons on the X1 which suggests that: Peter Hutterer is working on it; thinkpad_acpi force_load=1
with some xinput
magic should to the trick. (I’ll try this later.)
The X issue
After some time of usage, X stops drawing properly. This usually comes into play with Chromium and right click menu - all I get is an empty box, the outline is drawn but not the content. Another example is that the window decorations aren’t drawn after alt+tabbing to a gnome-terminal. After a while things gets worse and the actual text in gnome-terminal doesn’t update. A Ctrl+L usually does the trick, but hey - this is a serious bug.
I went fullscreen yesterday on a YouTube clip with Stephen Fry on God, and I couldn’t get out of it. I resorted to sudo service lightdm restart
from TTY 1.
Summary, so far
Performance wise, I’m really happy with this machine. It weighs less than my MacBook Air. The fan has spun up another three times since I got the machine, which is excellent. There are some minor issues with buttons etc, as is to expect with completely new hardware and Linux. There is one major issue with X, not drawing properly. As Alex didn’t report this, I assume it’s a 14.10 (Wayland?) thing and moving back to 14.04 LTS could be an option.
Session 3
Replacing my keyboard was supposed to “take 10 minutes” according to the technician. After completely disassembling my computer, about 3 hours later and two turns to put some money on the meter (for car parking), he left taking my computer with him as it no longer could run without the AC adapter plugged in.
I got it back next day and it’s working as expected now.
The 3G modem works out of the box - I just inserted the micro-SIM card and after a minute or two, I could see the device in the Network Manager menu.
Session 4
2015-03-17
The 3G modem works fine, but takes quite some time to get going after waking up from suspend.
Mar 17 09:11:54 fredrik-x1carbon kernel: [36206.977880] ACPI: Low-level resume complete
...
Mar 17 09:13:02 fredrik-x1carbon ModemManager[935]: <info> Modem for device at '/sys/devices/pci0000:00/0000:00:14.0/usb2/2-4' successfully created
It’s not that much, but it’s way longer than using wifi and setting up a wifi hotspot on my phone.
The X11 issue made me install Ubuntu 14.04.2, hoping that it would rid this issue completely. It didn’t. I’m more and more leaning towards this being a Intel HD 5500 driver issue and will try out deb https://download.01.org/gfx/ubuntu/14.04/main/ trusty main
.
After getting that, I ran intel-linux-graphics-installer
which is a graphical program :-(
This is what it did:
Added:
i965-va-driver:amd64 (1.4.0-0intel1)
libegl1-mesa-drivers:amd64 (10.3.0-0ubuntu2intel1)
libegl1-mesa:amd64 (10.3.0-0ubuntu2intel1)
libgl1-mesa-dri:amd64 (10.3.0-0ubuntu2intel1)
libgl1-mesa-glx:amd64 (10.3.0-0ubuntu2intel1)
libglapi-mesa:amd64 (10.3.0-0ubuntu2intel1)
libgles1-mesa:amd64 (10.3.0-0ubuntu2intel1)
libgles2-mesa:amd64 (10.3.0-0ubuntu2intel1)
libopenvg1-mesa:amd64 (10.3.0-0ubuntu2intel1)
libosmesa6:amd64 (10.3.0-0ubuntu2intel1)
libva-drm1:amd64 (1.4.0-0intel1)
libva-egl1:amd64 (1.4.0-0intel1)
libva-glx1:amd64 (1.4.0-0intel1)
libva-tpi1:amd64 (1.4.0-0intel1)
libva-wayland1:amd64 (1.4.0-0intel1)
libva-x11-1:amd64 (1.4.0-0intel1)
libvdpau1:amd64 (0.7-1)
libwayland-egl1-mesa:amd64 (10.3.0-0ubuntu2intel1)
libxatracker2:amd64 (10.3.0-0ubuntu2intel1)
va-driver-all:amd64 (1.4.0-0intel1)
vainfo:amd64 (1.4.0-0intel1)
vdpau-va-driver:amd64 (0.7.3-2ubuntu1.2)
xserver-xorg-core:amd64 (2:1.15.1-0ubuntu2.7)
xserver-xorg-input-evdev:amd64 (1:2.8.2-1ubuntu2)
xserver-xorg-video-intel:amd64 (2:2.99.911-0intel1)
xserver-xorg:amd64 (1:7.7+1ubuntu8.1)
Upgraded:
libgbm1:amd64 (from 10.1.3-0ubuntu0.3 to 10.3.0-0ubuntu2intel1)
Removed:
libegl1-mesa-drivers-lts-utopic:amd64 (was 10.3.2-0ubuntu1~trusty2)
libegl1-mesa-lts-utopic:amd64 (was 10.3.2-0ubuntu1~trusty2)
libgbm1-lts-utopic:amd64 (was 10.3.2-0ubuntu1~trusty2)
libgl1-mesa-dri-lts-utopic:amd64 (was 10.3.2-0ubuntu1~trusty2)
libgl1-mesa-glx-lts-utopic:amd64 (was 10.3.2-0ubuntu1~trusty2)
libglapi-mesa-lts-utopic:amd64 (was 10.3.2-0ubuntu1~trusty2)
libgles1-mesa-lts-utopic:amd64 (was 10.3.2-0ubuntu1~trusty2)
libgles2-mesa-lts-utopic:amd64 (was 10.3.2-0ubuntu1~trusty2)
libopenvg1-mesa-lts-utopic:amd64 (was 10.3.2-0ubuntu1~trusty2)
libwayland-egl1-mesa-lts-utopic:amd64 (was 10.3.2-0ubuntu1~trusty2)
libxatracker2-lts-utopic:amd64 (was 10.3.2-0ubuntu1~trusty2)
xserver-xorg-core-lts-utopic:amd64 (was 2:1.16.0-1ubuntu1.2~trusty2)
xserver-xorg-input-all-lts-utopic:amd64 (was 1:7.7+7ubuntu2~trusty1)
xserver-xorg-input-evdev-lts-utopic:amd64 (was 1:2.9.0-1ubuntu2~trusty1)
xserver-xorg-input-mouse-lts-utopic:amd64 (was 1:1.9.0-1build2~trusty1)
xserver-xorg-input-synaptics-lts-utopic:amd64 (was 1.8.1-1ubuntu1~trusty1)
xserver-xorg-input-vmmouse-lts-utopic:amd64 (was 1:13.0.0-1build2~trusty1)
xserver-xorg-input-wacom-lts-utopic:amd64 (was 1:0.25.0-0ubuntu1~trusty1)
xserver-xorg-lts-utopic:amd64 (was 1:7.7+7ubuntu2~trusty1)
xserver-xorg-video-all-lts-utopic:amd64 (was 1:7.7+7ubuntu2~trusty1)
xserver-xorg-video-ati-lts-utopic:amd64 (was 1:7.4.0-2ubuntu2~trusty1)
xserver-xorg-video-cirrus-lts-utopic:amd64 (was 1:1.5.2-2build1~trusty1)
xserver-xorg-video-fbdev-lts-utopic:amd64 (was 1:0.4.4-1build2~trusty1)
xserver-xorg-video-intel-lts-utopic:amd64 (was 2:2.99.914-1~exp1ubuntu4.2~trusty1)
xserver-xorg-video-mach64-lts-utopic:amd64 (was 6.9.4-2~trusty1)
xserver-xorg-video-mga-lts-utopic:amd64 (was 1:1.6.3-2build1~trusty1)
xserver-xorg-video-modesetting-lts-utopic:amd64 (was 0.9.0-1build1~trusty1)
xserver-xorg-video-neomagic-lts-utopic:amd64 (was 1:1.2.8-1build2~trusty1)
xserver-xorg-video-nouveau-lts-utopic:amd64 (was 1:1.0.11-1ubuntu2~trusty1)
xserver-xorg-video-openchrome-lts-utopic:amd64 (was 1:0.3.3-1build2~trusty1)
xserver-xorg-video-r128-lts-utopic:amd64 (was 6.9.2-1build2~trusty1)
xserver-xorg-video-radeon-lts-utopic:amd64 (was 1:7.4.0-2ubuntu2~trusty1)
xserver-xorg-video-savage-lts-utopic:amd64 (was 1:2.3.7-2ubuntu3~trusty1)
xserver-xorg-video-siliconmotion-lts-utopic:amd64 (was 1:1.7.7-2build2~trusty1)
xserver-xorg-video-sisusb-lts-utopic:amd64 (was 1:0.9.6-2build2~trusty1)
xserver-xorg-video-tdfx-lts-utopic:amd64 (was 1:1.4.5-1build2~trusty1)
xserver-xorg-video-trident-lts-utopic:amd64 (was 1:1.3.6-0ubuntu6~trusty1)
xserver-xorg-video-vesa-lts-utopic:amd64 (was 1:2.3.3-1build2~trusty1)
xserver-xorg-video-vmware-lts-utopic:amd64 (was 1:13.0.2-3ubuntu1~trusty1)
Reboot: Now the pointer isn’t drawn. If I click, it’s drawn in the center of the screen, but nowhere else. Feels like 1996. Trying to roll back to a semi-good state.
Session 5
2015-03-18
The support forum for the Intel Linux Graphics has a top sticky thread labeled: Do not use with Ubuntu 14.04. It was updated, today, and simply declared the withdrawal (potentially temporary, doesn’t say) of this tool for Ubuntu 14.04.2 LTS.
Next time I get two hours with my laptop, I’ll move 14.10 in again (guess I’ll start using separate partitions as this seems to be a long running story …) with version 1.0.8 of the Intel Linux Graphics Installer.
Update 6
2015-03-26
A Felix Gustafsson suggested that the X issues got solved from using newer graphics drivers, available from ppa:oibaf/graphics-drivers. Support for this PPA is on Phoronix’ forum.
As I’m giving a presentation tomorrow from this machine, I’m not very inclined on playing with graphics drivers right now. There are some minor issues (text rendering in GTK apps) with 14.04.2, at least it’s stable and I can use both HDMI and VGA (via DisplayPort adapter) without any issues.
To be continued.
Update 7
2016-06-25
I’ve been using Ubuntu 15.10 since it came out, and it just works great now. No issues, everything just works as expected. These are the only issues that have “stayed” with me:
- the network connection port sits too close to the USB port, preventing wide USB devices to be used at the same time as the network dongle (I very rarely used the network dongle
- I carry a USB connected SD card reader, since I use that with my Canon camera - an integrated SD card reader is something I would’ve used quite often, and have missed (from my previous T410)
- the display’s viewing angle has not been that great - I’ve often had to re-adjust the angle simple to get better contrast when coding
I see that a touch screen is also something I very likely would’ve gone used too, but I’ve perfectly managed to live without.