Back to Linux - Adventures with the X1 Carbon

A review of getting a new 6th-generation X1 Carbon set up with Ubuntu Linux
computing productivity open source

Since starting my adventures in statistics and data science (over the last 5 years or so), I’ve spent nearly all of my working time fiddling with Apple’s macOS – well, OS X when I started – machines. After cycling through a couple Apple machines, I settled on a 2015 “new” (at the time) Macbook, working on which turned out to be a disaster. (I mean, battery life of ~3 hours, seriously?) Having grown fed up with this, I just recently decided to go back to Linux – and, after some not-so-careful research, I settled on Lenovo’s 6th-generation X1 Carbon. For ease of use, I decided to go with Ubuntu 18.04 (“Bionic Beaver”) on this machine, and so began the trouble and pain of turning the X1 Carbon into a Linux box.

As great a programming/computing experience as my X1 Carbon now offers, there were a few less-than-ideal steps in getting it set up. Here’s a few things that didn’t go so great.

Really, why disable “regular” sleep, Lenovo?

It turns out that in a fit of hopeless modernism, Lenovo decided to axe the normal S3 sleep state in transitioning between the 5th and 6th generations of the X1 Carbon. The standard S3 sleep state was removed in favor of a newer sleep state (that does not actually induce “deep sleep”) that works well with modern Windows system. It’s too bad not everyone wants to run Windows on the quality hardware that Lenovo’s producing with the X1 Carbon…

Thankfully, the great folks of the Arch community have put together a patch that can be applied to the X1 Carbon to restore the standard S3 sleep state. The procedure is very well documented and described in detail in this blog post (https://delta-xi.net/#056). Unfortunately, in order to enable the patch (the acpi_override described in the linked post), it must be manually added to the boot/grub/grub.cfg file, which itself gets overwritten every time your preferred Linux distribution (Ubuntu, in my case) updates the kernel, as this process itself requires re-writing the GRUB configuration file.

Since Ubuntu 18.04 implements kernel updates rather quickly, I’ve had to go through this process ~2 times in the couple months that I’ve had my X1 Carbon. It’s easy to see that this process might get rather annoying over time.

There’s a few other oddities that were initially frustrating when getting the X1 set up, but thanks to the good folks of the Arch community, there’s an extremely helpful wiki page that cover pretty much anything you might feel like tweaking: https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6).

Configuration/Pricing (vs. Apple)

Here’s just a few important configuration details on my customized X1 Carbon:

The closest thing I could find amongst Apple’s products (the new 15-inch Macbook Pro) offered these specs:

…All together, escaping the Apple ecosystem and saving ~$1300 is more than enough compensation for this small amount of tweaking I’ve had to do to get the X1 Carbon sufficiently set up.

2018 - a midyear review

A midway review of my professional life in 2018
statistics graduate school productivity

Taking blogdown for a test drive

Trying out RStudio's new blogging framework
R data science tools productivity

A shell called xonsh

A review of Xonsh, a new Python-facing shell
tools productivity computing
comments powered by Disqus