I am a longtime Thinkpad and Lenovo user as my preferred laptop for Linux computing and programming.
The Lenovo X1C 2016 4th Generation Model is my latest Linux laptop
For some context, I’ve been running Linux on my desktop and laptop machines since ~2001, and started using Thinkpads in this role starting with the famous Thinkpad T40 (2003), one of the first laptops that provided good Linux support, a rugged design, portability, power, and an excellent keyboard.
I then moved through a few different Lenovo models: the T400 (2008), the T420s (2011), and the X220 (2011).
I spent a couple of short stints in-between — which I always regretted — on other PC laptop models, including HP and Asus. I upgraded from the T420s to the X220 after coming to the realization that portability and power consumption mattered more to me than the 14″ form factor, and that I could easily expand the X220’s limited hard drive with a 512 GiB SSD.
Since 2013 or so, the X220 has been my main programming/Linux machine. The X220 was my favorite Thinkpad model of all time, despite some flaws. I’ll discuss my Linux desktop experience with the X220 briefly, and then go on to my experience with my current model, the Lenovo X1 Carbon 2016 model (4th Generation).
The Thinkpad X220: an excellent machine
First, let me write a little ode to my X220. It’s a roughly 13″ form factor, but has what comfortably feels like the best typing or programming keyboard you’ll ever use. It’s the kind of keyboard you wish you could pull out of the laptop and use with other people’s computers. The layout, key travel, low noise, and durability are all top-notch.
The internal performance of the machine — mine had an Intel i5 — was also excellent. It was the first laptop that felt comfortable running a Linux host machine with a Windows 7/10 VMWare instance inside it. It had 8 GiB of RAM and support for SSD.
Connectivity on the X220 was also pretty darn good. Several USB 2.0 ports (3.0 & USB-C weren’t out yet); built-in VGA and Ethernet (now quite rare in laptops, but very handy); a full-size Displayport port (a little quirky, but easily adaptable to HDMI with a cheap dongle); and built-in full-size SD card reader. It also had a standard aux headphone/mic jack and an excellent built-in dual-mic system. It had a 720p webcam, which definitely wasn’t “awesome”, but was passable for web conferences.
The Lenovo X220 was a slightly-chunky but very-well-connected little machine.
The body of the machine was rugged and durable. The bright anti-glare matte screen was reinforced with the classic Thinkpad casing. Thanks to the matte screen and brightness, it’s one of the few laptops usable in the outdoors.
But, the X220 was not a perfect machine. Being released in 2011, it didn’t have some of the higher-speed connectors that had started to become standard in the 2015-16 era. Though VGA was handy, it notably lacked an HDMI port. Though the screen was beautiful, it maxed out at 720p (1366×768 resolution), which always felt a little cramped, even for a rampant single-tasker like me.
Battery life was a mixed bag. Though this was “fixable” after-market by switching to an extended battery, using this battery made the laptop have an ugly “battery bump” in the back. And I even further extended the battery life buying the very-hokey but very-handy battery slice, which doubled the thickness of the laptop but made it usable for all-day train rides. I am a regular on a 7-hour train ride from Virginia to New York, and I’d use that battery to work the whole time.
For me personally, the only truly annoying part of the X220 is the trackpad. It’s small. It was not sensitive enough. And it has a very strange “textured” plastic that actually caused one’s skin to hurt after extended use. Nothing about the trackpad was good: it was so bad, in fact, that I regularly disabled it, instead relying on an external mouse and the unique-to-Thinkpad “red nub”, aka Trackpoint. This isn’t too much of a pain since I think all trackpads are bad ergonomically; thus I always carry a wireless USB mouse with me anyway.
One of my favorite parts of the x220 was the docking station. Obviously, as a programmer, I spend most of my time at my desk, docked in with a wired keyboard, mouse, monitors, etc. The docking station I had included not just power, Displayport, Ethernet, and USB connectivity, but also included an “Ultradock”, for which I had an embedded 2.5″ SATA tray (for backup HDDs) that could also be used for a CD-ROM drive (although, honestly, these days, who needs those). It Just Works with Linux, too.
So, though the X220 had its flaws, it really is a one-of-a-kind laptop. It was a machine that really did serve me well. I don’t think any other had the full combination of great keyboard, great support for Linux, matte IPS screen, clean hardware specs, and built-in connectivity.
The Lenovo X220 truly was the last of a breed of laptop.
The history of the X1 Carbon
When the X1 Carbon was announced in 2012, I watched the early reviews closely.
The X1 Carbon seemed like it finally hit the right compromise for Thinkpad machines. Like the X220, it was designed primarily to be lightweight and have long battery life. But it had internal Intel specs more in line with what a power user might expect from the T400 series. The Ultrabook design was the best part: it was thin and light, but built around a comfy 14″ 1080p screen. Atop that foundation it packaged a full-size keyboard, classic Thinkpad trackpoint, generously-sized touchpad, and marvelous connectivity.
I was disappointed to see the X1 Carbon switch away from the classic X220 keyboard design, but alas, it looks like that keyboard’s days are numbered.
Instead, they “split the difference”, offering the standard Thinkpad layout, but copying the “chiclet” keyboard design common in Apple’s products. And it’s definitely not a disappointment: the X1 Carbon probably has the best keyboard you can find on any non-Apple notebook on the market. Quiet, good key travel, comfortable layout, proper function key row (on the latest two models), etc.
Here’s where the heritage of the X220 was dramatically improved upon, however. The Trackpad is large, glossy, and has a combination of physical buttons and touch gesture support. A major upgrade. The models also keep the Trackpoint for old-school Thinkpad fans like me. So, as far as mouse/keyboard input is concerned, the X1 is top-of-the-line.
The best part: this is all packaged up into an incredibly thin form factor. The entire laptop feels sturdy, but almost-impossibly thin and light.
There have been 5 generations of X1 Carbons, and it seems like the latest two, the 4th and 5th generations, are perfecting the product line.
Five generations of Lenovo X1C models, stacked atop one another. My current model is the 4th from bottom.
Adam Fowler has written a nice history of all 5 generations, complete with photographs of all 5 models stacked up atop each other. I’ll focus my discussion on the 4th generation which I recently acquired, and what to expect for the recently-released 5th generation model.
At 0.65″ thick (about the thickness of a USB port) and at 2.6 lbs light (only a pound heavier than a modern iPad), the X1 Carbon will feel sleek in meetings with colleagues while not straining your back as it sits in a laptop bag or backpack.
At this form factor, it’s very hard to believe this is a device with a full suite of keyboard/mouse input options, a full 14″ HD 1080p screen, and an Intel i7 processor that clocks above 3Ghz (as my current model is). But that’s what makes it such a pleasant machine to use.
A programmer’s review of the 2016 X1 Carbon
The model I decided to buy was the 2016 edition of the X1 Carbon, the 4th generation in the line. My decision to buy this particular model even though the 5th generation (2017 edition) is available stems from my general rule about buying laptops for Linux day-to-day use: I have to stay a year or two behind the latest releases.
I just know that newly-released laptops have to be given some time to “settle in” to the latest Linux kernel releases to run predictably and stably, and I don’t think the X1 Carbon is any different, despite its long tradition of using standard Intel architectures.
Of course, staying a year behind also helps me avoid a nearly $1,000 price premium.
In the case of the X1 line, there was also one more reason to stick with the 4th generation: the switch from USB 3.0 to USB-C/Thunderbolt. Though some of the reviews online say that “Thunderbolt is the future” (and, I tend to agree), the truth is that I simply don’t trust USB-C and Thunderbolt peripherals (and the software that makes use of the ports) that much yet. I have even seen Macbook users struggle with connections to older displays, projectors, and the like, even via Apple-brand dongles. I just have no patience for this. I’ll let the kinks work themselves out in the next 2-3 years before upgrading to a future X1C that has USB-C built-in.
On this X1C (the 4th gen), there are a very reliable suite of connectors. USB 3.0, HDMI, Mini Displayport, and Lenovo’s proprietary “OneLink+” that allows hardware-level extensions for RJ45 Ethernet and a docking station that acts as a USB hub and display multiplexer. All this stuff Just Works — and it Just Works today, not 2 years from now.
Here, all my cables are neatly hidden behind my monitor/keyboard, and a single “OneLink+” cable docks my laptop to power, ethernet, USB devices, and an HDMI monitor.
This is exactly how I like it, because though I waste my time on my Linux installations and customizations, I hate to waste time on hardware and software bugs present due to new standards.
By the way, can I just mention how nice it is that Lenovo decided to put an HDMI port and a Mini Displayport on this model? I am a regular presenter at conferences/meetups. Every conference space at this point has a slew of Mini Displayport dongles: VGA, DVI, HDMI, you name it. And some places will have a straight HDMI connection that will let you jack right into the projector. But having both really gives you the best of both worlds. This is very convenient for people who use a laptop as a projection device often, as I do.
Anyway, you can see the full specs for this machine over at ThinkWiki, as usual.
Let’s talk about Linux
Linux only started to work “perfectly” on my X220 at the Ubuntu 16.04 release. This is kind of sad, as that was April 2016 — 3-4 years after I bought that laptop. (The major improvements came in Linux kernel 4.4.) Before that, I had regular issues with the iwlwifi
driver, the bluetooth stack, the suspend support, and even, at times, the CPU frequency scaling support. But after 16.04 my laptop “Just Worked”… finally.
I regularly joke with friends that “Linux is free if your time is worthless”, and this is certainly the case when trying to run Linux on your day-to-day laptop, even if you follow the conservative rules I do of using prior-generation models with now-stable kernels.
But there is something that has accelerated the pace of laptop-kernel stability on Linux, and that is the convergence around what one might call the “standard Intel architecture”. That is, the i5/i7 chipsets, the Intel graphics subsystem, and the Intel wifi subsystems.
This powerful little machine feels like a real desktop computer when docked, but has battery life for hours and hours when mobile, and a good screen/trackpad. Here, I’m running Ubuntu GNOME, gnome-shell, and lightdm.
Together, these have made it so that a whole lot of laptops are using roughly the same architecture, and thus the Linux kernel has an easier time nailing support for that hardware across the board. What’s more, this same architecture is being used — in modified forms — on server and desktop computers that also run Linux.
I was therefore shocked to learn that running Ubuntu GNOME 17.04 on this laptop off a USB stick resulted in everything working out of the box, with one very small exception — the fingerprint reader, which I don’t use anyway.
But the display, the function keys, the Touchpad and Trackpoint, the mic/speakers, the ports, and wifi, the bluetooth. How did they do?
Did they Just Work? “Hell Yes,” they did!
Did suspend-to-memory work? Why, yes, it did! Even that!
Now, to be sure, there are various tweaks one can do the X1 default configuration on Linux. Installing powertop
and tweaking power settings is a must, or you won’t get anywhere near the advertised 10 hours of battery life.
Someone has done a roundup of tweaks for Arch Linux, most of which will cross-apply to other distros like Ubuntu. Someone has also apparently put in a lot of work experimenting with Touchpad settings to get a nice balance of sensitivity, palm rejection, and gesture support on Linux. This little bit of configuration/customization will probably pay dividends for your day-to-day use. I haven’t gotten there just yet.
Once you get it setup, this feels like one of the best Linux laptops you’ll ever own. And it will really feel like you no longer have to apologize for the laptop you’re running to all your Apple fans who are fellow programmers, because the laptop is thin, powerful, stylish, and it runs Linux natively. Thus, no compromises!
Comparing the Lenovo X1 to Dell and Asus Ultrabooks
The only competition for the Lenovo among Linux programmers is really the Dell XPS 13 and the Asus Zenbook. Here’s the quick roundup on these:
- Dell’s XPS 13 is the closest contender on most metrics. The form factor and connectivity is similar. The power and battery life are similar. And the Linux hardware support is stellar. But it has one fatal flaw: the “nose cam”. That is, due to the “infinity edge” bezel-free display, they couldn’t fit the webcam on top. As a result, they hide it in a bottom corner. This means that when you jump on Google Hangouts or Skype calls, people are basically looking up at your nostrils. Not cool.
- Asus has a very powerful, lightweight, and affordable model in the Zenbook. And its Linux support is very good, probably because it has a loyal enthusiast following mainly due to its attractive price-to-power ratio. But the keyboard, touchpad, and display all leave something to be desired. If you’re picky, like me, you’ll pay up for the Lenovo X1.
These are both good models but I think for the Linux hardware snob (like me) who cares less about price and more about performance and hassle-free long-term use, the Lenovo X1 Carbon is the winner.
Some cons: screen pressure and wobble
So far, this review has been mostly positive about my X1 Carbon 4th generation, but there are some cons to this model which you should be aware of.
I think the 1080p screen in a 14″ form factor is perfect, as far as numbers go. I think the matte display and 300 nits of brightness make it outdoor-friendly, which is very rare in modern performance laptops. But there is one small problem with this screen, and that’s just how thin it is.
I know thinness matters a lot for marketing, but I have to say, from the moment I received this X1C, I was disappointed at just how thin and unprotected the screen is. I’ve already noticed some nagging issues due to its thinness.
A worrying trend that I noticed within the first few hours of use: “pressure spots” occasionally develop after the laptop is sitting closed for awhile. These are little bright-white spots that seem to be something inside the LCD screen touching up against some of the electronics of the screen. It results in a visual artifact that looks like a smudge, but it slowly goes away.
Strangely, these pressure spots immediately go away if you push on them from behind the screen. (This doesn’t exactly inspire confidence for long-term durability.) I Google’d around online, and saw that a lot of people see pressure spots develop on the X1 Carbon screens, sometimes 3 or 4 at a time. It’s the source of many screen replacement RMAs from Lenovo. Not cool. I’m not going to worry too much about it since I use my laptop for extended periods in “docked” mode with real displays, but I imagine at some point I’ll start to see these develop on my screen, too.
Finally, aside from the pressure spots, the other problem with the extra-thin screen is how sensitive it is to motion. On a perfectly flat surface and with my palms rested firmly on the laptop, the screen doesn’t wobble at all when I type. But if the laptop is rested on my lap, on an uneven surface, or if I’m typing extra-hard or the screen’s at certain extra-loose hinge angles, it’ll wobble. This is disappointing, and really triggers one’s “light OCD” as a writer and programmer.
This is also the source of some RMAs… apparently some Lenovo technicians even know some tricks for “tightening the hinges” to make the screen a little more stable, but I think the root issue is just how thin it is. When you tap the bezel, for example, it wobbles like a metronome. It’s just wafer-thin and thus has that physics about it.
The most absurd example of screen wobbling is when I decided to work outside on a light-windy day. Maybe 10 mile-per-hour winds. The wind managed to wobble the screen! I wouldn’t be touching the laptop, but the screen would quiver in the wind. I mean, c’mon. This is ridiculous. Don’t shave tenth-of-inches and turn the screen into a damn wind sail!
I’d gladly take the modicum of extra thickness to have this thing stay much more stably and firmly in place, like the X220’s does. But, alas.
At the end of the day, though, these really small complaints, in the grand scheme of things. I can ensure non-screen-wobbliness by using flat surfaces and (usually) working indoors. Apparently 0 mile-per-hour wind and perfectly-flat surfaces are the cost of portability!
I hope I can void the “pressure spots” by just making sure not to inflict any damage on the top-side of the screen itself. But I’m not too confident about that. I’m also just hoping that the laptop lasts a solid 2 years despite these minor issues, so then I can skip over to the 5th generation once it, too, becomes a Linux-usable “prior generation” model.
Speaking of the 5th generation X1 Carbon, let’s talk about that model.
X1C 5th Gen: will be nearly-perfect in 2 years
I suspect that by 2018/2019, I’ll be able to acquire a used or factory outlet X1 Carbon 5th generation for a reasonable price, and that it’ll be an excellent Linux laptop for that year.
USB-C/Thunderbolt will start to appear everywhere, and this laptop will be well-equipped for that. That will also cover my docking options to monitors, keyboards, ethernet, and the like.
The thinner bezel and similar screen will give me the same good characteristics I describe above, but the early reviewers suggest that the hinge setup has been improved to reduce wobble, and the actual screen internals have been upgraded. This might mean that the pressure spot issue goes away entirely — one can hope, but only time will tell!
There were also some minor improvements to the palm rest area and touchpad, which are probably welcome.
But in 2 years, I expect the Linux support for that laptop will also be excellent, and the after-market prices will be such that I can even acquire a 16 GiB of RAM + 1 TiB SSD model (my X1C 4th Gen has half of each), while still using the Intel i7 architecture for high clock speeds. So, it’ll be great. It’s something to look forward to.
Maybe it’s finally the year of the Linux desktop?
Well, who knows? But, at the very least, Lenovo has my business for another 3-5 years. And they will continue to do so as long as the basics continue to remain important: great keyboard, great input devices, great screen. Ignore the fads around touchscreens, convertibles, and the like. Stick with matte IPS displays and excellent keyboards. Continue to improve battery, cooling, and performance. This is what Lenovo’s customers expect and this is what I’ll continue to expect.
So, fine! It’s the year 2017, and it may be the year of the Linux desktop, thanks to Lenovo! The 2016 X1 Carbon is a far cry from the 2003 T40 released 13 years prior. And it’s not nearly the sturdy, hackable, keyboard-envy inspiring machine the x220 was. But it’s still an excellent line of laptops and one of the only choices for the snobby price-insensitive Linux user, especially when it comes to bright matte screens, good keyboards, and nondescript industrial style. Let’s hope an option this good remains on the market through 2020.
p.s. The Verge did a nice in-depth review of the 5th gen Lenovo X1C. If Lenovo keeps it up — iteratively refining this line rather than making broad design changes — this could be the top developer laptop to get for the foreseeable future.
If you’re running gnome-shell you may as well just use gdm. The reason most people use lightdm is because gdm runs a gnome-shell instance as the greeter screen. If you’re running gnome-shell as a desktop env anyway, you may as well just use the gnome display manager too.
Update from Aug 2021:
Should mention here that I’ve now owned the 4th gen, 7th gen, and 8th gen X1C models, and they all ran Linux quite well. One small annoyance is the need to run throttled (source here: https://github.com/erpalma/throttled) to work around CPU throttling issues on 6th, 7th, and 8th gen models, but it’s a relatively minor annoyance. I should also mention that the “screen pressure” and “screen wobble” issues I described in the 4th gen in this blog post was mostly gone in the 7th gen, and really & truly gone in the 8th gen. The 8th gen has a very solid construction to the screen and screen hinge.
In addition, I now use the 8th gen model with the somewhat pricey ThinkPad Ultra Docking Station, as documented here: https://accessorysmartfind.lenovo.com/#/products/40AJ0135US
This makes it possible to dock the laptop for charging, get true gigabit ethernet pass-thru to the built-in gigabit adapter, and also be able to drive a 4K monitor via Displayport and use several USB 3.1/3.2 devices via USB-A and USB-C connections. Works flawlessly with Linux, as well. This particular dock works with both the X1C 7th gen and 8th gen.
Information on the 8th gen is on Arch Wiki here: https://wiki.archlinux.org/title/Lenovo_ThinkPad_X1_Carbon_(Gen_8)