Skip to content

Instantly share code, notes, and snippets.

@klingtnet
Last active February 17, 2020 20:45
Show Gist options
  • Save klingtnet/4ae9b4b5d71972a68ff622d15fe97275 to your computer and use it in GitHub Desktop.
Save klingtnet/4ae9b4b5d71972a68ff622d15fe97275 to your computer and use it in GitHub Desktop.
Lenovo X1 Carbon 5th Gen. (X1C5) Fixes for Arch Linux

Lenovo X1 Carbon 5th Gen. (X1C5) Fixes for Arch Linux

Almost everything of this awesome machine works out of the box. But, it is still bleeding edge hardware so not everything is already supported in the stable kernel. This list should help to fix the most annyoing problems, which are not much.

BIOS Update

Download the latest BIOS version for your model, visit pcsupport.lenovo.com, enter your products serial number (e.g. 20HR-), goto Drivers&Utilies and download the BIOS. I am not sure about the next step because Lenovo already provides a bootable CD image but I followed did run this instruction and the BIOS updated worked flawless, so here it is: geteltorito.pl -o converted.img n1mur10w.iso where n1mur10w.iso is the name of your bootable BIOS update image. Next simply copy converted.img on an USB drive by running dd if=converted.img of=/dev/sdX or cat converted.img > /dev/sdX where sdX is the device file of your USB drive (in doubt use lsblk). Reboot, press F12, boot from the USB drive, cross fingers and pray that everything works.

Touchpad

UPDATE: The Elantech touchpad works out-of-the box in kernel 4.14+ if kernel parameter psmouse.synaptics_intertouch=1 was set. Refer to your bootloader's documentation on how to set a kernel parameter, e.g. for GRUB2 you can edit GRUB_CMDLINE_LINUX in /etc/default/grub and regenerate your GRUB configuration to make the change persistent.

The touchpad and trackpoint either don't work completely or the cursor only responds sometimes. A small kernel patch fixes this problem, unfortunately it is not merged in the latest stable kernel, thus you need to built your own one. But, this is no problem at all it only takes about an hour. Some nice person already provided an AUR that builds everything for you:

$ MAKEFLAGS=-j4 pacaur -S linux-tp-x1-carbon-5th linux-tp-x1-carbon-5th-headers
# wait an hour
$ reboot 0
# be happy

Ethernet Port of Thunderbolt 3 Docking Station

UPDATE: Driver is included in Kernel 4.14

The adapter for the integrated ethernet port works out of the box but the one in the docking station is not recognized at all. As often, a driver is missing. This is also easily fixed because you can simply install the following AUR package:

$ pacaur -S r8152-dkms
$ reboot 0
# be happy

Show the BIOS Version

$ dmidecode -s bios-version 

Use a Larger Terminal Font for GRUB

At first, create a nice bitmap version of your favorite font:

$ grub-mkfont -s 24 -o /boot/grub/fonts/FantasqueSansMono.pf2 /usr/share/fonts/TTF/FantasqueSansMono-Regular.ttf

Then add or edit the following line in your /etc/default/grub:

GRUB_FONT=/boot/grub/fonts/FantasqueSansMono.pf2

Update grub:

$ grub-mkconfig -o /boot/grub/grub.cfg
# voila!

KMS (Kernel Mode Setting) Font too Small

Set the font in /etc/vconsole.conf:

# From the terminus-font package
FONT=ter-i28n

I you are unsure what the name of the font is, call setfont <name> in a tty. The terminal should change immediately on success. You can also show the bitmap font's characters by calling showconsolefont.

Restart systemd-vconsole-setup to update all TTY's after you finished editing /etc/vconsole.conf.

It is also good advice to load the consolefont hook in /etc/mkinitcpio.conf so the font is already loaded in early boot, e.g. when you're prompted to enter your LUKS password.

Also, make sure that the i915 is added to the MODULES list in /etc/mkinitcpio.conf. Don't forget to create a new initramfs afterwards: mkinitcpio -p linux or this mkinitcpio -p linux-tp-x1-carbon-5th if you use the kernel with patched touchpad driver.

USB and/or Thunderbolt 3 Not Recognized

If the USB and/or Thunderbolt 3 devices connected to your docking station are not recognized then you may forgot to activate them in the BIOS. You can enter the BIOS menu by pressing F1 (yeah, there is no ThinkVantage button anymore 😑 ) Also make sure that the Security level is set to No Security in the Config page!

Config → Thunderbolt 3 → Support in Pre Boot Environment → Thunderbolt.../USB Enabled

Random freezes in Wayland and X11

Make sure that you pass i915.enable_psr=0 to your kernel to disable Panel Self Refresh which will cause your system to freeze periodically, even in TTYs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment