Lenovo X1 Carbon and Ubuntu 18.04
Published: 2022-09-20 17:07:09

---
title: Lenovo X1 Carbon and Ubuntu 18.04
published: true
date: 2018-05-14 00:00:00 UTC
tags: 
canonical_url: https://jonfriesen.ca/articles/lenovo-x1c6-ubuntu
---

> **Update September 17, 2022**   
> This article is severely out of date. The latest LTS Ubuntu versions have excellent support for the Lenovo X1C6. I will no longer be updating this article.

Out of the box, Lenovo's 2018 X1 Carbon is a beautiful machine. Designed with Windows in mind, it leaves some tweaking to get it working just right on most Linux distros.

> This post will be updated as the OS/hardware support increases.

## Better WQHD support

Linux doesn't do high resolution well, at least, not yet. We can hope for fractional scaling in the near future, but it looks like a fairly significant change way upstream.

> There is hope for future fractional scaling support with [these](https://gitlab.gnome.org/GNOME/mutter/merge_requests/3) [two](https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/5) code changes

For now, I'm making do with some hacky configurations:

1. I'm running Ubunut 18.04 (on Gnome), install the gnome tweak tools

```
sudo apt install gnome-tweak-tool

```

1. Under font, increase the scaling to 1.6 (or whatever floats your boat)
2. Open Ubuntu display settings and reduce the scale to 100%
3. In Ubuntu dock settings adjust the size to your preference

This should provide a bearable experience until we get authentic fractional scaling. The menu bar icons are still very small and some applications are difficult to use, but the majority works great.

## Supporting Sleep & Battery Life

**Update - September 7, 2018:** Lenovo has release a new BIOS version 1.30 which provides the ability to fix this issue.

To update your BIOS on Linux run and restart your computer, the update process will take about 5 minutes:

```
fwupdmgr refresh
fwupdmgr update

```

after the update is complete restart and set your `Sleep State` to linux, it's located in:

```
Config > Sleep State > Linux

```

Press F10 to Save and Exit.

**Warning: the below steps are not necessary, but kept for historical refernece**

The X1C6 doesn't natively support the S3 sleep state. This was discussed in the [lenovo forums](https://forums.lenovo.com/t5/Linux-Discussion/X1-Carbon-Gen-6-cannot-enter-deep-sleep-S3-state-aka-Suspend-to/td-p/3998182) in great detail and it doesn't look like we are getting a BIOS patch anytime soon. But that didn't stopped several hackers from making their own.

This patch updates the [DSDTs](https://wiki.archlinux.org/index.php/DSDT) to support S3 which signiticaly extends your deep sleep battery life.

> **Update August 1 2018 - fiji-flo creates a fancy script**

> Fiji-flo has created a nice little script to get this patch applied in a jiffy found here: [x1carbon2018s3](https://github.com/fiji-flo/x1carbon2018s3)

Head over to [fiji-flo's](https://delta-xi.net/#056) instructions, but cover my notes before.

Here's some of my notes on applying the patch:

- make sure you have a recent version of `iasl`
- on step five, I failed on hunk 7, not 6 as in the post but solved it using the instruction left for if hunk 6 fails (remove the 2 "One" lines in the generated dsdt.dsl)
- in step 8, the `/acpi_override` that is being added is the location of the `acpi_override` that you copied to `/boot` on step 8, so this addition should actually be `/boot/acpi_override`

Improving battery life can be done by disabling some hardware in the BIOS:

- Memory Card Slot (this is the most significant)

```
Security > I/O Port Access > Memory Card Slot

```

- Fingerprint Reader (no support in Linux yet anyway)

```
Security > I/O Port Access >Memory Card Slot

```

- Wireless WAN (I don't use this, and was concerned it would still poll the SD Card slot because they are the same)

```
Security > I/O Port Access > Wireless WAN

```